JVM
shichangle01
弱小和无知不是生存的障碍,傲慢才是。
展开
-
java内存模型
TPS:每秒事务处理器; Java内存模型:Java虚拟机规范中试图定义一种java内存模型来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让java程序在各种平台下都能达到一致的内存访问效果。 主内存与工作内存:java内存模型主要是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。 java内存模型规定了所有的变量都存储在主内存中。每条线程还有自己的工作内存。线程,主内存,工作内存的关系为:java线程->工作内存->主内存。 这里所讲的工作内存等与原创 2020-12-23 09:15:30 · 76 阅读 · 0 评论 -
类加载机制
类加载机制 类加载的时机 类被加载到虚拟机内存,到卸载出内存为止,整个生命周期包括:加载、验证、准备、解析、初始化、使用以及卸载7个阶段。 虚拟机规定了5种情况必须立即对类进行加载: 1、遇到new,getstatic,putstatic,invokestatic四条字节码指令,如果类没有进行初始化,则先触发其初始化。其中,被final修饰的字段,已在编译期把结果放到常量池。 2、使用java.lang.reflect包的方法对类进行反射调用的时候,如果类没有进行初始化,则需要触发其初始化。 3、当初始化一原创 2020-12-23 09:13:01 · 78 阅读 · 0 评论 -
垃圾回收器与内存分配策略
垃圾回收器与内存分配策略 哪些内存需要回收? 什么时候回收? 如何回收? 判断对象已死吗? 引用计数算法 在对象中添加一个计数器,引用加一,失效减一,当数值为0的时候不再使用;弊端是无法解决对象间的循环引用问题。 可达性分析算法 有一个GC Root,通过GC Root为起点,从这些节点向下搜索,搜索走过的路径成为引用链,当一个对象到GC Root没有任何的引用链时,则称为改对象不可用。比如a b 相互引用,但是与GC Root没连接,所以判定为可回收。 引用 强引用、软引用、弱引用、虚引用。 生存还是死亡原创 2020-12-16 18:16:48 · 90 阅读 · 1 评论