![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 83
yisany_Q
这个作者很懒,什么都没留下…
展开
-
深度解读equal方法与hashCode方法渊源
深度解读equal方法与hashCode方法渊源大部分内容参考自重写equal()时为什么也得重写hashCode()之深度解读equal方法与hashCode方法渊源1. equals()的所属以及内部原理(即Object中equals方法的实现原理)说起equals方法,我们都知道是超类Object中的一个基本方法,用于检测一个对象是否与另外一个对象相等。而在Object类中这个方法实际...转载 2018-10-29 20:49:54 · 175 阅读 · 0 评论 -
自动内存管理机制(1)- java内存区域与虚拟机对象
自动内存管理机制(1)- java内存区域与虚拟机对象1. 运行时数据区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。有的区域随着虚拟机进行的启动而存在,有些区域则以来用户线程的启动和结束而建立和销毁。有以下几个区域:1.1. 程序计数器程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。它是线程私有的。如果线程执行...原创 2018-11-13 15:40:55 · 165 阅读 · 0 评论 -
自动内存管理机制(2)- 内存回收和垃圾收集算法
自动内存管理机制(2)- 内存回收和垃圾收集算法1. 概述首先思考三个问题:哪些内存需要回收什么时候回收如何回收程序计数器、虚拟机栈、本地方法栈是线程私有的,因此这几个区域的内存分配和回收都具有确定性(线程结束时执行垃圾回收)。但Java堆和方法区因为是线程共有的,这部分的内存分配和回收都是动态的,垃圾收集器关注的就是这部分的内存。2. 堆内存的回收2.1. 如何判定是否回收...原创 2018-11-14 16:07:37 · 232 阅读 · 0 评论 -
自动内存管理机制(4)- 内存分配和回收策略
自动内存管理机制(4)- 内存分配和回收策略Java所承诺的自动内存管理主要是针对对象内存的回收和对象内存的分配。在Java虚拟机的五块内存空间中,程序计数器、Java虚拟机栈、本地方法栈内存的分配和回收都具有确定性,一般在编译阶段就能确定需要分配的内存大小,并且由于都是线程私有,因此它们的内存空间都随着线程的创建而创建,线程的结束而回收。也就是这三个区域的内存分配和回收都具有确定性,垃圾回收...原创 2018-11-19 09:24:44 · 363 阅读 · 0 评论 -
自动内存管理机制(5)- 虚拟机性能监控
自动内存管理机制(5)- 虚拟机性能监控0. 概述在我们日常开发的项目中,有时经常会碰到以下问题:OOM(OutOfMemoryError),内存不足内存泄漏线程死锁Lock Contention,锁争用Java进程消耗CPU过高…通常我们使用的最简单的解决方法就是调大内存,但这样的话只是解决了这一次的问题,对于它为什么会出现的原因就置之不理了(或者说不会去深究问题根源)。本文...原创 2018-11-21 14:48:45 · 287 阅读 · 0 评论 -
JVM虚拟机 - Class类文件结构
JVM虚拟机 - Class类文件结构概述Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在Class文件之中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容几乎都是程序运行的必要数据。当遇到需要占用8位字节以上空间的数据项时,会按照高位在前的方式分割成若干个8位字节进行存储。Class文件格式中只有两种数据类型:无符号数和表。无符号数...原创 2018-11-22 10:40:18 · 270 阅读 · 0 评论 -
自动内存管理机制(3)-HotSpot垃圾收集器
自动内存管理机制(3)-HotSpot垃圾收集器如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。这里讨论的收集器都是JDK1.7(包含JDK1.7)以后的HotSpot虚拟机:上半部属于新生代收集器,下半部属于老年代收集器。如果两个收集器之间存在连线,说明他们可以搭配使用。1. Serial 收集器单线程只开启一条GC线程进行垃圾回收,并且在垃圾回收过程...原创 2018-11-17 13:54:44 · 171 阅读 · 0 评论 -
类加载机制(1)-类加载的时机
类加载机制(1)-类加载的时机1. 概述虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机之际使用的Java类型,这就是虚拟机的类加载机制。2. 类加载的时机类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)验证(Verification)准备(Preparation)解析(Reso...原创 2018-11-24 10:37:13 · 183 阅读 · 0 评论