Java SE
zonkidd
富有诗意的程序员
展开
-
Java -HashMap
HashMap 参考链接: https://tech.meituan.com/2016/06/24/java-hashmap.html https://juejin.im/post/6844903588179755021#heading-14 | HashMap就是使用哈希表来存储的。哈希表为解决冲突,可以采用开放地址法和链地址法等来解决问题,Java中HashMap采用了链地址法。 | 链地址法,简单来说,就是数组加链表的结合。 当链表的长度大于8的时候,转换为红黑树。 横的是数组,竖的是链表 [4]原创 2020-09-25 13:20:33 · 99 阅读 · 0 评论 -
Java -Class
Java Class 类字面常量 Java生成对Class对象的引用,Class bean = bean.class\ 当使用".class"来创建Class对象引用时,不会自动地初始化该Class对象。为了使用类而做的准备工作实际包含三个步骤: 1. 加载,这是由类加载器执行的。该步骤将查找字节码(通常在classpath所指定的路径中查找,但这并非是必需的),并从这些字节码中创建一个Class对象。 2. 链接。在链接阶段将验证类中的字节码,为静态域分配存储空间,并且如果必需的话,将解析这个类创建的对其原创 2020-09-25 13:16:02 · 99 阅读 · 0 评论 -
Java -String理解
String知识 参考链接: String的内存模型,为什么String被设计成不可变的: https://juejin.im/post/6844903497708601351 ScjpTipLine-StringsLiterally: https://javaranch.com/journal/200409/ScjpTipLine-StringsLiterally.html 关于创建String对象过程的内存分配: https://blog.csdn.net/xiabing082/article/det原创 2020-09-25 13:15:01 · 98 阅读 · 0 评论 -
Java - equals & hashcode
Java equals & hashcode 参考文章: https://www.cnblogs.com/skywang12345/p/3324958.html equals 和 hashcode 两个方法属于Object基类的方法: public boolean equals(Object obj) { return (this == obj); } public native int hashCode(); 可以看出equals方法默认比较的是两个对象的引用是否指向同一个内存地址原创 2020-09-25 13:14:30 · 70 阅读 · 0 评论 -
Java-Clone
Java Clone 什么是Clone 创建并返回此对象的副本。 默认情况下,Java克隆是逐字段复制,因为Object类不了解调用clone()的类结构。 “复制”的确切含义可能取决于对象的类别: 如果该类仅具有原始数据类型成员,则将创建该对象的全新副本,并返回对该新对象副本的引用。 如果类包含任何类类型的成员,则仅复制对那些成员的对象引用,因此原始对象和克隆对象中的成员引用都引用同一对象。 除了上述Object实现的clone行为外,你始终可以覆盖clone()并指定你的行为。 实现Clone: 在原创 2020-09-25 13:13:57 · 76 阅读 · 0 评论 -
NIO学习 - Scatter/Gather
Java NIO -Scatter/Gather Java NIO 开始支持scatter/gather,scatter/gather用于描述从Channel中读取或者写入到Channel的操作。 scatter/gather的 分散(scatter)从Channel中读取是指在读操作时将读取的数据写入多个buffer中。因此,Channel将从Channel中读取的数据“分散(scatter)”到多个Buffer中。 聚集(gather)写入Channel是指在写操作时将多个buffer的数据写入同一个C原创 2020-09-07 13:21:26 · 115 阅读 · 0 评论 -
NIO学习 -Buffer
Java NIO -Buffer 内容Java NIO -BufferBuffer的定义mark和reset清除,翻转和倒带线程安全向Buffer中写数据flip()方法从Buffer中读取数据rewind()方法clear()与compact()方法mark()与reset()方法equals()与compareTo()方法equals()compareTo()方法 Buffer的定义 Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。原创 2020-09-07 13:20:14 · 114 阅读 · 0 评论 -
NIO 学习 -Channels
Java NIO - Channels Java中对Channel的定义 /** * A nexus for I/O operations. * * <p> A channel represents an open connection to an entity such as a hardware * device, a file, a network socket, or a program component that is capable of * performing one原创 2020-09-07 13:02:53 · 150 阅读 · 0 评论 -
Java Static关键字 笔记
通常来说,当创建类时,就是在描述那个类的对象的外观与行为。除非用new创建那个类的对象,否则,实际上并未获得任何对象。执行new来创建对象时,数据存储空间才被分配,其方法才供外界调用。 –摘自《Thinking in Java》 有两种情况用上述方法是无法解决的: 1、只需为某特定域分配单一存储空间,而不去考虑究竟要创建多少对象,甚至根本就不创建任何对象。 2、希望某个方法不予包...翻译 2018-11-18 23:04:11 · 154 阅读 · 0 评论