Java的诞生
以上信息来自维基百科-点我前往
类库
Java提供了强大且具备安全性、跨操作系统的类库。同时Java平台的生态及其完善,你可以使用Java操作数据库、NoSQL、实现网络编程、绘图、操作文件......
垃圾回收
Java程序的内存分配交由JVM(Java虚拟机)进行管理,在Java平台编程中,大多数你无需担心内存的分配问题,因为JVM会帮你进行"垃圾自动回收",通常我们也称垃圾回收的过程称为GC.
面向对象
Java语言的编程范式为面向对象(Object Oriented),它关注如果对一件事情进行抽象,在面向对象的世界里,一切事物皆为对象,对象间通过方法来传递消息,进而改变对象的状态。Java编程中的三大特点皆为面向对象的实践:
封装、继承、多态.
其次,Java语言多使用C++
语言进行开发,所以Java也具备很多C++
有的特性,但是Java也剔除了一些C++
的特性,使得Java使用起来更加简单,比如:操作符重载、虚基类、多重继承、指针......
还有一款面向对象的编程语言也经常与Java进行对比:C#
,C#
是微软推出的一种面向对象的编程语言,它在许多地方与Java都比较类似,许多人认为C#
从语法上比Java更加简洁,但是由于早期C#
仅能运行在Windows系统上,所以在Linux的平台上,Java更胜一筹.
解释型执行
Java编译器将代码编译成字节码文件(class),然后由JVM来解释执行这些字节码文件,最终翻译成本地机器代码执行。
但是,通过虚拟机一条条地解释字节码的速度跟直接编译的二进制机器代码肯定是无法相提并论的,所以JVM也提供了一种即时编译技术,将执行最频繁的热点代码直接编译成机器码来加快运行速度。
平台无关性
通过编译器编译后的字节码文件,可以通过JVM运行在每一种操作系统下,例如:Windows、Linux、Unix等
你可以认为JVM帮你打通了操作系统和硬件资源,而你最终只需要将符合字节码规范的class交由JVM执行即可。
多线程
Java的原生类库提供了对多线程编程的支持,这使得Java在一些高并发的应用场景下也能发挥很好的性能,并发编程也往往成为初级Java工程师成长为中级Java工程师的必备知识之一。
JDK和JRE
JDK(Java Development Kit)是Java平台提供的Java开发工具包,它不仅提供了JRE(Java Runtime Environment)、同时提供编译器、诊断工具等。
JRE:如上文所述,JRE是Java运行起来所需要的基础设施,包含了Java类库、JVM等。
使用命令行编译与运行Java文件
- 编译
javac HelloWorld.java
- 运行
java HelloWorld
- 反编译
javap -l HelloWorld
Java中常见的一些概念
术语 | 解释 | 英文 |
---|---|---|
JDK | Java开发工具包 | Java Development Kit |
OpenJDK | JavaSE的开源版本,不包含JavaFX | - |
JRE | Java程序运行时候需要的基础环境 | Java Runtime Environment |
Java EE | 用于复杂服务器应用的Java平台 | Java Enterprise Edition |
Java SE | 用于桌面或者简单应用的Java平台 | Java Standard Edition |
Java ME | 用于手机或者其他终端的Java平台 | Java Micro Edition |
安装JDK
点我前往