![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM学习
文章平均质量分 51
JVM学习
去西天求代码的唐僧
这个作者很懒,什么都没留下…
展开
-
jvm是什么
问题一:jvm对于Java程序来说是啥? java的字节码文件运行的地方 有这个jvm才是一次编写到处运行的基础 正是jvm对里,屏蔽了Java的字节码文件在操作系统上的不同,对外,提供了一样的操作环境。 自动内存管理,垃圾回收机制 数组下标越界异常检查 多态-虚方法表 … 问题二: jvm在jdk中, 或者说在java开发中处于什么位置? jvm + 基础类库 jre + 编译工具 jdk + ide se + 应用服务器 ee 问题三: 学习jvm有什么用? 理解底层原理 中高级Java原创 2022-02-18 23:47:44 · 166 阅读 · 0 评论 -
聊聊垃圾回收
what is garbage? 例如 引用计数法 python使用。 没有引用计数时,该堆空间成为垃圾 有毛病 如果垃圾之间相互引用,成为一堆垃圾,却没有其他的任何引用,这种方式就找不出来。 根可达算法 java使用 树的搜索算法, 从main的变量开始。 说白了,就是一个线程(的main方法)最开始创建的那些对象。就是root, 就是根. 清除算法 Mark-Sweep(标记清除) 逻辑简单, 但是有毛病, 碎片化严重 Copying(拷贝) 复制一份root能搜索到的到另一片内存, 原来这边全不要.原创 2022-02-16 23:00:08 · 109 阅读 · 0 评论 -
学习GC之前
先看一个图 一个程序在这个体系中的执行过程 当一个程序被运行起来时,os会将他加载(load)进内存,也就是一个进程,这个cpu和内存会一起为这个进程而服务,进程中将会有指令和数据,cpu就会并发的去执行内存里进程的指令或者读取数据,而进程中由具体分作好多线程,于是就由程序的栈和堆的概念。 所谓的栈就是线程栈,每个线程一个栈,这个栈中就是该线程执行的方法的地方,每一个方法在栈中又叫栈帧,每一个方法就是一个栈帧,so,不难理解,方法的调用其实就是栈顶指针上下移动的一个过程。 而在方法中将会产生好多变量,其实原创 2022-02-09 00:12:24 · 48 阅读 · 0 评论