每当我告诉别人我一直在用Java工作时
大家的反应都是:
“纳尼!Java?为啥是Java?”
说实话
本人刚开始的时候也是同样的反应
但是由于Java的类型安全
执行性能和坚如磐石的工具
我渐渐地开始欣赏Java
同时我注意到
现在的Java已今非昔比——
它在过去的10年间稳健地改善着
缘何是Java?
假设每天都用Java的想法
还没有让君恶心到食不下咽
我在此重申Java已非你
所了解的“吴下阿蒙”了
当Python,Ruby,和Javascript在
“动态类型语言革命”?(我自己造的名词)
中大放异彩时
Java已经悄悄地借鉴了动态语言
和函数式语言的很多吸引人的特性
同时保留了让Java和JVM晋级
一流开发环境的先贤的努力成果
凭借大约9百万Java攻城狮的基层群体
Java仍然是世界上最受欢迎的编程语言
我们不能仅仅因为Java的
语法有一点点繁琐
就抹杀掉它所有的历史和开发工作
但是流行不等同于正确
下面我们就来看看是什么让Java如此大放异彩
Java虚拟机(JVM)
Java虚拟机(JVM)已经诞生20年了
在此期间
它被部署在成千上万的系统上
历经了无数的漏洞修复和性能提升
JVM的优点有以下几个方面
首先,JVM完美支持日志和监控
这使你可以很方便地监控小到
单个线程的性能指标
JVM有世界上最优化的垃圾回收器之一
你可以根据优化吞吐量
等因素灵活选择垃圾回收算法
最后,Java承诺的“writeonce,runanywhere”
终于得已实现
——你可以轻松地在任何架构
上部署一个Java应用(大家还是承认applet从来没有过吧)
为什么用Scala和Clojure这样
新式语言的聪明人会选择JVM作为
他们的执行环境呢?
——因为JVM为你的代码提供了
一个无出其右的分发环境
抛弃像JVM这样坚如磐
石的工具是非常不合理的
库的支持
如果你需要做点什么
\很可能已经有非常好用且
经过测试的Java库在等着你
Java库大部分都是成熟并
用于实际生产开发的
Google,Amazon,LinkedIn,Twitter
和很多Apache项目都很倚重于Java
如果你用了Java
你可以参考这些库和公司
从而借鉴伟大的程序员先驱们的工作
类型安全
Java的类型系统
虽然有时很繁琐
但是这使得你可以写出“好用”的代码
不再有运行调试
它使你可以依靠编译器而不是单元测试
——单元测试只在你知道bug在哪里的时候才有用
类型安全也使你轻松的代码重构
Java同时支持范型——
Go语言的最大诟病之一
再者,Guava这样的库I以最小的样板和开销
标准化了创建类型安全的API的方法
Java编译器的改进也意味着
你可以在享受类型安全的同时
最小化范型所需的样板代码
并发性
下面这条tweet总结了大多数动态语言的并行状态:
MostJS/Python/Rubyapps…pic.twitter.西宁白癜风医院青海治疗白癜风的医院