(本文只是作者读书的总结,不作为自己的著作和
商业用途,仅供自己记录和学习之用,如
涉及到版权问题,本文可以立刻删除。仅此公示。)
简单
java的设计的目地是让开发者感觉简学易用,
假如你一个丰富的c++
程序员,那么学习java不费吹灰之力,因为java继承了c和c++语法和面向对象的特性
安全
当你从互联网上下载一个可执行文件的时候,下载完成,都反复检查病毒,生怕电脑被病毒入侵。除了病毒,另一种恶意的程序也必须警惕。这种恶意的程序可通过搜索你计算机本地文件系统的内容来收集你的私人信息。Java在网络应用程序和你的计算机之间提供了一道防火墙,也就我们说的
JVM
可移植
java的可移植关键是字节码。字节码在jvm下运行,只要不同平台集成jvm,则相同的字节码文件被不同平台的jvm解释执行,从而达到可移植性。
面向对象(封装、继承、多态)
⑴对象。
对象是人们要进行
研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅
能表示具体的事物,还能表示抽象的规则、计划或事件。[2]
⑵对象的状态和行为。
对象具有状态,一个对象用数据值来描述它的状态。
对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。
对象实现了数据和操作的
结合,使数据和操作封装于对象的统一体中[2]
⑶类。
具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。因此,对象的抽象是类,
类的具体化就是对象,也可以说类的实例是对象,类实际上就是一种数据类型。
类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。
类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。[2]
健壮
程序失败的两个主要原因:
内存管理
错误和误操作引起的
异常情况(也就是运行时错误)
在传统的编程环境下,内存管理是一项困难、乏味的任务。例如,在C/C++中,程序员必须手工地分配并且释放所有的动态内存。这有时会导致问题,因为程序员可能忘记释放原来分配的内存,或者释放了其他部分程序正在使用的内存。 Java通过替你管理
内存分配和释放,可以从根本上消除这些问题(事实上,释放内存是完全自动的,因为Java为闲置的对象提供内存垃圾自动收集),还有java有异常机制,各种异常都有自己把控。
多线程
略
体系结构中立
由于jvm的结构中立,导致不管操作
系统升级,
处理器升级,还是系统资源的变更,都对程序的运行没有任何影响。“只要写一次程序,在任何地方、任何时间该程序永远都能运行”.
解释性和高性能
java是解释执行语言,而且java的字节码经过仔细设计,和容易被JIT编译技术将字节码直接转换成高性能的本机语言。
分布式
java为Internet的分布式环境而设计,因为处理tcp/ip
协议。提供远方法的
远程调用的软件包,这个特性使客户端/服务器编程达到了无与伦比的抽象级。
动态
Java程序带有多种的运行时类型信息,用于在运行时校验和解决对象访问问题