Java 的核心目的和并发编程
读一本书,最好能从它的前言开始。那么我们就来看看《Java编程思想》作者 Bruce Eckel 在前言里都说了些什么吧。
01、Java 的核心目的是“为程序员减少复杂性”。
James Gosling 创建 Java 语言的初衷是:“减少开发健壮代码所需的时间和困难”。尽管这个目标导致 Java 的运行效率偏慢,但与用 C++ 开发相同的程序相比,Java 只需要一半甚至更少的时间。
作为程序员,这是我们希望看到的。少敲代码省下来的那一部分时间,可以约个妹子去看场电影,放松一下,对吧?况且,Java 一直在更新,性能也不断地被优化。
记得上大学那会,我们专业只有两个班,一个班学 Java,一个班级学 C++。结果大学毕业后,C++ 的同学几乎都转了行,有些同学反馈说因为 C++ 的指针太飘忽不定了,难学难懂难掌握(C++ 表示不服,怎么能这样莫名其妙地泼脏水呢)。
02、并发编程确实很难。
Bruce Eckel 吐露心声说自己也曾深陷“并发”泥潭,但经过“数月的努力,还是走了出来”。所以,各位,千万不要丧失驾驭并发编程的信心啊,尽管并发编程是真的难。
并发是什么呢?通常情况下,并发是指“系统能够同时并行处理很多请求”。我们来看一下并发常用的一些指标。
1)响应时间(Response Time):系统从接收请求到做出回应所花费的时间。
2)吞吐量(Throughput):单位时间内处理的请求数量。最明显的例子就是高速通道上的 ETC 和普通车道,显然 ETC 的吞吐量更大,因为不需要在进站的时候从窗口取卡,在出站的时候还卡缴费。
3)并发用户数:同时承载正常使用系统功能的用户数量。
如何提升系统的并发能力呢?
1)提升单机硬件配置。比如说增加 CPU 核数(从 2 个到 4 个,从 4 个到 8 个),升级网卡到万兆,升级硬盘为 SSD(固态硬盘,比普通硬盘读写更快、质量更轻、能耗更低、体积更小),扩充系统内存(从 64G 到 128G)。
2)改善单机架构配置。比如使用内存读写而不是每次都读写数据库。
3)增加服务器数量。单机性能总是有极限的,但服务器集群数量可以很庞大。
好了,本篇文章到此就要结束了。我从《Java 编程思想》的前言里读到了以上这些内容,你呢?
下一篇:Java 的核心目的和并发编程
PS:微信搜索「沉默王二」公众号,关注后回复关键字「Java 编程思想」即可获取本书的电子版(高清带书签)。强烈大家购买纸质版,读起来不费眼。