初学笔记(三)
sun公司对Java的描述:“Java is a simple, object-oriented, distributed,i nterpreted, robust, secure, architecture neutral, portable, high-performance, multihreaded, and dynamic language”.翻译过来就是:“Java是一门简单的,面向对象,分布式,解释性,健壮的,安全的,结构中立的,便捷的,高性能的,多线程的,动态的语言”。
简单性
在Java语言中,真正操作内存的是:JAM(Java虚拟机),所有的java程序都是运行在java虚拟机当中,而java虚拟机执行过程中再去操作内存。对于C或者C++来说,程序员都是可以直接通过指针操作内存的。C或者C++更灵活,可以直接由程序员操作内存,但是要求程序员技术精湛。C语言或者C++更有驾驭感。
在java语言中,屏蔽了指针的概念,程序员不能直接操作指针,或者说程序员不能直接操作内存,
优点:不容易导致内存泄漏。(简单了)
缺点:效率问题,包括驾驭感比较差。
注:java语言底层是C++,JVM是用C++语言写好的一个虚拟的电脑。
面向对象
java是堪称完全面向对象的,面相对象的方式可以让复杂的问题简单化,更容易让人理解。
健壮性
java中有一种机制:自动垃圾回收机制(GC机制)。java与C语言相比较,C语言没有java健壮。java不容易导致内存的泄漏,而C++或C语言是用不当很容易导致内存泄漏。
JVM负责调度GC机制,程序员不需要干涉。
多线程
java完美/完全支持多线程同时并发执行,也提供了多线程环境下的安全机制。
可移植性/跨平台
java语言只要编写一次,可以做到到处运行。
例如:java程序编写完成之后,可以运行在windows操作系统上,不需要做任何改动就可以直接运行在Linux操作系统上,同样也可以运行在MaC OS上面。
一次编写,到处运行。
JVM屏蔽了系统之间的差异。
注:在安装JDK的时候会自带JVM,所以JDK也有不同的版本:Windows版的JDK,Linux版本的JDK等。
优点:一次编写,到处运行。
缺点:对于运行java程序来说必须先有一个JVM
补充:
- JDK: Java开发工具箱
- JRE:Java运行环境。
- JVM:Java虚拟机
JDK包括JRE,JRE包括JVM。三者除JVM外,都可以单独安装。