Java语言是一种面向对象的高级语言,它最显著的有两个特性,一是经过平台中立的class文件格式和屏蔽底层硬件差别的jvm实现‘一次编写,处处运行’;二是经过‘垃圾收集器’管理内存的分配和回收。java
Java 是一种简单、严谨而且适合编写的语言,它不像C/C++ 那样有不少晦涩难懂的内容,如头文件、指针、结构等等。咱们编写java 会接触到 JRE(Java Runtime Environment)或者 JDK(Java Development Kit)。 JRE,也就是 Java 运行环境,包含了JVM 和丰富的 Java 类库,好比集合,泛型,反射,并发,网络,IO/NIO等。而 JDK 能够做是 JRE 的一个超集,提供了更多工具,好比编译器、各类诊断工具等,让java 语言更加安全、健壮。还有更多第三方类库的支持,如spring、springmvc、mybatis等让java 很是适合开发。spring
不少对Java 的影响是它很慢,由于它是解释执行。其实不是这样的,Java 是解释执行+编译执行混合型。通常JVM 是直接解释执行.class文件,当出现高频代码时JVM 会经过JIT 即时编译器把常常运行的代码做为"热点代码"编译与本地平台相关的机器码,并进行各类层次的优化。编程
一、Java是纯面向对象的语言。《Java编程思想》中提到Java语言是一种“Everything is object”的语言,它可以直接反映现实生活中的对象,例如车、动物等,所以经过它编写程序更容易。数组
二、平台无关性。Java语言能够“一次编译,处处执行”。不管是在Windows平台仍是在Linux、MacOS等其余平台上对Java程序进行编译,编译后的程序在其余平台上均可以运行。因为Java是解释性语言,编译器会将Java代码变成“中间代码”,而后在Java虚拟机(Java Virtual Machine,JVM)上解释执行。因为中间代码与平台无关,所以Java语言能够很好的跨平台执行,具备很好的可移植性。安全
三、Java提供了不少内置的类库,经过这些类库,简化了开发人员的程序设计工做,同时缩短了项目的开发时间,例如,Java语言提供了对多线程的支持,提供了对网络通讯的支持,最主要的是提供了垃圾回收器,这使得开发人员从内存的管理中解脱出来。网络
四、提供了对Web应用开发的支持。例如,Applet、Servlet和JSP能够用来开发Web应用程序;Socket、RMI能够用来开发分布式应用程序。mybatis
五、具备较好的安全性和健壮性。Java语言常常被用在网络环境中,为了加强程序的安全性,Java语言提供了一个防止恶意代码攻击的安全机制(数组边界检测和Bytecode校验等)。Java的强类型机制、垃圾回收器、异常处理和安全检查机制使得用Java语言编写的程序具备很好的健壮性。多线程
六、去除了C++语言中难以理解、容易混淆的特性,如头文件、指针、结构、单元、运算符重载、虚拟基础类、多重继承等,使得程序更加严谨简洁。并发