- 博客(5)
- 资源 (3)
- 收藏
- 关注
原创 深入理解Java虚拟机-第2章-JVM内存模型
本章主要是学习下JVM的内存模型,在JDK1.8之前存在Perm,在JDK1.8的时候将perm进行拆分,常量池转移到堆空间,Class等元数据放到了metasapce。 一、内存结构 二、堆
2020-12-28 23:53:49 144
原创 深入理解Java虚拟机-第6章-类文件结构
本章从Class文件的结构入手,学习Java虚拟机的一次编译,到处运行的魅力 一、前言 在虚拟机未出现以前,计算机的世界里只认识0和1,如果程序想要在计算机上运行,首先需要编译成机器的汇编语言,然后计算机根据自身系统的指令集解释成指令编码进行运行。 Java虚拟机想做成两件事:平台无关性和语言无关性。 平台无关性是指无论在什么平台上,什么指令集上,对上层使用者来说这种差异都是无感知的,由虚拟机去完成不同平台指令集和架构的兼容。使用者只需按照虚拟机规定的文件 格式进行输入要运行的信息。 语言无关性是指J.
2020-12-27 22:26:33 249
原创 深入研究glibc内存管理器原理及优缺点
最近查清了线上内存占用过大和swap使用频繁的原因:由于linux使用的glibc使用内存池技术导致的堆外内存暴增,基于这个过程中学习和了解了glbic的内存管理原理,和大家分享,如有错误请及时指出。 一、应用内存分布 从Linux操作系统层面来看,每个应用进程使用task_struct结构进行描述和管理,在task_struct的中,使用mm_struct对内存进行管理,如下图所示: 在mm_struct管理的虚拟内存中,主要包括:Kernel Space、MMAP segment、Stack、He.
2020-12-26 23:37:29 3989
原创 Java-权限访问修饰符
Java 权限访问修饰符public、friendly、protected、private,记录下这几个权限的范围。 一、背景补充 访问权限是为了管理对象与外部使用者交互的范围,外部使用者能够根据不同的访问权限与所使用的对象进行通信,同时,访问权限能够很好的将内部的逻辑很好的封装控,使得使用者更容易理解使用,同时在重构的过程中也能减少对客户端的感知,重构的时候可以修改对客户端无感知的过程。 访问权限是基于包(package)概念上建立起来的,本包、外部包之间的类交互控制是通过访问权限进行控制的。 包是一.
2020-12-12 21:17:36 2269
原创 Java-初始化与清理
接下来将从几个小节做个学习记录: 1、构造器初始化。 2、方法重载 3、this关键字 4、static关键字 5、清理 6、成员初始化 7、数据初始化 8、枚举类型 一、构造器初始化 Java对象有默认构造器,是以类名命名的无参构造器。 显示指定构造器后,Java对象默认执定的无参数构造器将不存在。如果需要使用无参构造器,需要指定。 初始化对象时,先执行父类构造器和子类构造器。 1.1 无参数构造器(默认构造器): public class Constructor { public voi.
2020-12-06 21:18:18 128
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人