上一页 1 2 3 4 5 6 7 8 9 ··· 42 下一页

2023年9月4日

Java对象的内存布局

摘要: 由 对象头、实例数据、对齐填充 三部分组成。 1.对象头 Hotspot 虚拟机的对象头包括两部分信息,第一部分用于存储对象自身的运行时数据(哈希码、GC 分代年龄、锁状态标志等等),另一部分是类型指针,即对象指向它的类元数据的指针,虚拟机通过这个指针来确定这个对象是哪个类的实例。 2.实例数据 实 阅读全文

posted @ 2023-09-04 11:11 HHHuskie 阅读(13) 评论(0) 推荐(0) 编辑

句柄和指针的区别

摘要: 句柄和指针是计算机科学中常用的两种数据类型。 句柄(Handle)是一个在程序中用来引用对象或资源的标识符。它是一个代表对象的唯一标识符,但本身不直接指向对象的内存地址。句柄可以看作是一种间接引用,通过句柄可以访问和操作对象或资源。句柄一般由系统分配和管理,对应于对象或资源的实际内存地址。句柄的优点 阅读全文

posted @ 2023-09-04 10:38 HHHuskie 阅读(452) 评论(0) 推荐(0) 编辑

2023年8月31日

IO设计模式之装饰器模式与适配器模式

摘要: 装饰器模式 装饰器(Decorator)模式 可以在不改变原有对象的情况下拓展其功能。 装饰器模式通过组合替代继承来扩展原始类的功能,在一些继承关系比较复杂的场景(IO 这一场景各种类的继承关系就比较复杂)更加实用。 举例: 对于字节流来说, FilterInputStream (对应输入流)和Fi 阅读全文

posted @ 2023-08-31 16:31 HHHuskie 阅读(27) 评论(0) 推荐(0) 编辑

2023年8月30日

线程安全三竞争条件

摘要: 线程安全取决于那三竞争条件的成立: 两个处理共享变量 至少一个处理会对变量进行修改 一个处理未完成前另一个处理会介入进来 阅读全文

posted @ 2023-08-30 15:38 HHHuskie 阅读(2) 评论(0) 推荐(0) 编辑

Thread中join方法源码阅读

摘要: 以JDK8为例,共3个join方法 一、核心join方法 public final synchronized void join(long millis) throws InterruptedException { long base = System.currentTimeMillis(); lo 阅读全文

posted @ 2023-08-30 14:38 HHHuskie 阅读(14) 评论(0) 推荐(0) 编辑

sleep() 方法和 wait() 方法详解

摘要: 共同点:两者都可以暂停线程的执行。 区别: sleep() 方法没有释放锁,而 wait() 方法释放了锁 。 wait() 通常被用于线程间交互/通信,sleep()通常被用于暂停执行。 wait() 方法被调用后,线程不会自动苏醒,需要别的线程调用同一个对象上的 notify()或者 notif 阅读全文

posted @ 2023-08-30 14:30 HHHuskie 阅读(184) 评论(0) 推荐(0) 编辑

2023年8月29日

HashMap链表树化究竟是怎样的?

摘要: 网上一直看到两种说法: 1.数组长度大于64且当链表长度>8时,链表转换为红黑树; 2.数组长度大于64且当链表长度≥8时,链表转换为红黑树。 上源码,主要是putVal()函数 /** * Implements Map.put and related methods. * * @param has 阅读全文

posted @ 2023-08-29 15:38 HHHuskie 阅读(19) 评论(0) 推荐(0) 编辑

ArrayList源码阅读之EMPTY_ELEMENTDATA和DEFAULTCAPACITY_EMPTY_ELEMENTDATA区别

摘要: /** * Shared empty array instance used for empty instances. */private static final Object[] EMPTY_ELEMENTDATA = {};/** * Shared empty array instance u 阅读全文

posted @ 2023-08-29 15:11 HHHuskie 阅读(58) 评论(0) 推荐(0) 编辑

2023年8月28日

ConcurrentHashMap为何不能插入null?HashMap为何可以?

摘要: 归纳来说就是两个问题:1.ConcurrentHashMap 为什么 key 和 value 不能为 null?2.ConcurrentHashMap 能保证复合操作的原子性吗? 1.ConcurrentHashMap 为什么 key 和 value 不能为 null? ConcurrentHash 阅读全文

posted @ 2023-08-28 14:48 HHHuskie 阅读(378) 评论(0) 推荐(0) 编辑

2023年8月27日

Integer包装类型阅读

摘要: 以JDK8为例 private static class IntegerCache { static final int low = -128; static final int high; static final Integer cache[]; static { // high value m 阅读全文

posted @ 2023-08-27 15:32 HHHuskie 阅读(6) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 9 ··· 42 下一页

导航