JVM 垃圾回收算法和垃圾回收器。 一、垃圾回收的区域 栈:栈中的生命周期是跟随线程,所以一般不需要关注。 堆:堆中的对象是垃圾回收的重点。 方法区:这一块也会发生垃圾回收,不过这块的效率比较低,一般不是我们关注的重点。 二、怎么判断对象的存活 一般有两种方式(引用计数法、可达性分析),JVM使用的 ...
分类:
编程语言 时间:
2021-06-13 10:10:08
阅读次数:
0
一、JVM 二、Java集合 三、Java多线程并发 四、Java基础 五、Spring原理 六、微服务 七、Netty与RPC 八、网络 九、日志 十、RabbitMQ 十一、MongoDB 十二、设计模式 十三、负载均衡 十四、数据 十五、Java算法 十六、数据结构 十七、Hadoop 十八、 ...
分类:
编程语言 时间:
2021-06-13 10:00:32
阅读次数:
0
JVM中的对象。 一、对象的创建过程 检查加载 → 分配内存 → 内存空间初始化 → 设置 → 对象的初始化 1. 检查加载 虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那么必须先执 ...
分类:
其他好文 时间:
2021-06-11 18:58:43
阅读次数:
0
JVM (Java Virtual Machine) 基础篇 内存结构 程序计数器 定义: 当前线程所执行字节码的行号指示器,指向下一个要执行的指令代码 **一个线程的执行,是通过字节码解释器改变当前线程的计数器的值,来获取下一条需要执行的字节码指令,从而确保线程的正确执行**。 为了确保线程切换后 ...
分类:
编程语言 时间:
2021-06-10 18:12:02
阅读次数:
0
双亲委派 当一个类收到了类加载请求,他首先不会尝试自己去加载这个类,而是把这个请求委派给父 类去完成,每一个层次类加载器都是如此,因此所有的加载请求都应该传送到启动类加载其中, 只有当父类加载器反馈自己无法完成这个请求的时候(在它的加载路径下没有找到所需加载的 Class),子类加载器才会尝试自己去 ...
分类:
其他好文 时间:
2021-06-10 17:33:01
阅读次数:
0
众所周知,java是基于JVM的开发语言,但能够在JVM上运行的开发语言不仅仅有java,目前还有很热门的kotlin(kotlin不仅仅只能开发Android)、scala、groovy等等。目前国内主要的web开发语言还是以java居多,作为主流的面向对象开发语言,不可否认能够被工业社会所全面接 ...
分类:
编程语言 时间:
2021-06-09 15:34:36
阅读次数:
0
#大家还记得JVM中堆的结构图吗? 图中展示了堆中三个区域:Eden、From Survivor、To Survivor。从图中可以也可以看到它们的大小比例,准确来说是:8:1:1。为什么要这样设计呢,本篇文章后续会给出解答,还是根据垃圾回收的具体情况来设计的。 还记得在设置JVM时,常用的类似-X ...
分类:
编程语言 时间:
2021-06-08 22:24:11
阅读次数:
0
flyfhj 2019-01-25 09:56:00 31335 已收藏 10版权关于JVM参数-XX:SurvivorRatio的理解JVM参数中有一个比较重要的参数SurvivorRatio,它定义了新生代中Eden区域和Survivor区域(From幸存区或To幸存区)的比例,默认为8,也就是 ...
分类:
其他好文 时间:
2021-06-07 20:39:20
阅读次数:
0
那么我们在开始介绍Java内存区域之前,我们先放一张内存区域的图,方便我们后面介绍的时候可以对照着看。 须知,本文是根据JDK8来介绍的。 程序计数器 首先它是线程私有的,它也称为代码的行号指示器,字节码解释器就是通过改变程序计数器的位置来确定下一行要执行的代码,它不存在OOM。 如果线程正在执行一 ...
分类:
其他好文 时间:
2021-06-07 20:29:28
阅读次数:
0
? 本质:参数化类型 泛型的擦除: ? 泛型只在编译阶段有效,编译之后JVM会采取去泛型化的措施. ? 泛型在运行阶段是没有效果 泛型通配符的介绍 概念 泛型的类型擦除 泛型只在编译阶段有效,泛型类型在逻辑上可看成是多个不同的类型,但是其实质都是同一个数据类型 编译之后程序会采取去泛型化的措施 泛型 ...
分类:
编程语言 时间:
2021-06-07 20:27:25
阅读次数:
0