基本概括
发展之初要求语言本身是中立的,也就是跨平台的
特性
- 可移植性/跨平台:核心优势,设计时就注重跨平台性
- 简单性:语法上相当于C++的简化版本(没有头文件、指针运算、结构等)
- 面向对象:接口实现了多继承,本身是单继承
- 分布式:能够处理TCP/IP协议、通过URL或者远程方法调用,就和打开本地文件一样简单
- 健壮性:检测机制非常的完善(Java的指针模型可以消除重写内存和损坏数据的可能性)
- 安全性
- 高性能:通过即时编译器会进行代码的内部优化,以及消除内联
- 多线程:多线程的简单性是Java成为主流服务器端开发语言的重要原因之一
- 动态性:可以简单地找出运行时类的信息,以及向运行中的程序动态的添加代码
版本迭代
-
Java1.0:96年初次发布
-
Java1.2:发布了SE、EE、ME三种版本
- JavaSE(标准版,定位在桌面应用)
- JavaEE(企业版,定位在服务器端应用)
- JavaME(微型版,定位消费电子产品)
-
Java5.0(1.5):重大改进版本
- 添加了泛型,并且添加此特性没有对虚拟机做出任何修改
- foreach循环
- 自动装箱
- 注解
-
Java8:最大改变的版本
- 提供了一种“函数式编程”方式
Java运行机制
-
Java是编译型和解释型两者的结合
- Java后缀的文件先编译成class字节码文件
- 字节码文件交给JRE(包含虚拟机)解释
-
ps:一个java文件可以写多个class,编译后会生成对应class名称的多个class文件
JVM、JRE、JDK
- JVM(虚拟机):JVM(Java Virtual Machine)就是一个虚拟的用于执行bytecode字节码的"虚拟计算机”
- JRE(运行环境):Java Runtime Environment包含:Java虚拟机、库函数、运行Java应用程序所必须的文件
- JDK(Java开发工具包):Java Development Kit JDK)包合:包含RE,以及培加揭译器和调讯器用于程序开发的文Java Development KitJDK)包含:包含JRE,以及增加编译器和调试器等用于程序
相关
- 说出计算机语言为什么按照第一代、第二代、第三代发展?
- 为了降低计算机语言开发难度,减少对计算机硬件的直接编程,提升开发效率
- Java 有什么核心优势让其流行?
- 跨平台性
- 互联网上的电脑硬件不同,软件环境差异较大。需要一个跨平台的语言
- Java 是哪个公司发明的?现在这家公司处境如何?为什么?
- Java是Sun公司发明的
- Sun 公司在2009被Oracle公司收购因为Sun是一家极具创新能力的公司,但是没能利用Java构建一个强有力、可变现的生态系统,没打好Java这副牌
- Java的跨平台是通过什么实现的?
- 通过在不同平台上安装相应的Java虚拟机实现的;虚拟机可以将字节码文件(class)解释成相应平台的机器语言并执行
- Java 语言释型还是编译型?还是两者都是?
- 两者的结合,先编译再解释
- JDK包含JRE,这句话对吗?
- 对;JDK包含JRE;同时JRE包含JVM