
深入理解java虚拟机
文章平均质量分 93
知行合一(-_-)
毕业与成都理工大学软件工程,熟悉vue,react,掌握前端打包技术webpack,了解常用的前端知识typscript,node.js,express,sass,react-native,pwa以及web性能优化、seo、javascript性能优化。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java内存区域及内存溢出异常
运行时数据区;对象的创建(new);对象的内存布局; 对象的访问定位原创 2018-10-14 19:39:47 · 255 阅读 · 0 评论 -
线程安全与锁优化——锁优化
文章目录一、自旋锁与自适应自旋二、锁消除三、锁粗化四、轻量级锁4.1 轻量级锁的执行过程五、偏向锁一、自旋锁与自适应自旋共享数据的共享时间只有很小一段时间,为此去进行线程挂起和恢复是不值得的。当计算机拥有一个以上处理器时,能让两个及两个以上的线程并行执行,我们就可以让后面请求锁的那个线程稍微等待一下,但不放弃处理器的执行时间,看看持有锁的线程是否很快就释放锁。为了让线程等待,只需要让线程执行...原创 2018-11-20 13:41:31 · 140 阅读 · 0 评论 -
Java内存模型与线程——Java与线程
文章目录一、线程的三种实现方式1.1 内核线程实现1.2 用户线程实现1.3 用户线程加轻量级进程实现二、两种线程调度的主要方式2.1 协同式调度2.2 抢占式调度三、用优先级确定线程先执行是不可靠的四、Java线程的状态java线程的实现是与平台相关的。因为Thread的很多关键方法都是native的。线程的引入将进程的资源分配与线程调度分开了。线程是cpu调度的基本单位,进程是资源分配的基...原创 2018-11-17 13:48:41 · 307 阅读 · 0 评论 -
线程安全与锁优化——线程安全
文章目录一、java中的线程安全1.1 不可变1.2 绝对线程安全1.3 相对线程安全1.4 线程兼容1.5 线程对立什么是线程安全?许多对线程安全的定义都不恰当,这是Brian Goetz的描述:当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程...原创 2018-11-19 14:13:04 · 232 阅读 · 0 评论 -
Java内存模型与线程——Java内存模型
文章目录一、主内存与工作内存1.1 Java内存模型中的变量1.2 主内存与工作内存二、主内存与工作内存间交互操作不同架构的物理机,可以拥有不一样的内存模型,而Java虚拟机也有自己的内存模型。Java虚拟机的内存模型是为了屏蔽硬件、操作系统的内存访问差异,让java程序在各种平台上都能达到一直的内存访问效果。一、主内存与工作内存1.1 Java内存模型中的变量Java内存模型的目标是...原创 2018-11-16 15:59:12 · 393 阅读 · 0 评论 -
Java内存模型与线程——硬件的效率与一致性,内存模型
文章目录一、先来一个问题,想要电脑快,买内存条还是固态硬盘?二、衡量一个服务性能好坏的标准之一三、硬件的效率与一致性3.1 硬件的效率与一致性问题是怎样出来的?一、先来一个问题,想要电脑快,买内存条还是固态硬盘?由于计算机存储设备的存取速度和CPU的计算速度差了几个数量级,那肯定是想方设法的去掉瓶颈呗!所以那当然买固态硬盘咯!。二、衡量一个服务性能好坏的标准之一那就是每秒事务处理数(Tr...原创 2018-11-14 14:31:28 · 242 阅读 · 0 评论 -
晚期(运行期)优化——HotSpot虚拟机内的即时编译器
解释器与编译器各自的优点;编译对象与触发条件; 热点代码; 热点探测原创 2018-11-12 15:47:30 · 249 阅读 · 0 评论 -
晚期(运行期)优化——Java与C/C++编译器比较
文章目录单从编译和执行上讲为什么说C/C++编译器比Java编译器快?因为Java中的即时编译器是要占用用户程序的运行时间的。Java是一门类型安全的语言,会进行很多的检查行为。如数组是否越界、检查空指针等虽然java中没有virtual关键子,但进行多态选择的频率远远大于C/C++。java是一门动态扩展的语言,运行是加载新的的类会改变程序类型的继承结构,所以一些激进优化不得不注意...原创 2018-11-13 16:41:42 · 212 阅读 · 0 评论 -
晚期(运行期)优化——编译优化技术
文章目录一、优化技术概览二、公共子表达式消除三、数组边界检查消除为什么编译方式执行本地代码比解释方式执行字节码快?虚拟机解释执行字节码需要额外消耗时间(难道是从字节码转换成机器码的时间,我有想到了池这种技术)虚拟机团队对代码所有的优化措施都集中在即时编译器之中。一、优化技术概览二、公共子表达式消除什么叫做公共子表达式消除?如果对于表达式E,如果之前计算过了,并且该表达式中的变...原创 2018-11-13 16:20:52 · 233 阅读 · 0 评论 -
早期(编译期)优化——语法糖的味道
泛型与类型擦除;自动装箱、拆箱;遍历循环原创 2018-11-11 13:10:23 · 216 阅读 · 0 评论 -
早期(编译期)优化——Javac编译器
编译期;解语法糖;解析与填充符号表;注解处理原创 2018-11-10 13:23:08 · 412 阅读 · 0 评论 -
虚拟机字节码执行引擎——方法调用
解析;解析阶段解析什么;分派原创 2018-11-06 15:27:47 · 210 阅读 · 0 评论 -
虚拟机字节码执行引擎——运行时栈帧结构
局部变量表;操作数栈;动态连接;方法返回地址;附加信息原创 2018-11-01 20:02:52 · 282 阅读 · 0 评论 -
类文件结构
类文件结构;魔数;常量池;属性表集合;方法表集合;原创 2018-10-27 10:51:20 · 720 阅读 · 0 评论 -
虚拟机加载机制之类加载器
在虚拟机中,类的唯一性是怎样确保的;双亲委派模型;破坏双亲委派模型原创 2018-10-31 11:19:30 · 236 阅读 · 0 评论 -
虚拟机加载机制——类加载的过程
加载;连接之验证;连接之准备;连接之解析;初始化原创 2018-10-30 21:45:37 · 200 阅读 · 0 评论 -
虚拟机加载机制——类加载时机
类的生命周期;类加载(初始化)的时机;主动引用、被动引用及被动引用的几个例子原创 2018-10-29 13:11:38 · 184 阅读 · 0 评论 -
垃圾收集器及内存分配策略
对象已死吗(什么时候进行垃圾回收?);引用计数;可达性分析算法;死还是不死; 回收方法区; 内存分配策略原创 2018-10-14 22:06:10 · 287 阅读 · 0 评论 -
VM options
文章目录-Xms512m-Xmx1024m-XX:PerSize=512MXX:MaxPersize=1024M-noverify参考文献刚参加工作,发现每次配置启动时,在都配置了。虽然也是知道是配置虚拟机的,可是具体有什么用,不晓得。特此记录一下。-Xms512m-Xmx1024m -XX:PerSize=512M -XX:MaxPersize=1024M -noverify...原创 2019-08-16 22:41:21 · 13024 阅读 · 1 评论