上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页
摘要: 概览 String 被声明为 final,因此它不可被继承。 内部使用 char 数组存储数据,该数组被声明为 final,这意味着 value 数组初始化之后就不能再引用其它数组。并且 String 内部没有改变 value 数组的方法,因此可以保证 String 不可变。 public fina 阅读全文
posted @ 2018-11-01 23:11 青春暮年 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 1 String(1) String的创建机理由于String在Java世界中使用过于频繁,Java为了避免在一个系统中产生大量的String对象,引入了字符串常量池。其运行机制是:创建一个字符串时,首先检查池中是否有值相同的字符串对象,如果有则不需要创建直接从池中刚查找到的对象引用;如果没有则新建 阅读全文
posted @ 2018-11-01 22:16 青春暮年 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 包装类型 八个基本类型: boolean/1 byte/8 char/16 short/16 int/32 float/32 long/64 double/64 基本类型都有对应的包装类型,基本类型与其对应的包装类型之间的赋值使用自动装箱与拆箱完成。 Integer x = 2; // 装箱 int 阅读全文
posted @ 2018-11-01 22:00 青春暮年 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 目录 1 基本实现原理 1.1 如何使用 1.2 设计思想 2 自定义同步器 2.1 同步器代码实现 2.2 同步器代码测试 3 源码分析 3.1 Node结点 3.2 独占式 3.3 共享式 4 总结 Java并发包(JUC)中提供了很多并发工具,这其中,很多我们耳熟能详的并发工具,譬如Reent 阅读全文
posted @ 2018-11-01 14:02 青春暮年 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 转自:https://www.cnblogs.com/dotgua/p/6354151.html?utm_source=itdadao&utm_medium=referral 在java的关键字中,static和final是两个我们必须掌握的关键字。不同于其他关键字,他们都有多种用法,而且在一定环境 阅读全文
posted @ 2018-11-01 10:51 青春暮年 阅读(432) 评论(0) 推荐(0) 编辑
摘要: Java并发集合 并发集合实现1 JDK1.5的出现,对于集合并发编程来说,java developer有了更多的选择。不过,在JDK1.5之前,Java也还是提供了一些解决方案。 (1)最为简单直接的就是在程序中我们自己对共享变量进行加锁。不过,缺点也显而易见,手动实现线程安全间接增加了程序的复杂 阅读全文
posted @ 2018-10-31 22:51 青春暮年 阅读(587) 评论(0) 推荐(0) 编辑
摘要: HashTable 底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低,ConcurrentHashMap做了相关优化 初始size为11,扩容:newsize = olesize*2+1 计算index的方法: 阅读全文
posted @ 2018-10-31 22:36 青春暮年 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 本文转自:https://www.cnblogs.com/dolphin0520/p/3932905.html JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能。因为同步容器将所有对容器状态的访问都 串行化了,这样保证了线程的安全性,所以这种方法的代价 阅读全文
posted @ 2018-10-31 22:13 青春暮年 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 多个线程不管以何种方式访问某个类,并且在主调代码中不需要进行同步,都能表现正确的行为。 线程安全有以下几种实现方式: 不可变 不可变(Immutable)的对象一定是线程安全的,不需要再采取任何的线程安全保障措施。只要一个不可变的对象被正确地构建出来,永远也不会看到它在多个线程之中处于不一致的状态。 阅读全文
posted @ 2018-10-31 16:57 青春暮年 阅读(457) 评论(0) 推荐(0) 编辑
摘要: Java 内存模型试图屏蔽各种硬件和操作系统的内存访问差异,以实现让 Java 程序在各种平台下都能达到一致的内存访问效果。 主内存与工作内存 处理器上的寄存器的读写的速度比内存快几个数量级,为了解决这种速度矛盾,在它们之间加入了高速缓存。 加入高速缓存带来了一个新的问题:缓存一致性。如果多个缓存共 阅读全文
posted @ 2018-10-31 16:28 青春暮年 阅读(168) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页