这个事情源自于最近跟朋友的聊天。在聊天的时候朋友说自己在出一套Java的试卷,问问我有没有什么灵感。 我问朋友要求是什么,朋友说要求就是两点,一个是够基础,一个是他希望这套题“反八股文”,让死背Java八股文的朋友能认识到光背八股文是不行的。 于是我就从八股文最爱问的HashMap问题下手,出了一个这样的题,大致内容是这样的: public cla…
最近听到了一个神奇的词“SPI”,本着听不懂就多查查的道理去查了一波,发现网上搜不到这个词,只能搜到个“串行外设接口”的释义。 在请教了许多dalao之后,我终于对Java中的SPI机制有所了解了。 SPI机制其实应用很广泛 其实SPI机制并不是一个离我们很遥远的高级特性,应用很广泛,比如以MySQL连接件举个例子。 我们经常编写一个Java连接M…
Java中目前有两套I/O库,分别是BIO(Blocking I/O,位于java.io包)与NIO(Non-blocking I/O,位于java.nio包)。 在Java4时,Java引入了新的I/O库,即Java NIO。实际上,正如《Java编程思想》中所述,旧的IO包已经使用NIO重新实现过了(详见此文,诸如FileInputStream…
什么东西会了的话就很简单,对于不会的人永远就是非常难。 之前我一直说Lambda太反人类,这玩意儿真难,淦。 之前跟海螺dalao和仓鼠dalao一直吐槽Lambda忒难了,这啥东西都是,他们两个人没有例外都用同一句话怼回我 ——这有啥难的。 今天下JDK的时候猛然发现,其实Java已经出Java14了。Java8都出了老久了,但是自己还没摸清楚这…
这一部分的内容是我曾经写过的一篇教程的一部分 Java程序的运行 Java是一门编程语言。 用Java编写应用的最大好处就是写一次就能在多个平台运行。 例如有些用户是Windows用户,有些玩家用的可能是苹果电脑,我们不至于为多个操作系统都单独做一份应用,即可做出各个平台下的产品。 我们的电脑一开始是没有Java程序的运行环境的(这个运行环境叫JV…