![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JVM
文章平均质量分 73
JVM
starriesWEB
啥也不是
展开
-
栈,堆,GC算法
文章目录栈(Stack)什么是栈栈中存放什么栈帧(Stack Frame)当前栈帧(Current Stack Frame)局部变量表操作数栈动态连接方法返回地址堆(Heap)什么是堆GC算法什么是GC轻GC()重GC()引用计数法复制法标记清除压缩法总结分代收集算法栈(Stack)什么是栈栈是一种后入先出(LIFO)数据结构,只能在一端对数据项进行插入和删除这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从原创 2021-02-24 20:59:46 · 200 阅读 · 0 评论 -
native和方法区
沙箱机制(sandbox)沙箱是一个限制程序运行的环境.沙箱机制就是将java代码限定在虚拟机(JVM)特定的环境中,并且严格控制代码在本地资源的访问及调用,以达到对代码进行强制隔离,防止破坏本地系统nativenew TestThread1().start();查看start()方法源码可以看到public synchronized void start() { //如果线程是新生状态就把这个线程添加到组 if (threadStatus != 0)原创 2021-02-22 17:22:14 · 146 阅读 · 0 评论 -
类的加载
类加载的过程加载==>链接==>初始化加载将class文件以字节码的方式加载进内存,并将这些静态数据转换成方法区的运行时数据结构,然后生成这个类的Class对象链接验证:确保加载类的信息符合JVM规范,没有安全方面的问题准备:为类变量(static)分配内存并设置默认值,这些内存都在方法区进行分配解析:虚拟机常量池内的符号引用(常量名)替换为直接引用(地址)初始化执行类构造器的<clinit>()方法.类构造器的<clinit>()方法是由编译器自动原创 2021-02-21 14:28:18 · 65 阅读 · 0 评论 -
类加载器及双亲委派机制
new对象jvm中的实现Pojo pojo = new Pojo();类加载器加载Pojo.class(类),得到Class(类对象[类模板,只加载一次,每次实例化对象都通过它实现]),再通过Pojo类对象实例化pojo对象,实例化后的pojo在栈,new Pojo()在堆,new出来的都在堆,堆中的数据都有一个十六进制的地址值,栈中的pojo对应new Pojo()的地址值类加载器虚拟机自带的加载器启动类(根)加载器扩展类加载器应用程序(系统)类加载器获取类加载器public st原创 2021-02-19 22:16:26 · 77 阅读 · 0 评论