![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码
文章平均质量分 75
Dylanioucn
想写一首关于世界的诗,以编程的方式~
展开
-
Oracle java官网关于可重入读写锁ReentrantReadWriteLock的解析
Oracle java官网关于可重入读写锁ReentrantReadWriteLock的解析1.[原文链接](https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.html)2.与ReadWriteLock的关系3.这个类有以下特性:1).Acquisition order(获取顺序)2).Reentrancy(可重入性)3).Lock downgrading(锁降级)4).In原创 2022-04-08 12:22:30 · 1105 阅读 · 0 评论 -
Oracle Java官网关于不可变对象的解析
Oracle Java官网关于不可变对象的解析一、Immutable Objects(不可变对象)1. 原文url2. 原文翻译二、A Synchronized Class Example(一个同步类的例子)1. 原文url2.原文代码3. 原文翻译三、A Strategy for Defining Immutable Objects(定义不可变对象的策略)1.原文url2.原文翻译3.原文代码一、Immutable Objects(不可变对象)1. 原文url https://docs.oracle原创 2022-04-07 22:17:35 · 700 阅读 · 0 评论 -
因未重写hashCode和equals方法导致的HashMap的内存泄漏问题
一、⭐⭐⭐何为内存泄漏????????????内存泄漏,指的是该对象在Java应用程序中的使命已经完结,该做的事情都已经做完了,对Java应用程序来说,已经没有继续存在的价值和意义了,可以被GC回收了。可偏偏GC无法对这个对象做回收处理。因为,该对象被错误的禁锢在了某个不知名不易被察觉的地方。随着时间的流逝,这种因各种原因导致的内存泄漏而存在的无效对象会越来愈多,占用的内存就越大,就有可能会导致Java应用程序申请不到足够的内存空间,引发内存溢出。二、⭐⭐⭐Object中的hashCode和equal原创 2021-04-26 00:12:20 · 2464 阅读 · 0 评论 -
让星星月亮告诉你,通过反射创建类的实例对象,并通过Unsafe theUnsafe来修改实例对象的私有的String类型的成员属性的值
首先,了解一些Unsafe这个类,这个类可以直接进行内存级别的相关操作(如分配释放内存、修改指定内存地址的值等),这里主要介绍的是用它的theUnsafe私有成员属性来修改指定内存位置的值。流程如下:一、 获取Unsafe theUnsafe属性1、 通过反射获取Unsafe.class的theUnsafe属性(可以用它来进行内存操作,这里主要是用它来修改指定内存位置的值)2、 将属性访问权限放开因为该属性是私有属性,本来外部是无法直接访问的,如果不把属性访问权限放开,则无法获取属性,在执行f.g原创 2021-04-04 19:01:46 · 412 阅读 · 2 评论 -
让星星⭐月亮告诉你,openjdk8源码下载链接分享 百度网盘永久分享 可以配置到eclipse中查看源码 如sun.misc.Unsafe源码
openjdk8源码下载链接分享 百度网盘永久分享 可以配置到eclipse中查看源码 如Unsafe源码1.下载地址:百度网盘地址:https://pan.baidu.com/s/1si1lC43WqxCMKaZL66Tr9g提取码:ctp12.eclipse配置:下载后,eclipse查看openjdk源码的配置步骤如下001.选中项目后点击右键>点击Build Path>点击Configure Build Path:002.下载后,eclipse查看openjdk源码的配置原创 2021-01-29 00:26:10 · 1161 阅读 · 0 评论