
jvm
J-Proton
这个作者很懒,什么都没留下…
展开
-
JAVA类加载器总结
一个java类在系统中要面临编译和运行两种过程编译是指将java文件通过javac命令转换为字节码生成 .class文件而运行是将.class文件交给jvm虚拟机运行。类的加载就是运行的初期,jvm加载.class文件,解析生成对应的class对象,并把相关类的信息加载到内存里。jvm是加载类是按需加载,如果得到一个类,经过在自己的class文件中找不到相关的信息,他才会加载类的加载过程...原创 2019-11-09 20:37:09 · 274 阅读 · 0 评论 -
Java 虚拟机 垃圾回收
如何判断对象已是垃圾引用计数法引用计数法实现简单,判定效率也很高,但是JAVA虚拟机并没有用引用计数法来判断对象是否存活原理:给对象中添加一个引用计数器,每当一个地方引用他的时候,计数器的值就加一,当引用失效时就减一,任何时刻计数器为0时对象就是不可能被使用的。缺点:对于两个互相引用的对象无法当做垃圾收集,虽然他们再无任何引用。可达性分析算法原理:通过一系列的称为“GC Roots”...原创 2019-12-16 19:52:16 · 179 阅读 · 0 评论 -
Java JVM 内存溢出Oom
Java 虚拟机的默认内存分配:-Xms 设置初始化默认内存,初始默认为物理内存的1/64-Xmx最大分配内存,初始为物理内存的1/4验证:本机的实际内存为16G:public class Test { public static void main(String[] args) { long maxMemory = Runtime.getRuntime().ma...原创 2019-12-07 16:05:49 · 263 阅读 · 0 评论 -
java JVM 对象与内存
对象的创建一 判断是否需要类加载虚拟机遇到new 指令时,先去常量池中检查有没有这个类的符号引用,并且检查这个符号引用代表的类是否已被加载,解析和初始化过。如果没有,必须先执行类加载过程二 对象内存的分配在确定了对象的空间大小之后,为对象分配空间的任务等同于把一块确定大小的内存从Java堆中划分出来。分配的方法有两种,取决于Java堆所采用的垃圾收集器是否带有压缩整理。如果用Seria...原创 2019-12-05 22:32:46 · 219 阅读 · 0 评论 -
java JVM 系统架构
类加载器这里写过:https://blog.youkuaiyun.com/qq_30519765/article/details/102990891本地方法接口本地方法接口的作用是融合不同的编程语言为java所用,因为当一些功能必须调用c++本地方法是,所以就在内存中专门开辟出一块区域处理标记为native的代码...原创 2019-12-04 21:08:09 · 185 阅读 · 0 评论