- 博客(88)
- 资源 (7)
- 收藏
- 关注

原创 用小说的形式讲解Spring(1) —— 为什么需要依赖注入
本文发布于专栏Effective Java,如果您觉得看完之后对你有所帮助,欢迎订阅本专栏,也欢迎您将本专栏分享给您身边的工程师同学。
2017-09-18 08:10:54
10463
12

原创 用画小狗的方法来解释Java中的值传递
本文是Effective Java专栏Java虚拟机专题的第九讲,如果你觉得看完之后对你有所帮助,欢迎订阅本专栏,也欢迎您将本专栏分享给你身边的工程师同学。在开始看我画小狗之前,咱们先来看道很简单的题目: 下面程序的输出是什么?Dog myDog = new Dog("旺财");changeName(myDog);System.out.println(myDog.getName());pub
2017-09-05 19:23:16
25567
11
原创 如何学习Java多线程
最近一段时间,我对《Java并发编程实践》这本经典而又有些难懂的书籍,尝试用了一些简单有趣、通俗易懂的方式进行解读,现整理成GitBook(文末有链接),方便大家阅读。
2018-04-09 08:22:26
3784
3
原创 如何用一句话介绍synchronize的内涵
本文发布于专栏Effective Java,如果您觉得看完之后对你有所帮助,欢迎订阅本专栏,也欢迎您将本专栏分享给您身边的工程师同学。 内涵与表象关于synchronize,一个非常通俗易懂,很容易记住的解释是: Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 这个解释很好,它非常直观的告诉我们使用syn
2018-01-23 11:14:35
1827
原创 如何在Spring Boot中使用TDD写出高质量的接口
写完这篇文章,结合之前那篇《如何说服你的同事使用TDD》,嗯,这下我真的非常有信心,可以说服你们使用TDD,说服你们去说服你们同事,使用TDD了。
2018-01-10 11:14:59
2142
原创 用空间换时间 —— Java虚拟机的算法实现
带着问题阅读垃圾回收时,需不需要暂停掉除GC线程外的其他线程?内存那么大,HotSpot如何快速地找到对象?导语上一讲介绍了虚拟机是如何利用可达性算法,判断一个对象是否需要回收,而HotSpot在实现这个算法时,必须对算法的执行效率有严格的要求,才能保证虚拟机的高效运行,那么,HotSpot是如何实现的呢?本文是Effective Java专栏Java虚拟机专题的第五讲,如果你觉得看完之后对你有所...
2017-08-13 16:36:46
4116
1
原创 生存还是死亡 —— Java虚拟机如何判断对象是否需要回收
Java的内存区域中,有哪些区域是垃圾收集器所关注的?怎么判断一个对象是不是需要回收?对象起死回生又是怎么回事?
2017-08-13 16:10:04
5092
原创 Java OutOfMemory异常清单 —— 在自己的机器上制造内存溢出
既然我们知道各个内存区域存储的内容,那么只要在代码上做一些手脚,就可以制造出OutOfMemory异常,这就是我们这一讲要做的事。
2017-08-06 16:52:47
7291
1
原创 Java内存区域剖析 —— 定位OutOfMemory异常之前的必修课
在学习如何定位这些异常发生的原因并提出解决方案之前,我们必须了解一下,Java虚拟机是如何划分自己的内存区域的。
2017-08-06 16:37:28
6223
原创 一起走进Java虚拟机的世界 —— 为什么要弄懂虚拟机
从本周开始,专栏Effective Java将开启一个全新的专题——Java虚拟机,在这个专题的课程里,您将学到如何定位OutOfMemory异常、如何进行JVM调优之类的知识,本文作为专题的开篇,带读者走进Java虚拟机的世界。
2017-07-30 21:46:04
6577
1
原创 Java 异常的使用清单 —— 原来这才是异常的正确打开方式
本文结合《Effective Java》第九章《异常》和自己的理解及实践,讲解了正确使用Java异常的优秀指导原则,文章发布于专栏Effective Java,欢迎读者订阅。
2017-07-02 19:13:57
3167
原创 Java 语言编程通用原则清单 —— 编写高质量的Java代码
本文结合《Effective Java》第八章《通用程序设计》和自己的理解及实践,讲解了编写Java代码的一些优秀实践,文章发布于专栏Effective Java,欢迎读者订阅。
2017-06-25 20:07:17
3354
原创 Java 设计方法的五条优秀实践清单
本文结合《Effective Java》第七章《方法》和自己的理解及实践,讲解了设计Java方法的优秀指导原则,文章发布于专栏Effective Java,欢迎读者订阅。
2017-06-18 16:44:45
2163
原创 Java 设计类和接口的八条优秀实践清单
本文结合《Effective Java》第四章《类和接口》和自己的理解及实践,讲解了设计Java类和接口的优秀指导原则,文章发布于专栏Effective Java,欢迎读者订阅。
2017-06-11 16:48:48
3467
1
原创 Java 比继承更好的一种机制 —— 复合
本文结合《Effective Java》第四章条目16和自己的理解及实践,讲解了Java继承机制的缺陷和替代方案,文章发布于专栏Effective Java,欢迎读者订阅。
2017-06-11 16:41:57
4999
1
原创 Java equals方法编写规范 —— 牢记这5条军规
本文结合《Effective Java》第三章条目8《覆盖equals时请遵守通用约定》和自己的理解及实践,讲解了在覆盖equals时需要遵守的规范,文章发布于专栏Effective Java,欢迎读者订阅。
2017-06-03 16:23:17
3536
原创 Java hashcode方法编写技巧 —— 记住这3条约定
本文结合《Effective Java》第三章条目9《覆盖equals时总要覆盖hashCode》和自己的理解及实践,讲解了在覆盖hashCode时需要遵守的规范,文章发布于专栏Effective Java,欢迎读者订阅。
2017-06-03 16:20:36
2555
原创 Java创建对象的方法清单 —— 原来还可以这样创建对象
本文结合《Effective Java》第二章《创建和销毁对象》和自己的理解及实践,介绍了两种比使用构造器更优雅的创建对象方法,文章发布于专栏Effective Java,欢迎读者订阅。
2017-05-28 16:37:11
2870
1
原创 Java静态工厂方法 —— 有了它,你还需要工厂模式吗
本文结合《Effective Java》第一章第一条目《考虑用静态工厂方法代替构造器》和自己的理解及实践,讲解了Java静态工厂方法的知识点,并在文末附上了自己对静态工厂方法和工厂模式的区别的理解,文章发布于专栏Effective Java,欢迎读者订阅。
2017-05-28 10:41:55
9351
2
原创 华为OJ 高级题(一) 铁路栈问题
说实话,华为Oj上的题目分级并不是完全合理,像这道铁路栈问题,其实就是一道判断出栈队列是否可能的数据结构题,最多也就是一道中级题吧。
2016-02-05 12:55:03
4310
原创 如何愉快地接手一个项目
如果说自己写的代码是自个的孩子,那么接手别人的代码就是替别人照顾孩子,甚至可以说你就是他的继父,就算这个孩子多么淘气和不乖,你也要把他当做自己的孩子去对待,这孩子有错的地方纵然和他父亲有关,但现在你是他的父亲,教育他,是你的责任。同样,调试一份接手过来的代码,也是你的责任。
2015-08-12 23:15:43
2421
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人