
JAVA
Darren.P
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JAVA源码阅读之java.util—Arrays
Arrays工具类(排序和查找)该类提供了一个静态工厂使arrays可以当作lists。(This class contains various methods for manipulating arrays (such as sorting and searching). This class also contains a static factory that allows arrays ...原创 2018-09-30 23:07:09 · 495 阅读 · 0 评论 -
JVM内存模型详解
堆原创 2018-12-17 22:33:57 · 126 阅读 · 0 评论 -
JAVA的垃圾回收机制(GC)
什么是垃圾回收?如何判断对象是否存活?有几种算法?原创 2018-12-17 22:16:10 · 1092 阅读 · 0 评论 -
JAVA类文件Class内部结构
文章目录JAVA的平台无关性怎么实现的?JAVA的类文件结构?魔数与版本常量池访问标志类索引父类索引与接口索引集合字段表集合方法表集合属性表集合Class文件的基础单位是什么?方法里的JAVA代码编译成字节码后存放在哪里?子类方法表会不会有父类的方法?参考资料JAVA的平台无关性怎么实现的?字节码是构成平台无关系的基石。JAVA在刚刚诞生时就提出"Write Once, Run Anywher...原创 2018-12-17 00:53:31 · 183 阅读 · 0 评论 -
Java虚拟机(JVM)的类加载机制LLI
Java原创 2018-12-15 22:50:46 · 184 阅读 · 0 评论 -
Java中的TreeMap与红黑树
为什么说红黑树是AVL?怎么维持平衡?插入和删除哪个简单子节点都是黑色怎么实现原创 2018-11-28 00:43:27 · 457 阅读 · 0 评论 -
多线程环境下的ConcurrentHashMap
文章目录什么是ConcurrentHashMap?底层数据结构?如何实现并发安全?transfer和ForwardingNodeHash计算什么是ConcurrentHashMap?ConcurrentHashMap并像HashMap一样在java.util包下,而是在java.util.concurrent包下,可见ConcurrentHashMap是为并发而存在的。ConcurrentHa...原创 2018-11-18 01:52:15 · 1112 阅读 · 0 评论 -
从Java1.8源码角度剖析线程不安全的HashMap
HashMap的底层数据结构是什么equals方法为什么说是线程不安全?多线程下会产生什么后果?应用在什么场景原创 2018-11-18 01:50:14 · 643 阅读 · 1 评论 -
IntelliJ IDEA遇到编译失败Compilation failed:internal java compiler error的解决办法
IntelliJ IDEA提示编译失败如下:解决办法:1、项目名称处右击,点击"Open Moudle Settings".2、点击左边列表“Project”,右边Project SDK选择1.8,Project language level选择“8 - Lambda, type annotations etc."3、点击左边列表“Moudles,右边Source下的Language l...原创 2018-11-04 10:06:00 · 26983 阅读 · 9 评论 -
JAVA源码阅读之java.lang—String
文章目录JAVA源码阅读之java.lang—String构造函数public String(char value[])判断相等的equals方法字符串之间的比较散列函数hashCode类型转换函数valueOfJAVA源码阅读之java.lang—String构造函数public String(char value[])public final class String implement...原创 2018-11-01 21:07:59 · 352 阅读 · 0 评论 -
优先队列之JAVA源码中的实现
文章目录优先队列之JAVA源码中的实现本质是最小堆类声明最小堆操作代码堆中插入元素用add本质是offer读堆顶的元素用peek移除元素要先找到该元素的下标本质是removeAt(i)堆性质核心代码堆性质核心代码siftDown堆性质核心代码siftUp保证堆性质用heapify优先队列之JAVA源码中的实现本质是最小堆JAVA8中PriorityQueue.class的源码实现,本质上是一...原创 2018-10-31 23:56:58 · 1572 阅读 · 0 评论 -
读书笔记:《JAVA并发编程的艺术》第5章 Java中的锁
文章目录5.1 Lock接口5.2队列同步器Node结点队列同步器的实现独占式同步状态获取与释放自旋过程释放同步状态共享式同步状态获取与释放独占式超时获取同步状态5.3重入锁5.4读写锁5.5LockSupport工具5.6Condition接口Lock接口的实现基本都是通过聚合了一个同步器的子类来完成线程访问控制的。5.1 Lock接口在Lock接口出现之前,Java程序是靠synchro...原创 2018-10-29 22:07:42 · 281 阅读 · 0 评论 -
读书笔记:《JAVA编程思想(Thinking in Java)》第14章 类型信息
文章目录第14章 类型信息14.1为什么需要RTTI14.2 Class对象类型信息在运行时是如何表示的Class.forName();14.2.1类字面常量14.2.2泛化的Class引用14.3类型转换前先做检查14.6反射:运行时的类信息基于构件的编程远程方法调用(RMI)14.6.1类方法提取器14.7动态代理第14章 类型信息运行时类型信息使你可以在程序运行时发现和使用类型信息,使你...原创 2018-10-28 23:21:02 · 398 阅读 · 0 评论 -
JAVA源码阅读之java.util—List
ListList被声明为一个接口,代码量很少,只声明了方法。public interface List<E> extends Collection<E> { int size(); boolean isEmpty(); boolean contains(Object o); Iterator<E> iterator(); Object[] toAr...原创 2018-10-07 17:07:55 · 405 阅读 · 0 评论 -
读书笔记:《JAVA编程思想(Thinking in Java)》第11章 持有对象(容器)
在写程序时并不知道将需要多少个对象,Java类库提供了一套完整的容器类来解决这个问题。最基本的类型是List、Set、Queue、Map。容器类都可以自动地调整自己的大小,可以将任意数量的对象放置到容器中。泛型和类型安全的容器在Java5之前的主要问题是编译器允许你向容器中插入不正确的类型。import java.util.ArrayList;class Apple{ private s...原创 2018-10-06 01:33:03 · 238 阅读 · 0 评论 -
读书笔记:《JAVA编程思想(Thinking in Java)》第9章 接口
“接口和内部类为我们提供了一种将接口与实现分离的额更加结构化的方法。”抽象方法abstract void f();包含抽象方法的类叫做抽象类。如果一个类包含抽象方法,则该类必须限定为抽象类。接口interface关键字使抽象的概念更迈进了一步,接口产生了一个完全抽象的类。接口也可以包含域,但是这些域隐式地是static和final的。完全解耦只要一个方法操作的是类而非接口,你就只能使...原创 2018-10-05 21:44:18 · 198 阅读 · 0 评论 -
读书笔记:《JAVA编程思想(Thinking in Java)》第8章 多态
多态的作用多态方法允许一种类型表现出与其他相似类型之间的区别,只要它们都是从同一个基类继承而来的。把某个对象的引用视为对其基类饮用的做法称作向上转型,如:Shape s = new Circle();s.draw();由于后期绑定,还是正确的调用了Circle.draw()方法。方法调用绑定:1、前期绑定(在程序执行前进行绑定)2、后期绑定(在运行时根据对象的类型进行绑定。Java中...原创 2018-10-04 00:55:06 · 211 阅读 · 0 评论 -
Java中的反射机制和动态代理
反射机制Java中的许多对象在运行时都会出现两种类型:编译时类型和运行时类型。如Person p = new Student();将会产生一个p变量,该变量的编译时类型为Person,运行时类型为Student。又如程序运行时接收到外部传入的一个对象,编译时类型为Object,运行时需要调用运行时的类型的方法。这种在编译时无法预知要使用哪个类型的情形,需要使用反射机制,即运行时获得类信息。通常...原创 2019-03-27 01:16:39 · 481 阅读 · 0 评论