深入了解java虚拟机学习笔记
ay_silence
这个作者很懒,什么都没留下…
展开
-
1_ 了解java
来自<<深入了解java虚拟机>>:Java不仅是一门编程语言, 也是一个由一系列计算机软件和规范形成的技术体系java技术体系包括(这是sun公司定义的) Java程序设计语言 各种硬件平台上的java虚拟机 Java API类库 Class文件 各种第三方Java类库 >其中前三部分共同统称—...原创 2018-03-12 11:16:10 · 147 阅读 · 0 评论 -
3_HotSpot虚拟机 对象创建
对象创建new指令 (new一个对象)检查这个指令的参数是否能在常量池中定位到一个类符号引用检查此符号引用代表的类是否被加载,解析,初始化过否:执行相应的类加载是(类被加载过后),虚拟机为新生的对象分配内存(大小在类加载时确定),把某大小的堆内存划分给此对象 5.1. 如果堆内存整齐划分:分配内存实质是把指向空闲内存的指针移动该对象大小相等的位置,这种分配方式叫指针碰壁 5.2 ...原创 2018-03-12 11:16:54 · 186 阅读 · 0 评论 -
2_Java运行时数据区
概述 :Java将new的对象的管理权交由Java虚拟机,so对于Java程序员,不需要写配套的delete/free代码,不容易出现内存溢出或泄露,但是一旦出现了,就需要了解虚拟机如何使用内存来排除bugJava虚拟机在执行程序时会把管理的内存划分为多个不同的数据区域,1.程序计数器—>线程私有的区域占用内存较小,作用是作为当前线程执行的字节码的...原创 2018-03-12 11:17:14 · 190 阅读 · 0 评论 -
利用mutex实现进程对缓冲区的互斥作用
1.记录型信号量方法定义:semaphore: 信号量wait:(P操作)申请资源signal:(V操作)释放资源S:可用资源数目;当S<0, 表示有某些进程正在等待该资源,S的绝对值表示当前等待资源的进程数mutex:互斥信号量(互斥锁)empty: 表示缓冲池中空缓冲区数量full:表示缓冲池中满缓冲区数量(这两个称为资源信号量)临界区:每个进程中访问...原创 2018-03-12 11:18:01 · 816 阅读 · 0 评论