Java的发展与特点

主要从Java发展历程、Java语言特点以及与C/C++的区别介绍Java的发展与特点

Java的重大发展

Java重大发展历程

Java语言起源于90年代,以其跨平台特性迅速崛起,成为了软件开发的核心语言,目前Java语言经过不断地进化和新技术的加持,拥有了庞大的社区和稳固的地位

Java语言的前生:Java的前身是Oak,由James Gosling于1991年在Sun Microsystems开发,起初Oak的建立是为了开发一种能够运行在多种设备上的程序,特别是家用电子设备和嵌入式系统。然而随着互联网的兴趣,Oak项目被重新定位为一种面向网络的编程语言,并在1995年正式更名为Java。

Java语言的诞生:1995年5月23日,Java1.0正式发布,这标志着Java语言及其平台的正式诞生。Java1.0主要是Java的核心特性:Java虚拟机、Java编程语言规范、JavaAPI等。

Java发展前期:JDK1.0~JDK1.4是Java发展的前期,主要是对Java语言功能和性能的增强,例如JDBC、Swing等,其中JDK1.2是革命性的版本,在JDK1.2阶段不仅将Java分成了J2EE、J2SE、J2ME三个版本,还将API分为了三大类:核心API、可选API以及特殊API。

Java发展中期:2004年9月JDK1.5的发布,标志着Java发展历程中的一个重要里程碑,这个版本引入了诸多新特性,例如:泛型、枚举、自动装箱/拆箱、注解以及增强for循环等,极大的提高了Java编程效率。

Java鼎盛时期:JDK6~JDK11是Java发展的鼎盛时期,自从JDK1.5带来的重大突破,引来了无数开发者纷至沓来,Java保持着快速发展的势头,每个新版本都带来了更多的改进和新特性,例如:JDK7引入的try-with-resources语句的自动资源管理机制,JDK1.8带来的Lambda表达式和StreamsAPI,JDK11引入了模块化系统JPMS等,至此Java迎来了巅峰

未来趋势:JDK12及以后更新速度实在太快了,之前的那一批投身Java的大多还在用JDK8和JDK11,因此后面的版本只能作为对未来趋势的预测和推断。目前Java社区和开发者们不断探索新的应用领域和技术趋势,例如微服务、容器化、云原生等,同时Java也在积极适应新的编程范式和技术挑战,例如响应式编程、异步编程等。后面的版本主要是对Java性能上的优化,例如引入新型的即时编译器技术,也引入了新的API和语言特性,例如模式匹配、文本块等

总结:

J2EE:面向企业应用开发的完整解决方案

J2ME:用于控制移动设备、机顶盒等嵌入式消费电子设备的解决方案

J2SE:Java技术的核心和基础,是J2EE和J2ME的编程基础

image

CLDC和CDC是针对JavaME的两种不同的配置

CLDC:连接受限设备配置(Connection Limited Device Configuration),这些设备通常具有较小的内存和低下的处理能力,CLDC仅提供一个最小化的Java运行环境和Java核心类库,KVM作为Java虚拟机,通常用于移动电话、PDA等。

CDC:连接设备配置(Connection Device Configuration),这些设备具有更高的处理能力和内存资源。CDC提供更多的Java功能以便支持更多复杂的需求,通常用于数字电视、机顶盒、网络电话或车载设备等。


核心API:Sun公司制定的基本API,也就是Java核心类库

可选API:是Sun公司为JDK提供的扩充API,这些API因平台的不同而存在一定的区别

特殊API:用于满足特殊要求的API,例如用于JCA和JCE的第三方类库

虽然Java语言在软件开发领域位居高位,但是仍有下滑的趋势,并且每年选择Java的人实在太多了,焦虑其实还是很多的。希望大家了解每一门语言的发展历史,慎重选择,努力学习。

了解Java语言的特点

  1. 跨平台性(Platform Independence)

    这是Java语言最大的特点之一,Java语言的口号就是Write once,Run Anywhere(一次编译处处运行)。其实现原理就是通过JVM虚拟机。

  2. 面向对象(Object-Oriented)

    java是一门面向对象的编程语言,一切皆对象,支持封装、继承和多态。

  3. 自动内存管理(Automatic Memory Management)

    Java弱化了指针的概念,JVM会在适当的时候回收这些内存,编程人员无需进行内存管理,降低了内存泄漏和指针错误的风险,甚至文件流、线程池等实现了AutoCloseable接口的都支持try-with-resources自动释放资源内存占用

  4. 安全性(Security)

    Java提供了多种安全机制来保护程序免受恶意攻击和数据泄漏,面试中常说的Java类加载机制就是其中之一,还有SecurityManager可以限制程序对系统资源的访问权限以及Java的加密(加密扩展JCE)和认证框架(认证授权服务JAAS)

  5. 强类型语言(Strongly typed language)

    Java要求所有变量和方法在声明时都必须指定类型,强类型机制有助于编译时的错误捕获,提高程序的可靠性和稳定性

  6. 半编译半解释型语言

    Java的即时编译器和解释器共同工作,通过平衡两者的优缺点,实现了性能的显著提升

  7. 多线程支持(Multithreading Support)

    Java内置了对多线程的支持,并提供了丰富的同步与通信机制,例如synchronized、Lock等,使得Java在多任务场景也能游刃有余。

    image

Java语言的优势

广泛的应用领域

Java因其跨平台、安全性、高效性等特点,在多个领域得到了广泛的应用,例如:网站开发、移动应用开发、企业级应用开发、大数据处理、云计算平台等

庞大的开发者社区

Java拥有全球最大的开发者社区之一,开发者可以在社区内获取丰富的资源、文档和技术支持。同时社区中的开源项目和框架也非常多

良好的生态系统

历经多年的发展,Java的生态已经非常完善,例如:开发工具、框架、服务器等,这些工具和框架让Java开发更加高效便捷

持续的更新

Java技术的不断更新迭代,引入了多种新特性,在编程语言行列具有强大的竞争力

微服务和容器化

Java与微服务架构和容器化技术的兼容性,使得Java在构件现代云原生应用中地位也非常重要

分布式支持

Java支持分布式计算,可以实现远程方法调用和网络变成,适用于构建分布式系统

Java与c语言,c++的区别

image

posted @ 2023-09-05 23:07  杰尼龟的小龟壳  阅读(51)  评论(0)    收藏  举报