上一页 1 ··· 9 10 11 12 13 14 下一页
摘要: 阿里巴巴开发手册中有一条: 代码重现: 结果: 异常: 解决: 1、使用普通for循环进行操作,因为普通for循环并没有用到Iterator的遍历,所以压根就没有进行fail-fast的检验。 2、直接使用Iterator进行操作 3、使用Java 8中提供的filter过滤 4、直接使用fail- 阅读全文
posted @ 2019-05-13 16:32 Diamond-Shine 阅读(605) 评论(0) 推荐(0) 编辑
摘要: 转载:https://blog.csdn.net/u011001084/article/details/79216958 个人感觉工具类对日常开发是很重要的,所以推荐一下这篇文章,虽然有的类库过时了 本文总结了日志、JSON解析、单测、XML解析、字节码处理、数据库连接池、集合类、邮件、加密、嵌入式 阅读全文
posted @ 2019-05-13 15:05 Diamond-Shine 阅读(1135) 评论(0) 推荐(1) 编辑
摘要: Comparable: 是集合内部的方法实现的排序,只有一个方法 public interface Comparable<T> { public int compareTo(T o); } 对于String和一些基本数据类型,默认实现了Comparable 接口,实现了compareTo方法,可以直 阅读全文
posted @ 2019-05-13 11:26 Diamond-Shine 阅读(513) 评论(0) 推荐(0) 编辑
摘要: 如何选择优化的数据类型: 当一个列有多种数据类型可以选择,选择顺序:数字类型、日期/二进制类型、字符类型,相同级别的数据类型,优先选择占用空间小的类型 1、通常更小的更好 相同级别的数据类型,选择占据空间更小的数据类型。更小的数据类型通常更快,因为占用更少的磁盘、内存和CPU缓存,处理时需要的 CP 阅读全文
posted @ 2019-05-13 11:03 Diamond-Shine 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 1、公平锁: 是指多个线程按照申请锁的顺序来获取锁。 非公平锁的优点在于吞吐量比公平锁大。 2、非公平锁: 是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。有可能,会造成优先级反转或者饥饿 现象。 3、可中断锁: synchronized就不是可中断锁,而 阅读全文
posted @ 2019-05-10 15:59 Diamond-Shine 阅读(374) 评论(0) 推荐(0) 编辑
摘要: AQS: 是AbstractQueuedSynchronizer的简称,JUC的核心。 底层是sync queue双向链表,还可能有condition queue单向链表,使用Node实现FIFO队列,可以用于构建同步队列或者其他同步装置的基础框架。 使用了int类型表示状态,在AQS中有个stat 阅读全文
posted @ 2019-05-10 15:44 Diamond-Shine 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 一、线程安全性: 当多个线程访问一个一个对象或者方法的时候,在编写代码的时候,不需要进行额外的处理,就像在单线程环境下一样处理,此时如果还能得到正确的结果,就可以说是线程安全。如果在编写代码的时候,需要进行一些同步的操作(例如使用Synchronized关键字),或者考虑多线程运行的调度和切换(例如 阅读全文
posted @ 2019-05-10 15:17 Diamond-Shine 阅读(782) 评论(0) 推荐(0) 编辑
摘要: 本文参考慕课网相关视频和博客https://mp.weixin.qq.com/s/tV0MfDdJqGwGMHCIkqnAgA,图也是这个博客的,这篇只是自己的简单总结,想要深入理解可以访问这两块内容。 一、内存模型定义 java memory model(简称JMM),这是一个抽象的概念,不是真实 阅读全文
posted @ 2019-05-10 11:07 Diamond-Shine 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 目前没有完美的收集器,不同的厂商、版本的虚拟机提供的垃圾收集器会有很大的差别,用户根据自己应用特点和要求组合出各个年代所使用 的收集器。基于jdk1.7Update14之后的虚拟机。 官方文档:https://docs.oracle.com/javase/8/docs/technotes/guide 阅读全文
posted @ 2019-05-08 18:01 Diamond-Shine 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 什么样的对象需要回收 如果对象已经死亡了,就可以进行回收,判断方式如下 1).引用计数器:给对象添加一个计数器,有地方引用,就+1,当引用失效,就-1。当计数器为0时,判断对象不能再使用,但是当对象相互引 用的时候无法进行GC 1).可达性算法:从GC Roots开始,到对象之间有引用链相连,就是可 阅读全文
posted @ 2019-05-08 17:59 Diamond-Shine 阅读(338) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 下一页