G1的特点 除了G1的其余垃圾回收器的特点是,年轻代和老年代是各自独立且连续的内存块,年轻代收集使用单edn+s0+s1进行复制算法,老年代收集必须扫描整个老年代区域。都是以尽可能少而快速地执行GC为设计原则。 G1是一款面向服务端应用的收集器,应用在多CPU和大容量内存的环境中,在实现高吞吐量的同 ...
分类:
其他好文 时间:
2020-06-07 21:22:08
阅读次数:
100
JVM 中类的装载是由类加载器(ClassLoader)和它的子类来实现的,Java 中的 类加载器是一个重要的 Java 运行时系统组件,它负责在运行时查找和装入类文件 中的类。 由于 Java 的跨平台性,经过编译的 Java 源程序并不是一个可执行程序,而是一 个或多个类文件。当 Java 程 ...
分类:
其他好文 时间:
2020-06-07 16:43:24
阅读次数:
70
名词解释: JVM ,JRE ,JDK: JVM :是 Java Virtual Machine JRE : 是 Java Runtime Environment JRE 包含 JVM, JDK: 是 Java Development Kit , JDK包含JRE 和 其他开发用的工具,例如 编译工 ...
分类:
编程语言 时间:
2020-06-07 12:55:51
阅读次数:
70
idea中打开设置,启用Android Support 下图需要一些相关知识来分析,关键字:Shallow Size(浅层大小)、Retained size(保留大小) ...
分类:
其他好文 时间:
2020-06-07 11:25:02
阅读次数:
926
前言 因为Java对象主要存放在Java堆里,所以垃圾收集器(Garbage Collection)在对Java堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”(不被引用了)。 判断对象是否健在的算法 1.引用计数算法 引用计数算法,很容易理解,在对象中添加一个引用计 ...
分类:
其他好文 时间:
2020-06-06 18:36:38
阅读次数:
54
从互联网到企业平台,Java是应用最广泛的编程语言,原因在于: Java是基于JVM虚拟机的跨平台语言,一次编写,到处运行; Java程序易于编写,而且有内置垃圾收集,不必考虑内存管理; Java虚拟机拥有工业级的稳定性和高度优化的性能,且经过了长时期的考验; Java拥有最广泛的开源社区支持,各种 ...
分类:
编程语言 时间:
2020-06-06 17:04:42
阅读次数:
60
一 . 为什么要用分布式锁 我们在开发应用的时候,如果需要对某一个共享变量进行多线程同步访问的时候,可以使用我们学到的Java多线程的18般武艺进行处理,并且可以完美的运行,毫无Bug! 注意这是单机应用,也就是所有的请求都会分配到当前服务器的JVM内部,然后映射为操作系统的线程进行处理!而这个共享 ...
分类:
其他好文 时间:
2020-06-06 16:51:03
阅读次数:
59
CentOS7.6安装jdk1.8 openjdk 1、查看JDK版本 yum search java|grep jdk 2、安装jdk1.8,安装默认的目录为: /usr/lib/jvm/ yum install java-1.8.0-openjdk java-1.8.0-openjdk-deve ...
分类:
其他好文 时间:
2020-06-06 10:50:45
阅读次数:
80
@ 写博客哪有刷逼乎有意思 1 写博客哪有刷逼乎有意思 2 写博客哪有刷逼乎有意思 3 类的加载、 连接和初始化 系统可能在第一次使用某个类时加载该类, 也可能采用预加载机制来加载某个类。 JVM 和类 当调用 java 命令运行某个 Java 程序时, 该命令将会启动一个 Java 虚拟机进程, ...
分类:
编程语言 时间:
2020-06-06 09:13:40
阅读次数:
73
对象的内存布局 在 HotSpot 虚拟机中,对象的内存布局分为以下 3 块区域: 对象头(Header) 实例数据(Instance Data) 对齐填充(Padding) 对象头 对象头记录了对象在运行过程中所需要使用的一些数据: 哈希码 GC 分代年龄 锁状态标志 线程持有的锁 偏向线程 ID ...
分类:
其他好文 时间:
2020-06-06 00:56:24
阅读次数:
62