优化
wzcspace
这个作者很懒,什么都没留下…
展开
-
跟我一起学JVM(七)——类加载器
(一)类加载器类加载器的作用:将Class文件加载进JVM方法区,并在方法区中创建一java.lang.Class对象作为外界访问这个类的接口。类加载器的种类:(1)启动类加载器加载JAVA_HOME/lib下的class文件(2)扩展类加载器加载JAVA_HOME/lib/ext下的class文件(3)应用程序类加载器加载用户classpath下的class文件注意:比较两个...原创 2020-01-17 11:49:17 · 146 阅读 · 0 评论 -
跟我一起学JVM(六)——类的加载机制
类的生命周期加载-验证-准备-解析-初始化-使用-卸载类的初始化阶段,虚拟机严格规定了有且只有五种情况必须立即对“类”进行初始化,而加载和连接过程已经完成主动引用:(1)遇到new,getstatic,putstatic,invokestatic指令时,如果类未初始化,则要先触发初始化(2)使用Java.lang.reflect包的方法对类进行反射调用的时候,若未初始化则进行初始化(3...原创 2020-01-15 13:15:52 · 99 阅读 · 0 评论 -
跟我一起学JVM(五)——类文件结构
本章节内容涉及到一部分的计算机组成与设计,汇编语言以及Java语言的内容。1.无关性基石因为JVM只关注Class文件的解析运行,负责将Class文件转化成机器码与本机操作系统进行交互。所以任何语言只要能将程序编译成JVM接受的Class文件格式,就可以放到JVM上运行。现在市面上有很多将其他语言转化成JVM识别的字节码编译器,比如JRubyc,groovyc编译器等等。2. Class...原创 2020-01-13 20:44:24 · 142 阅读 · 0 评论 -
跟我一起学JVM(四)——JVM调优总结与实例
Java虚拟机对于内存的管理和垃圾收集是虚拟机结构中非常重要的一环,对提升程序的性能和稳定性有着非常重要的作用对于JVM的调优是没有正确答案的,需要根据项目的实际情况来配置合适的JVM参数。(一)尽量减少Full GC的发生通过之前的学习,我们知道老年代发生的GC速度比新生代速度慢十倍左右,那么如果想要提高性能,减少老年代的Full GC是非常有用的如何减少Full GC的发生?1.提高...原创 2020-01-12 15:33:22 · 202 阅读 · 0 评论 -
跟我一起学JVM(三)——垃圾收集,刻不容缓
本节的内容是Java虚拟机的核心——垃圾收集算法与垃圾收集器。现实生活中我们都要讲究垃圾分类,垃圾收集。计算机的内存空间就像现实生活中的储物室一样,存放杂物的同时需要定期清理,毕竟空间有限。那Java虚拟机在内存垃圾处理上面用到了哪些技术呢?让我们开始本章的学习。第一章Java虚拟机内存结构中我们学习了程序计数器,虚拟机栈以及本地方法栈都是线程私有的,会伴随线程的结束而自动释放空间,但是Ja...原创 2020-01-11 16:49:17 · 198 阅读 · 0 评论 -
跟我一起学JVM(一)——Java虚拟机的内存结构
Java编程语言的特性就是兼容各种平台,这也是Java得到不断发展的重要因素之一。有没有人想过为什么会兼容呢?在一开始接触Java的时候我们就需要安装Java virtual machine(JVM)以及JDK,平台兼容性的核心技术就在于JVM,因为Java程序是运行在JVM上,与操作系统之间的协调通信都是由JVM帮着完成的,所以只要由JVM的地方就能运行Java。趁着假期打算出一个对于Jav...原创 2020-01-09 22:06:37 · 164 阅读 · 0 评论 -
性能问题的思考
性能问题往往是非常难以解决的,主要由于生产环境复杂,造成问题的原因众多,定位问题比较困难。最近阅读了《性能之巅》,通过此文章来总结一下自己学习到的知识。通读整本书,发现操作系统的学习在性能问题排查上面将起到非常关键的作用,写代码的时候感觉操作系统层面的东西离我们有些遥远,但其实在性能分析这块很多知识点就都串联起来了,体现在对软硬件资源的分析上。首先上一幅自己绘制的脑图(全文的核心):性能问...原创 2020-01-08 16:55:26 · 413 阅读 · 0 评论