一个 面向对象 的木匠首先关注的始终是所制作的椅子,第二位才是所使用的工具;一个 非面向对象 的木匠首先考虑的是所用的工具。
面向对象将重点放在数据(即对象)和对象的接口上。
Java的分布式体现在:其有一个丰富的例程库,用于处理像HTTP FTP 这样的TCP/IP 协议。Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。
Java适用于网络、分布式环境。使用Java可以构建防病毒、防篡改的系统。
除了与用户界面有关的部分外,所有其他Java库都能很好地支持平台独立性。
Java是第一个支持并发设计的主流语言。
Java applet与Internet
(虽然这过时了,但原来曾经这么辉煌)
Java8的函数式编程方式可以很容易地表述并发执行的计算
(目前理解:是因为写起来很简便)
XML是一种描述数据的方式,可以使用任何一种语言处理XML数据,而JavaAPI对此提供了很好的支持。
Java在服务器端编程和跨平台客户端应用领域很有优势。
程序设计语言的成功更多取决于其支撑系统的能力,而不是优美的语法。
关于Java是否一定比C++慢:
早期的Java是解释型的。现在Java虚拟机使用了实时编译器,“热点”代码运行速度与C++相差无几,有些情况甚至更快。
(我的理解:现在用IDEA这个编译器,确实能感受到是实时编译的 ;不过因为个人水平有限,现在写的代码都还很低级很菜,每每参加算法比赛,总是感叹于自己用Java写的垃圾代码误事,同一个思路,C\C++却能通过,这是我的问题…)
从这个系列开始笔者打算重学Java。
简要回顾一下之前的学习历程。
笔者现在大二下,从大一寒假开始通过网络上的培训班资源入门java语言,了解了一些基础语法,写过几个小demo;到后来实验室项目需要用到java,又找了一本《java核心思想》(原著《Thinking in Java》)的书来看,还没看完,又学了 面向对象程序设计 这门课程,但是课时太少,感觉什么都还没学就已经结课了;越是实际写代码,就越感觉到自己之前所学的浅薄和片面,趁现在还在学校,还有很多时间,赶紧好好补一下基础知识。
至于框架,我认为暂时还不着急。顶层的东西一直在变化,让人应接不暇。但是懂了底层原理,无论上层怎么变,相信都是一理通百理明的事。实际开发需要用到什么框架,再针对性地学习吧,没必要过早把自己绕进去。