为什么要序列化 1.我们知道,一般Java对象的生命周期比Java虚拟机短,而实际的开发中,我们需要 在Jvm停止后能够继续持有对象,这个时候就需要用到序列化技术将对象持久到磁盘或数据库。 2.在多个项目进行RPC调用的,需要在网络上传输JavaBean对象。我们知道数据只能以二进制的 形式才能在网 ...
分类:
其他好文 时间:
2020-07-07 17:26:59
阅读次数:
48
垃圾收集前的判断 1:判断对象“死活” 引用计数算法:定义略,主流的Java虚拟机并没有选用引用计数算法来管理内存,因为此算法很难解决对象之间的相互循环引用的问题 可达性分析算法:定义略,可作为GC Roots的对象包括: 1:虚拟机栈(栈帧中的本地变量表)中引用的对象 2: 方法区中静态类属性引用 ...
分类:
其他好文 时间:
2020-07-06 12:43:22
阅读次数:
67
简单的介绍一下JVM(Java Virtual Machine)吧,它也叫Java虚拟机。虽然它叫虚拟机,但是实际上不是我们所理解的虚拟机,它更像操作系统中的一个进程。JVM屏蔽了各个操作系统底层的相关的东西,Java程序只需要生成对应的字节码文件,然后由JVM来负责解释运行。 介绍几个容易混淆的概 ...
分类:
其他好文 时间:
2020-07-06 00:59:01
阅读次数:
60
概述 Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。 类的生命周期 一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历加载、验证、准备、解析、初始化 ...
分类:
其他好文 时间:
2020-07-05 23:26:18
阅读次数:
85
Java 程序到底是如何执行的? JVM 和操作系统的关系 工程师就相当于铸剑的剑师,JVM 便是剑炉。 JVM 全称 Java Virtual Machine,也就是我们耳熟能详的 Java 虚拟机。它能识别 .class后缀的文件,并且能够解析它的指令,最终调用操作系统上的函数,完成我们想要的操 ...
分类:
其他好文 时间:
2020-07-05 15:52:09
阅读次数:
70
对于Java开发而言,Java虚拟机是开发工作中必须要理解和掌握的知识内容,也是Java面试中面试官常会问到的考点。在本课程中,我将带你循序渐进的学习JVM:从源码到运行、类加载,再到内存分配和垃圾回收,以及JVM调优的技巧与实战。整个课程基于JDK13讲解,理论-实战-面试三结合,带你剖析整个JV ...
分类:
其他好文 时间:
2020-07-05 10:52:10
阅读次数:
83
内存区域虚拟机栈生命周期与线程相同,描述的是Java方法执行的内存模型,每个方法在执行的时候都会创建一个栈帧,用于存取局部变量表、操作数栈、动态链接、方法出口等信息本地方法栈与虚拟机栈作用相似,只不过本地方法栈是为虚拟机使用到的Native方法服务程序计数器内存空间较小,可以看做是当前线程所执行的字节码的行号指示器。此内存区域是唯一一个在Java虚拟机规范中没有规定任何OutOfMemoryErr
分类:
其他好文 时间:
2020-07-04 10:32:13
阅读次数:
70
本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等众所周知,异常处理的两大组成要素是抛出异常和捕获异常。这两大要素共同实现程序控制流的非正常转移。抛出异常可分为显式和隐式两种。显式抛异常的主体是应用程序,它指的是在程序中使用“throw”关键字,手动将异常实例抛出。隐式抛异常的主体则是Java虚拟机,它指的是Java虚拟机在执行过程中,碰到无法继续执行的异常状态,自动抛出异常
分类:
其他好文 时间:
2020-07-03 10:35:19
阅读次数:
56
本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等在Java程序中,我们可以利用synchronized关键字来对程序进行加锁。它既可以用来声明一个synchronized代码块,也可以直接标记静态方法或者实例方法。当声明synchronized代码块时,编译而成的字节码将包含monitorenter和monitorexit指令。这两种指令均会消耗操作数栈上的一个引用类型的元
分类:
编程语言 时间:
2020-07-03 10:27:43
阅读次数:
46
2. 双亲委派机制 2.1 双亲委派机制工作原理 2.1.1 原理 Java虚拟机对class文件采用的是按需加载的方式,也就是说当需要使用该类时才会将它的class文件加载到内存,生成class对象。 加载某个类的class文件时,Java虚拟机采用的是双亲委派模式,即把请求交由父类处理,它是一种 ...
分类:
其他好文 时间:
2020-07-02 19:55:16
阅读次数:
68