- 博客(12)
- 资源 (2)
- 收藏
- 关注
原创 【原】JDK8线程池源码全面分析
目录线程池的基本概念程池的创建Core and maximum pool sizes与workQueueKeep-alive timesthreadFactoryhandler线程池的workQueue队列的操作方法ArrayBlockingQueuenotEmpty和notFull条件take和put方法dequeue和enqueue方法...
2019-09-12 09:21:31 591 1
原创 算法分析——优先队列
public class PriorityQueue{ // 最小堆 public PriorityQueue(int max) { this.heap = new int[max + 2]; this.max = max + 1; } // 维护的堆数据 private int[] heap; ...
2019-07-19 16:28:14 211
原创 算法分析——排序算法性能对比
最近把常见排序的算法都撸了一遍,想直观的感受一下效率的变化。废话不多少,直接上代码。public class App{ public static void main(String[] args) { int[] sortArray = SortService.obtainFixedArray(); // 选择排序 int...
2019-07-19 16:23:53 236
原创 JDK 8源码解析——ArrayList和LinkedList迭代性能比较
我们都知道查询用ArrayList,插入用LinkedList,原因在于ArrayList内部数据用数组的形式进行组织,但是LinkedList用链表的形式进行组织。因此ArrayList查询有优势,LinkedList插入有优势。那么在迭代的情况下,ArrayList和LinkedList的有多大的差别呢?先上代码。public class App{ private stati...
2019-07-12 11:26:34 331
原创 JDK 8源码解析——Integer的比较问题
在使用Sting类型时,我们都知道比较2个String类型是否是相同的字符串,需要使用equals()方法,这个可以称为常识。但是对于Integer类型,大家似乎又经常把它当做基本类型,而不是引用类型了,对于比较Integer是否相等,使用的是"=="而不是equals()。这其实是一个误区。例如我们public class App{ public static void main...
2019-07-04 09:25:16 640
原创 我的JDK源码阅读顺序(持续更新)
因为JDK源码有依赖关系,因此保持一定的阅读顺序十分重要java.langObject String AbstractStringBuilder StringBuilder StringBuffer Integer Long Short Boolean Byte Double Float...
2019-07-02 09:03:10 587
原创 JDK 8源码解析——String中的intern()方法
String是最常用的类之一,也许就是太常见了,因此导致经常忽略它存在,即使在观察堆得时候发现String类以及char[]所占的内存比较多的时候,也潜意识的跳过了它们。其实,String类以及char[]也还是有优化的空间的。String的源码提供了非常丰富的方法,最多的就是对char[]数组的处理。对数组的处理,几乎就是复制数组和转码的各种组合。本来觉得看下去以及没啥惊喜了,指到发现以下这...
2019-06-29 09:27:49 595 1
原创 利用IDEA调试notify(),程序执行完毕,但一直不退出
在看Object源码的时候,看到wait()和notify(),顺手写了个demo,想验证wait()方法之后,线程放弃对象的锁,然后虽然验证了主线程确实获取到了对象锁,但是整个程序却没有退出,并且为必现。具体代码如下:public class App{ public static void main(String[] args) { Person ...
2019-06-24 09:33:39 785
转载 【转载】解决调试jdk无法查看变量值问题(重新编译JDK源码)
1、解决Eclipse调试JDK源码无法查看变量值https://blog.csdn.net/u010407050/article/details/76690478
2019-06-21 09:29:01 189
原创 阅读Spring源码过程中,对一些细节的解析(持续更新)
1、spring容器加载分析 二容器刷新https://www.jianshu.com/p/5836d3d6dc722、Spring中的aware接口https://www.jianshu.com/p/c5c61c31080b
2019-06-19 09:48:21 279
原创 BeanFactory中ignoreDependencyInterface方法解析
解释得很透彻,顺便还说明了自动装配和注解@Autowired的区别https://www.jianshu.com/p/3c7e0608ff1f扩展:1、知识都是扩展的,上文中对于default-autowire和@Autowired解释的不够完整,以下文章进行了扩展。https://blog.csdn.net/findmyself_for_world/article/details...
2019-06-18 10:06:50 1460
原创 Java基础概念浅谈(1)——应用层面上interface(接口)和abstract class(抽象类)的区别
学习Spring源码已经有一段时间了,对代码设计有了一些收获,因此记录一下。我们常用到的类主要分为接口(interface)、抽象类(abstract class)以及实现类(class)。在代码中经常遇到这些java文件,在我学习Spring源码之前,更多是是生搬硬套,例如Dao层、Service层用interface,高级一点就是工厂模式、策略模式用一下interface,如果发现在设计模...
2019-06-13 09:02:04 326 1
基于C/S结构的Java局域网聊天系统包含MySQL数据库
2017-05-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人