upjmbai5800
upjmbai5800
全部文章
分类
J.U.C(2)
Java基础(25)
Java源码阅读(3)
JVM(4)
mybatis(3)
react(1)
Redis(1)
Spring(1)
springMVC(1)
专利(3)
刷题随笔(1)
多线程(5)
实习随笔(3)
操作系统(3)
数据库(7)
数据结构与算法(6)
网络(1)
面试问题总结(3)
高并发(2)
归档
标签
去牛客网
登录
/
注册
upjmbai5800的博客
全部文章
(共8篇)
Java源码阅读(一)String类
Java源码阅读(一)String类 读一门语言的源码是学习一门语言非常好的方法,而String类是Java中最常用的类之一,因此就来看一下String的底层源码实现。 1 不变性 我们常听人说,HashMap的key建议使用不可变类,String就是这种不可变类。这里说的不可变指...
JVM
Java基础
多线程
2019-10-14
0
541
JVM总结(3)
JVM总结(3)Class文件,类加载机制、编译过程 Java编译器先把Java代码编译为存储字节码的Class文件,再通过Class文件进行类加载。 Class类文件的结构 Java编译器可以把Java代码编译为存储字节码的Class文件 C...
JVM
Java基础
2019-08-10
0
411
JVM总结(2)
JVM总结(2)java内存区域、字节码执行引擎 1、内存区域 程序计数器:知道线程执行位置,保证线程切换后能恢复到正确的执行位置。 虚拟机栈:存栈帧。栈帧里存局部变量表、操作栈、动态连接、方法返回地址。局部变量表又存了各种基本数据类型和对象引用(句柄)。 本地方法栈...
JVM
Java基础
2019-08-10
0
388
JVM总结(1)
JVM总结(1) 1、JVM组成: JVM由类加载器子系统、运行时数据区、执行引擎以及本地方法接口组成。 2、JVM运行原理: Java源文件经编译器,编译成字节码程序,通过JVM将每一条指令翻译成不同平台机器码,通过特定平台运行。 4、运行时数...
JVM
Java基础
2019-08-09
0
545
Java虚拟机学习笔记(一)
第三章 垃圾收集器与内存分配策略 3.1 概述 通过第2章的介绍,我们知道Java内存运行时的各个区域,其中程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭。每一个栈帧中分配多少内存都是在类结构确定下来时就已知的,因此这几个区域的内存分配和垃圾回收都具有确定...
JVM
2019-02-13
0
349
Java虚拟机学习笔记(二)--- 判断对象是否存活
Java堆中存放着所有的对象实例,垃圾收集器在堆进行回收之前,需要判断对象是“存活”还是“死亡”(即不可能再被任何途径引用的对象)。 最常见的一种判断对象是否存活算法是引用计数算法, 给对象加一个引用计数器,每当一个地方引用它时,计数器就加1;引用失效时就减1;任何时刻计数器为0的对...
JVM
2019-02-14
0
408
Java虚拟机学习笔记(三)--- 生存还是死亡
即便是可达性分析中不可达的对象,也不代表该对象一定被回收,一个对象被“宣判死刑”需要经过两次标记,第一次是被可达性算法标记为不可用,然后进入第二次筛选,筛选条件是对象是否有必要执行finalize()方法,如果对象没有覆盖finalize()方法,或者finalize()已经被虚拟机调用过,则该...
JVM
2019-02-14
0
334
java虚拟机学习笔记(五)---运行时的数据区域
Java虚拟机所管理的内存包括以下几个运行时的数据区域:方法区,堆,虚拟机栈,本地方法栈,程序计数器。下面对其进行介绍: 程序计数器 它是一块较小的内存空间,可以看做当前线程做执行的字节码的信号指示器,在虚拟机概念模型,字节码解释器工作时就是通过改变这个计数器的值来选取下一条...
JVM
2019-03-09
0
398