#引言 垃圾回收(GC,Garbage Collection) 在笔者上一篇文章中(JVM内存模型),介绍了JVM内存模型以及JVM运行时的数据区,堆是JVM内存区域里面最大的一块区域,用于存放实例数据,因此这一块区域是垃圾回收的重点区域,而堆为了提高垃圾回收效率,又被分为了年轻代和老老年,年轻代又 ...
分类:
其他好文 时间:
2021-05-24 07:35:23
阅读次数:
0
首先给出结论,当定义基本数据类型的变量并且同时赋值的时候,该变量是无法通过反射更改. 此时由于JVM编译优化机制,任何引用该变量的地方得到都是常量,上简单代码: 定义三个final变量,其中两个为基本数据类型(int和string) public class TestReflection { fin ...
分类:
其他好文 时间:
2021-05-24 05:17:08
阅读次数:
0
当你处在最低谷时,不管往哪里走,都是进步! java类加载及双亲委派机制 java类加载流程 执行javac命令,启动java编译程序,将.java源代码文件编译为jvm可识别的.class字节码文件。 (我们用idea、eclipse编码出的就是.java源文件,启动后。target文件夹下就是编 ...
分类:
编程语言 时间:
2021-05-24 04:30:20
阅读次数:
0
FRAME ##Local Variables 局部变量表也被称之为局部变量数组或本地变量表,定义为一个数字数组,主要用于存储方法参数和定义在方法体内的局部变量,这些数据类型包括各类基本数据类型、对象引用(reference),以及returnAddress类型。局部变量表中的变量只在当前方法调用中 ...
分类:
其他好文 时间:
2021-05-24 04:15:58
阅读次数:
0
本文由【犀牛内推】公众号整理,内部资料,注意保密?? 获取更多内推咨询及笔经面经,欢迎关注! JVM jvm分区模型 首先是模型分成哪几块,堆 栈等等。。 哪些是线程私有的哪些是共有的 1.6之前和现在1.8哪些地方做了改动(主要是静态区的变化) 垃圾回收 三种回收算法 常见的垃圾回收器 root引 ...
分类:
编程语言 时间:
2021-05-24 04:15:45
阅读次数:
0
##JVM 没什么好说的,所有java程序不管是什么框架也好、中间件也好,都是跑在jvm上的,成为java领域的专家不能不会JVM ##Java Collection jdk里边的集合的实现原理、源代码中包含了很多算法和数据结构的知识,属于语言的基本功,很基础,面试经常问。 ##多线程并发、NIO ...
分类:
编程语言 时间:
2021-05-24 03:11:23
阅读次数:
0
Java虚拟机的基本结构 java虚拟机架构 启动Java虚拟机 java [-option] class [args...] Options: Java虚拟机启动参数 Class: 带有main方法的Java类。 args: main方法的参数 Java堆 几乎所有的对象都在堆中。 根据垃圾回收机 ...
分类:
其他好文 时间:
2021-05-24 03:01:16
阅读次数:
0
#类加载 ##加载过程 ###1.加载Loading 通过一个类的全限名获取此类的二进制字节流 将字节流所代表的静态存储结构转化为方法区(1.8为元空间实现,1.8前永久代)的运行时数据结构 在内存中生成代表该类的java.lang.Class对象,作为方法区这个类的访问人口 ###2.连接Link ...
分类:
其他好文 时间:
2021-05-24 02:37:26
阅读次数:
0
在其他什么 改jvm-options等操作下无效 修改Tomcat安装目录下的conf文件中的logging.porperty文件中的内容: 把需要修改的乱码log信息,对应的位置进行修改,我的是需要把UTF-8修改为GBK。 第28行,把UTF-8改为GBK 第33行,把UTF-8改为GBK 第4 ...
分类:
其他好文 时间:
2021-05-24 02:29:02
阅读次数:
0
前言 对象是Java中最常被提到的概念,也是Java的灵魂,Java中一切皆是对象。 JVM是Java的根基,理解灵魂与根基是如何融合的,对于理解Java本身至关重要。 对象的创建 对象的创建从Java语言层面上,往往就是一个简单的new即可搞定,而深入JVM的底层,可就复杂的多了。 JVM中对象的 ...
分类:
编程语言 时间:
2021-05-24 02:06:27
阅读次数:
0