Java虚拟机
wchstrife
现实如果对你不公
别计较太多
走吧 暴风雨后的彩虹
展开
-
理解Java虚拟机#1 内存模型
一、前言Java作为一门后端语言,服务器端难免涉及到并发的问题,之前接触并发同步等问题是从操作系统课上学到的,在学习了相关知识后认识到无论是OS的进程调度还是JVM的线程调度都有相同之处,同时本文以《深入理解Java虚拟机》为基础。回忆一下在OS中存储结构:由于CPU和存储器的速度的不匹配,所以在CPU和主存中间加了高速缓冲器(Cache)。Cache中的内容是主存中的一个副本,于是就会...原创 2019-03-08 10:57:17 · 112 阅读 · 0 评论 -
理解Java虚拟机#2 Java线程与锁机制
线程是比进程更加轻量级的调度执行单位。进程是分配资源的单位,各个线程可以共享进程的资源(内存地址等)线程是调度的最小单位,减少了进程切换的开销在Java中,每一个执行了start()还未结束的Thread类的实例就代表了一个线程一、线程的实现1.1 使用内核线程实现当程序的线程和内核线程是一对一的关系,程序使用的内核线程的接口叫做轻量级进程(Light Weight Process L...原创 2019-03-26 16:40:35 · 158 阅读 · 0 评论 -
理解Java虚拟机#3 Java内存分配
Java内存分配一、运行时数据区域众所周知,程序的运行要把数据和代码装入到内存中运行,所以明白程序执行过程中内存是如何分配的是很有必要的。Java虚拟机中,根据不同对象的特点,将内存划分为不同的数据区,如下图:其中,方法区和堆区是所有线程共享的区域,随着虚拟机进程的启动而存在。栈区和PC是线程私有的,随着用户线程的启动和消亡。1.1 程序计数器(PC)与OS中PC的作用一样,每个线...原创 2019-03-27 17:37:03 · 215 阅读 · 0 评论