纯真的Java

知乎上的帖子说起

我做java web有几年了,总是写很多业务逻辑,对底层并没有清晰的认识,每天面对的是各种繁杂的业务应用...各种框架...等等。

做web多了没有什么激情了,没有那种能学到新知识信息的感觉了,我自己开始学习关于底层的东西,比如计算机系统,Linux编程等等...

于是我有个想法,打算转到其他领域,...

...希望邀请的大牛和有过这方面经历的人指点迷津,感谢!

面试的一段对话

考官:“你知道网络的7层架构吗?”
A 君:(笑)
考官:“为何发笑?”
A 君:“没听说过还有7层架构,只听过3层架构”
考官:(惊)“哪三层?”
A 君:“MVC”
考官:(无语)。。。


考官:“你知道Java最擅长的地方是什么?”
B 君:“网络”
考官:(喜)“网络的哪些方面?”
B 君:“Web应用”
考官:(汗)。。。
因为,从一上班就弄Web

很多人已经忘记了的Java的纯真

用Java去写跨平台的基础软件,利用Java优秀的网络处理能力,去探寻异构系统跨平台Java多线程服务程序。

Java的Socket程序也许是你用得最多的一个应用方向。每天都在为Java多线程的开销而烦恼,不断的进行性能诊断和系统的调优。

有的时候为了解决Java的内存消耗太大的问题彻夜未眠。为了降低内存的消耗,减少与磁盘交换数据的可能性而烦恼。为了让Java程序跑得快,不 断的去尝试简化应用程序

互联网让纯真,再次回归

快速上线

高并发

海量数据

SaaS

以上在有些程序员眼里,好像跟Java都没有关系

再看看这些跟Java有关系吗?

5000次/秒并发的服务

1w台网络设备监控指标采集9秒完成

从每天数据增量在20GB的数据库里拿数据出图表

高并发的DNS Server

......

告诉大家,这些都是Java开发的

有个乌龙事件


其实我是先做的对比


一个笑话

曾经的一个这样的团队:

这个团队的开发主管没有从影响导出速度的“大数据量”方面下手解决问题,而是想当然的认为速度慢的影响主要来自Java语言本身,这当然最终导致程序的失败。

锋利的设计

我们要的是红缨枪

而不是青龙偃月刀

  • 总想完美,总想无瑕疵,总怕有人说自己不专业

  • 程序设计的越来越复杂,无任何必要的滥用设计模式

  • 被架构师拖死的公司比比皆是,真是哀鸿遍野......

• ps:几个小故事

• 他们把领导,客户,投资人,程序员一并拖死了。

老板们经常犯的错误

很多老板以为投入足够的人和钱就可以作出好系统

其实不然,就好比一个丑女即使浑身上下都披上金条,却仍然是丑女。

最终,唯一的结果就是:钱花光了

锋利的例子之一


锋利的例子之二


锋利的例子之三


回到本讲刚刚开始的那个帖子

引用我书中的一段话:

让我们变得不再纯真的并不是Web开发工作本身,让我们不再纯真的是 包裹在一个单纯的Java开发技术外的复杂的、八股的、晦涩的概念, 让我们变得越来越虚伪,越来越务虚。

本讲观点:Java是纯真的

我们应让Java自由、直接、透明、简单、高效,像匕首那样锋利,像战士那样勇猛,像农夫那样朴实。

反对繁琐华丽的设计,反对架床迭屋的层层抽象,反对复杂的结构和不必要的灵活性。

吃饭就是吃饭,喝酒就是喝酒,抓肉就是抓肉。

别拒绝Ta...


posted @ 2018-01-01 16:34  Bug开发攻城狮  阅读(172)  评论(0编辑  收藏  举报