All too well

进程与线程

1. 进程与线程 1.1 进程 process Q: 什么是进程 ? 进程的定义,一直以来没有完美的标准。 进程是程序的一次执行。应用程序以进程的形式,运行于操作系统之上,享受操作系统提供的服务。 程序由指令和数据组成,指令要运行,数据要读写,则必须将指令加载到 CPU 中,数据加载到内存中。指令运行过程中还需要用到硬盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO...

性能调优

调优步骤 P192 衡量系统现状 随着系统数据量的不断增长,访问量的不断提升,系统的响应通常会越来越慢,又或是编写的新的应用在性能上无法满足需求,这个时候需要对系统的性能进行调优。调优过程是一个相当复杂的过程,涉及很多的方面:硬件、操作系统、运行环境软件以及应用本身,通常调优的步骤如图所示 调优前首先要做的是衡量系统现状,这包括目前系统的请求次数、响应时间、资源消耗等信息,例如 A ...

Java 线程安全与锁优化

ch13 线程安全与锁优化 1 线程安全 可操作的定义: 当多个线程同时访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协作操作,调用这个对象的行为都可以获得正确的结果,那就称这个对象是线程安全的。 要求线程安全的代码: 代码本身封装了所有必要的正确性保障手段(如互斥同步等),令调用者无须关心多线程下的调用问题,...

性能监控与故障处理工具

虚拟机性能监控与故障处理工具 给一个系统定位问题的时候, 知识、 经验是关键基础, 数据是依据, 工具是运用知识处理数据的手段。这里说的数据包括但不限于异常堆栈、 虚拟机运行日志、 垃圾收集器日志、 线程快照(threaddump/javacore文件) 、 堆转储快照(heapdump/hprof文件) 等。恰当地使用虚拟机故障处理、分析的工具可以提升我们分析数据、 定位并解决问题的效率...

虚拟机字节码执行引擎

虚拟机字节码执行引擎 Owner: better 概述 “虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行实现的,因此可以不受物理条件制约地定制指令集与执行引擎的结构体系,能够执行那些不被硬件直接支持的指令集格式。 之前还有Java是解释型还是编译型一看就是不...