美文网首页我不想再做Java小白了
Java的核心目的是“为程序员减少复杂性”

Java的核心目的是“为程序员减少复杂性”

作者: 沉默王二 | 来源:发表于2019-01-27 07:55 被阅读0次

最近在读胡适先生(毛主席的评价是——说实在话,新文化运动他是有功的,不能一笔抹杀,应当实事求是。到了二十一世纪,那时候,替他恢复名誉吧)的《胡适文选》;其中一篇《问题和主义》中有这样一句,“多研究些问题,少谈些主义”。对我而言,就是“多学习学习应该掌握的IT技术,别整天琢磨怎么‘知识变现’”。

最近一段时间,我一直在思考怎么“知识变现”,我也希望自己像那些成功打造了自己品牌的前辈们(比如安晓辉、鸿祥、纯洁的微笑)一样,通过在Chat上开设课程,或者在知乎上开设Live来挣些钱。但我忽略了一点,这些成功的前辈们,早已通过博客积攒了大量的粉丝群,他们被我们这些崇拜者尊称为“大神”,而我显然不够格。

于是,我想,不如静下心来,重新读一些经典的IT技术书。从哪一本开始呢?想了一想,还是《Java编程思想》吧!毕竟本书赢得了全球程序员的广泛赞誉,从Java的基础语法到最高级特性,本书都能指导我们轻松掌握。

记得上大学(2008年)那会,就花大价钱买了一本影印版的《Java编程思想》,但由于初学Java,自己又对编程缺乏耐心,那时候看这本书,多多少少有一种看天书的感觉。后来,去苏州参加工作时也带了过去,但仍然没有心思去细致读这本书。2014年回洛阳的时候将这本书送给了一位同事——物尽其用吧,跟着我是浪费青春啊。2016年,我又重新买了这本书,我以为我会深入的了解它。但事与愿违,看了几章后,它还是落寞的躺在书架上积灰了。现在,我重新捧起这本书来读,好像有一种如释重负的感觉。

好了,这一篇博客,就从《Java编程思想》的“前言”篇开始吧。为什么要从“前言”开始呢?《略读指导举隅》一书中曾说过,“读一本书,最好能从前言、序言开始。如果是作者自己写的,那么,这里面浓缩了作者对于本书最精华的总结。”恰好,这篇“前言”就是作者Bruce Eckel(MindView公司总裁,总裁能写出这么细致的书,实在是厉害啊)自己写的。

前言里面,哪些是值得我们记住的呢?

第一,Java的核心目的是“为程序员减少复杂性”。用Sun(1995年开发了Java)的原话是:“我们关心的是,减少开发健壮代码所需的时间和困难”。尽管这个目标导致Java的运行效率偏慢,但与用C++开发相同的程序相比,Java只需要一半甚至更少的时间。作为程序员来说,这是我们最喜闻乐见的,不是吗?省下来的那一部分时间,还可以约女朋友去看场电影,对吧?况且,Java的版本一直在更新,性能也不断地被优化。

记得上大学那会,我们计算机网络专业只有两个班级,一个班级学Java,另外一个班级学C++(当时C++更受欢迎)。大学上完后,当初学C++的同学几乎都转了行(据他们说是C++的指针太飘忽不定了,难学难懂难掌握),而我们学Java的,至少还有十几个留在IT行业奋斗,现在的状况都还不错。这在一定程度上,也能够佐证“Java的确是在为程序员减少复杂性”。

第二,并发(现在称多线程)确实很难。因为就连作者都深陷“并发”的泥潭,但经过“数月的努力,还是走了出来”。所以,我们学习Java的人也没必要对并发丧失信心。

并发是什么呢?通常情况下,并发是指“系统能够同时并行处理很多请求”。大家都走过红绿灯路口,是吧?假如是单车道,那么一次就只能通过一辆车,后面的车依次通过,这个红绿灯路口就不支持并发;假如是两车道,那么一次就能通过两辆车,这个红绿灯路口就支持并发。

并发常用的一些指标有:

  • 响应时间(Response Time):系统对请求做出的响应时间。例如,一辆车通过红绿灯路口需要的时间为3秒,那么3秒就是响应时间。

  • 吞吐量(Throughput):单位时间内处理的请求数量。最明显的例子就是高速通道上的ETC和普通车道,显然ETC的吞吐量更大,因为不需要在进站的时候从窗口取卡,在出站的时候还卡缴费。

  • 并发用户数:同时承载正常使用系统功能的用户数量。例如,三车道一次可以通过三辆车,两车道一次可以通过一辆车。

那么,如何提升系统的并发能力呢?

1)提升单机硬件配置。比如说增加CPU核数(从2个到4个,从4个到8个),升级网卡到万兆,升级硬盘为SSD(固态硬盘,比普通硬盘读写更快、质量更轻、能耗更低、体积更小,但只有一个缺点就是更贵),扩充系统内存(从64G到128G);

2)改善单机架构配置。比如使用内存读写而不是每次都读写数据库;

3)增加服务器数量。单机性能总是有极限的,但服务器数量可以很庞大。

第三,章节没必要包含一个“足够大”的主题。就我个人而言,一天读十页书恰到好处,假如超出十页书,后面的读起来就会非常痛苦;就好像一篇文章,字数超过2000个,我读起来就很吃力;或者说,超出2000字的部分我会选择性忽略。

以上,就是我对《Java编程思想》前言篇的总结,希望这些文字对你在学习Java的道路上有所帮助。

相关文章

  • Java的核心目的是“为程序员减少复杂性”

    最近在读胡适先生(毛主席的评价是——说实在话,新文化运动他是有功的,不能一笔抹杀,应当实事求是。到了二十一世纪,那...

  • 要计算,不要判断

    If ... else ...是程序中复杂性的主要来源,减少If ... else ...就是减少复杂性。 如果可...

  • Spring学习之IOC

    认识Spring Spring是一个开源框架,目的是为了简化Java开发。为了降低Java开发的复杂性,Sprin...

  • 为什么要使用Spring

    Spring目的:降低java开发的复杂性。 为了实现以上目的,Spring 采取的关键策略: 1、基于pojo的...

  • 第一天学习笔记

    一:Spring的核心 1:简化java开发 为了降低java开发的复杂性,Spring采取了一下四种关键策略: ...

  • 推荐:Java性能优化系列集锦

    Java性能问题一直困扰着广大程序员,由于平台复杂性,要定位问题,找出其根源确实很难。随着10多年Java平台的改...

  • Spring5框架

    摘要 Spring框架概述 轻量级开源JavaEE框架,为了减少企业中项目复杂性,两个核心组成:IOC和AOP I...

  • 第十五条:使类和成员的可访问性最小化【类和接口start】

    类和接口是Java编程语言的核心,它们也是Java语言的抽象单元。Java语言提供了许多强大的基本元素,供程序员用...

  • spring核心初认识

    1,核心特性:依赖注入(DI)和面向切面编程(AOP) 2,为了降低Java开发的复杂性,spring采取了什么措...

  • Python基础学习--入门

    Python介绍- 程序员减少开发成本;- 相比java的开发效率要高;- 相比java的运行速度要低; Pyth...

网友评论

    本文标题:Java的核心目的是“为程序员减少复杂性”

    本文链接:https://www.haomeiwen.com/subject/kfcgjqtx.html