随笔分类 - Java程序员进阶之路
据说每一个优秀的 Java 程序员都喜欢她,风趣幽默、通俗易懂。内容包括 Java 基础、Java 并发编程、Java 虚拟机、Java 企业级开发、Java 面试等核心知识点。学 Java,就认准 Java 程序员进阶之路😄
摘要:一年前,当我和小伙伴小龙一起做一个外包项目的时候,受到了严重的鄙视。我那时候还不知道 Maven,所以搭建项目用的还是最原始的方式,小龙不得已在导入项目的时候花了很长时间去下载项目依赖的开源类库。 出于对我的尊重,小龙没有破口大骂,而是非常委婉地说了一句:“二哥,你好歹也有一定的知名度了,竟然没用
阅读全文
摘要:01、前言 很早之前,曾在网络上见到过 TDD 这 3 个大写的英文字母,它是 Test Driven Development 这三个单词的缩写,也就是“测试驱动开发”的意思——听起来很不错的一种理念。 其理念主要是确保两件事: 确保所有的需求都能被照顾到。 在代码不断增加和重构的过程中,可以检查所
阅读全文
摘要:对于 Java 的序列化,我一直停留在最浅显的认知上——把那个要序列化的类实现 Serializbale 接口就可以了。我不愿意做更深入的研究,因为会用就行了嘛。 但随着时间的推移,见到 Serializbale 的次数越来越多,我便对它产生了浓厚的兴趣。是时候花点时间研究研究了。 01、先来点理论
阅读全文
摘要: 00、故事的起源 “二哥,听说上一篇《多线程》被 CSDN 创始人蒋涛点赞了?”三妹对她提议的《教妹学 Java》专栏一直很关心。 “嗯,有点激动。刚开始还以为是个马甲,没想到是真人!” “其实蒋涛点赞的文章很多很多了,二哥的只是其中一篇而已。”三妹出乎意料地泼起了冷水。 “你说得没错。但这的确
阅读全文
摘要:00、故事的起源 “二哥,上一篇《集合》的反响效果怎么样啊?”三妹对她提议的《教妹学 Java》专栏很关心。 “这篇文章的浏览量要比第一篇《泛型》好得多。” “这是个好消息啊,说明更多人接受了二哥的创作。”三妹心花怒放了起来。 “也许没什么对比性。” “没有对比性?我翻看了一下二哥 7 个月前写的文
阅读全文
摘要:01、蓦然 真没想到,Java 竟然 24 岁了(算是 90 后)! 提起 Java,印象最深刻的当然就是: 我闭着眼睛敲了一遍,感觉指尖与键盘又呼应到了:还是那种熟悉的感觉! 02、回首 我是 2008 年上的大学,专业是计算机网络,被调剂的——这间接地证明了: 第一,我当年压根就不知道报考的学校
阅读全文
摘要:00、故事的起源 “二哥,上一篇《泛型》的反响效果怎么样啊?”三妹对她提议的《教妹学 Java》专栏很是关心。 “有人评论说,‘二哥你敲代码都敲出幻想了啊。’” “呵呵,这句话充斥着满满的讽刺意味啊。”三妹有点难过了起来。 “不过,也有人评论说,‘建议这个系列的文章多写啊,因为我花了半个月都没看懂《
阅读全文
摘要:00、故事的起源 “二哥,要不我上大学的时候也学习编程吧?”有一天,三妹突发奇想地问我。 “你确定要做一名程序媛吗?” “我觉得女生做程序员,有着天大的优势,尤其是我这种长相甜美的。”三妹开始认真了起来。 “好像是啊,遇到女生提问,我好像一直蛮热情的。” “二哥,你不是爱好写作嘛,还是一个 Java
阅读全文
摘要:01、 你有没有这样的印象,当你想要更新一款 APP 的时候,它的更新日志里总有这么一两句描述: 修复若干 bug 杀了某程序员祭天,并成功解决掉他遗留的 bug 作为一名负责任的程序员,我们当然希望程序不会出现 bug,因为 bug 出现的越多,间接地证明了我们的编程能力越差,至少领导是这么看的。
阅读全文
摘要:01、Lombok 的自我介绍 Lombok 在官网是这样作自我介绍的: Project Lombok makes java a spicier language by adding 'handlers' that know how to build and compile simple, boil
阅读全文
摘要:As long as you can still grab a breath, you fight.只要一息尚存,就不得不战。 有那么一段时间,我特别迷恋金山词霸的每日一句分享海报。因为不仅海报上的图片美,文字也特别美,美得让我感觉生活都有了诗意。就像文章开头的那句中英文对照,中文和英文都妙极了。
阅读全文
摘要:01、 来看网络上对接口的一番解释: 接口(英文:Interface),在 Java 编程语言中是一个抽象类型,是抽象方法的集合。一个类通过继承接口的方式,从而来继承接口的抽象方法。 兄弟们,你们怎么看,这段解释把我绕得晕乎乎的,好像喝过一斤二锅头。到底是解释抽象类呢还是接口呢?傻傻分不清楚。 搞不
阅读全文
摘要:01、 利用继承,我们可以基于已存在的类构造一个新类。继承的好处在于,子类可以复用父类的非 private 的方法和非 private 成员变量。 is-a 是继承的一个明显特征,就是说子类的对象引用类型可以是一个父类。我们可以将通用的方法和成员变量放在父类中,达到代码复用的目的;然后将特殊的方法和
阅读全文
摘要:01、 很久没有思考过什么是面向对象这个问题了,就好像很久没有吃过烤红薯一样,那股香味究竟是什么,已经很难准确地形容出来了。脑海中只浮现出这样一幅动图: 前两天,读者秋秋问我: 二哥,究竟什么是面向对象呢?还有,什么是面向过程。今天去面试的时候,面试官让我用面向对象的思想谈一谈这次面试的过程。 看到
阅读全文
摘要:我从事Java编程已经11年了,绝对是个老兵;但对于Java并发编程,我只能算是个新兵蛋子。我说这话估计要遭到某些高手的冷嘲热讽,但我并不感到害怕。 因为我知道,每年都会有很多很多的新人要加入Java编程的大军,他们对“并发”编程中遇到的问题也会有感到无助的时候。而我,非常乐意与他们一道,对使用Ja
阅读全文
摘要:在 Java 中,并不是所有的类型信息都能在编译阶段明确,有一些类型信息需要在运行时才能确定,这种机制被称为 RTTI,英文全称为 Run-Time Type Identification,即运行时类型识别,有没有一点“知行合一”的味道?运行时类型识别主要由Class类实现。 Java注解是一系列元
阅读全文
摘要:《Java编程思想》中有这么一句话:“有时恰恰因为它,你才能够‘优雅而干净’地解决问题”——这句话说的是谁呢?就是本篇的主角——枚举(Enum)——大家鼓掌了。 在之前很长时间一段时间里,我都不怎么用枚举,因为总感觉它没什么用处——这其实就是“自我认知”的短见。当一个人一直蹲在自己的深井里而不敢跳出
阅读全文
摘要:对于Java I/O来说,I意味着Input(输入),O意味着Output(输出)。读书写作并非易事,而创建一个好的I/O系统更是一项艰难的任务。 古人云:“读书破万卷,下笔如有神”。也就是说,只有大量的阅读,写作的时候才能风生水起——写作意味着输出(我的知识传播给他人),而读书意味着输入(从他人的
阅读全文
摘要:在平常的开发当中,HashMap是我最常用的Map类(没有之一),它支持null键和null值,是绝大部分利用键值对存取场景的首选。需要切记的一点是——HashMap不是线程安全的数据结构,所以不要在多线程场景中应用它。 通常情况下,我们使用Map的主要目的是用来放入(put)、访问(get)或者删
阅读全文
摘要:在 Java 泛型出现之前,只有数组可以用来存储指定类型的对象;在自动装箱机制出现之前,只有数组可以用来存储基本数据类型;也就是说,在泛型和自动装箱机制出现之前,数组在 Java 当中的分量举足轻重。 况且数组还是一种效率最高的存储和随机访问对象序列的方式,但遗憾的是,数组的长度是固定的——举个例子
阅读全文