04 2018 档案

摘要:异常是日常开发中大家都「敬而远之」的一个东西,但实际上几乎每种高级程序设计语言都有自己的异常处理机制,因为无论你是多么厉害的程序员,都不可避免的出错,换句话说: 你再牛逼,你也有写出 Bug 的时候。 而所谓的「异常处理机制」就是能够在你出现逻辑错误的时候,尽可能的为你返回出错信息以及出错的代码大致 阅读全文
posted @ 2018-04-26 19:50 Single_Yam 阅读(1158) 评论(1) 推荐(0) 编辑
摘要:上一篇文章『Java 的时间日期 API』中,我们学习了由 Date、Calendar,DateFormat 等组成的「传统时间日期 API」,但是传统的处理接口设计并不是很友好,不易使用。终于,Java 8 借鉴第三方优秀开源库 Joda time,重新设计了一套 API。 那么本篇文章就来简单学 阅读全文
posted @ 2018-04-23 19:49 Single_Yam 阅读(1284) 评论(5) 推荐(2) 编辑
摘要:自从 14 年发布 Java 8 以后,我们古老 java.util.Date 终于不再是我们 Java 里操作日期时间的唯一的选择。 其实 Java 里的日期时间的相关 API 一直为世猿诟病,不仅在于它设计分上工不明确,往往一个类既能处理日期又能处理时间,很混乱,还在于某些年月日期的数值映射存储 阅读全文
posted @ 2018-04-21 17:43 Single_Yam 阅读(2764) 评论(0) 推荐(0) 编辑
摘要:众所周知,我们的 C++ 程序语言是多继承制的,而多继承明显的好处就是,相对而言只需要写较少的代码即可完成一个类的定义,因为我们可以通过继承其它类来获取别人的实现。 但是,它也有一个致命性的缺陷,容易出现「钻石继承结构」,例如: C 和 D 继承自 A,并得到 A 的 name 属性,那么如果有一个 阅读全文
posted @ 2018-04-17 19:24 Single_Yam 阅读(5626) 评论(0) 推荐(5) 编辑
摘要:上篇文章我们简单介绍了包装的相关基本概念,并简单分析了 Integer 类中的几个核心的方法源码,但是有关自动拆装箱的概念限于篇幅并没能完成介绍,本篇还将分析几种常见的包装类面试题,深入理解一下我们的包装类设计。 自动拆装箱 所谓「拆箱」就是指,包装类型转换为基本类型的过程,而所谓的「装箱」则是基本 阅读全文
posted @ 2018-04-14 19:25 Single_Yam 阅读(513) 评论(0) 推荐(0) 编辑
摘要:我们都说,Java 是一门面向对象型程序设计语言,但是它设计出来的「基本数据类型」仿佛又打破了这一点,所以,只能说 Java 是非 100% 纯度的面向对象程序设计语言。 但是,为什么 Sun 公司一直没有删除「基本数据类型」,而是为它增设了具有面向对象设计思想的「包装类型」呢? 想必是有道理的,那 阅读全文
posted @ 2018-04-14 09:37 Single_Yam 阅读(15393) 评论(0) 推荐(4) 编辑
摘要:访问权限控制又称「隐藏具体实现」,也就是说,我们可以通过它来决定某个类或者类中的成员在程序中的可见范围。例如,被修饰为 public 的元素在全局范围可见,而被修饰为 private 的元素只能可见于类的内部。 Java 的访问权限控制提供了四种不同的访问权限限定词,用于描述元素在程序中的可见范围。 阅读全文
posted @ 2018-04-11 15:08 Single_Yam 阅读(880) 评论(0) 推荐(1) 编辑
摘要:今天,我们就来解决一个问题, 一个类实例究竟要经过多少个步骤才能被创建出来 ,也就是下面这行代码的背后,JVM 做了哪些事情? Object obj = new Object(); 当虚拟机接受到一条 new 指令时,首先会拿指令后的参数,也就是我们类的符号引用,于方法区中进行检查,看是否该类已经被 阅读全文
posted @ 2018-04-10 16:20 Single_Yam 阅读(1954) 评论(0) 推荐(2) 编辑
摘要:Java 语言与其他编程语言有一个非常突出的特点, 自动化内存管理机制 。而这种机制离不开高效率的垃圾收集器(Garbage Collection)与合理的内存分配策略,这也是本篇文章将要描述的两个核心点。 引一句周志明老师对 Java 中的内存管理机制的描述: Java 与 C++ 之间有一堵有内 阅读全文
posted @ 2018-04-04 10:31 Single_Yam 阅读(513) 评论(0) 推荐(2) 编辑

点击右上角即可分享
微信分享提示