Java-004 语言初识
语言诞生
c/c++ 优势
- c语言是现代编程语言的鼻祖,比较强大,同时具有一些汇编语言的特点,主要面向底层功能,有指针和内存管理的特点。应用于系统开发,编译器开发,数据库编写,网络系统开发。侧重于硬件,有较强的数据处理能力。总的来说,C语言贴近硬件,运行极快,效率极高。
- c++ ,在C语言的基础上进一步扩充和完善,兼容C语言的面向过程同时,成为面向对象的程序设计语言。在于游戏开发,图形处理领域方面较强。
c/c++ 劣势
- c语言对于指针和内存管理,例如内存释放之类的问题,往往需要程序员去自己管理,没有一个良好的工具去处理。往往很多问题会在编译之后出现,需要浪费宝贵的精力去调试。
- 为了解决C语言的一些问题,c++孵化出来了,但是部分核心内容相对而言更加复杂,
Java
起初,人们想要一种剔除了指针和内存管理的概念,强调真正的可移植性,面向对象,类型安全,同时具备高质量的类库等,优化掉c系列的一些负责内容。但是随着语言的开发深入,直接重新构造一门语言,即Java。
在Java诞生初期,互联网时代刚刚起步,所有的网页刚出来都相当的丑陋。Java在当时可以开发一个简单的图形界面,在当时开始就吸引了一些人关注,慢慢的从而发展起来成为一门主流编程语言。
初期只能在网页上进行编写,后来为了拓展影响力,分别发展三个方向 SE-桌面端 EE服务器端 ME手机端。
Java在服务器端有着自己的优势,强大安全健壮并且相对简单,跨平台作用便于团队连续开发一些复杂的大型项目。
慢慢的很多被授权公司基于Java开发了大量的平台、系统和工具(构建工具,应用服务器,web开发),展示了应用的可扩展性和高可用性。(注:三高 高并发 高性能 高可用)。Java提供了不少的中间件工具,让程序员不再拘泥于事物管理、安全管理、权限管理,脱身开来更好的投入业务,简化程序员的工作。
同时随着移动互联网的爆发和迅速普及,Android端的发展给Java带来了一波助力。
Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,舍弃了容易引起错误的指针,以引用取代;移除了C++中的运算符重载和多重继承特性,用接口取代;增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。Sun微系统对Java语言的解释是:“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言”
Java特性和优势
Java的特性列举
简单性,面向对象,可移植性,高性能,分布式,动态性,多线程,安全性,健壮性
- 简单性 相对c++来说,在其基础上提炼而来的Java剔除了头文件指针内存管理等概念,相对来说易学。
- 面向对象 程序设计模式,将充电重点放在对象以及对象之间的接口上,模拟人的自然思维去编写
- 可移植性 指Java的代码可以跨平台运行
- 高性能 即时编译,使某些代码效率接近于c++
- 分布式 Java诞生早期使在网络分布式环境上运行的,在很多应用协议上,访问相对便捷。
- 动态性 Java具有反射机制,通过反射让Java具备动态性。后期很多框架都基于反射机制运行。
- 健壮性 Java具有异常机制,对于程序出现的异常会自动捕获,从而解决问题
Java的优势
使用的人多,是一个当下的主流编程语言,语言生态相对好,市场拥有一定的潜力。
Java三大版本
Java可以跨平台,在桌面端、移动端、服务器端都有广泛应用
- JavaSE 标准版 应用于桌面程序、控制台开发
- JavaME 嵌入式开发 应用于移动端,小家电之类的嵌入开发
- JavaEE 企业级 应用于web端、服务器开发,提供企业级应用开发的解决方案。
JDK JRE JVM
- JDK – java development kit
JDK是java开发工具包,在目录下面有六个文件夹、一个src类库源码压缩包、和其他几个声明文件。
其中,真正在运行java时起作用的 是以下四个文件夹:bin:最主要的是编译器(javac.exe) \ include:java和JVM交互用的头文件 \ lib:类库 \ jre:java运行环境
- JRE – java runtime environment
JRE是指java运行环境。光有JVM还不能成class的 执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。
- JVM – java virtual machine
JVM就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。
JVM 是 Java 平台的基础,和实际的机器一样,它也有自己的指令集,并且在运行时操作不同的内存区域。 JVM通过抽象操作系统和CPU 结构,提供了一种与平台无关的代码执行方法,即与特殊的实现方 法、主机硬件、主机操作系统无关。

浙公网安备 33010602011771号