码出高效:Java开发手册-第2章(2)-阿里云开发者社区

开发者社区> 博文视点Broadview> 正文

码出高效:Java开发手册-第2章(2)

简介: 本章开始讲解面向对象思想,并以Java 为载体讲述面向对象思想在具体编程语言中的运用与实践。当前主流的编程语言有50 种左右,主要分为两大阵营:面向对象编程与面向过程编程。面向对象编程(Object-Oriented Programming,OOP)是划时代的编程思想变革,推动了高级语言的快速发展和工业化进程。OOP 的抽象、封装、继承、多态的理念使软件大规模化成为可能,有效地降低了软件开发成本、维护成本和复用成本。面向对象编程思想完全不同于传统的面向过程编程思想,使大型软件的开发就像搭积木一样隔离可控、高效简单,是当今编程领域的一股势不可......
+关注继续查看

2.2 初识Java

面向对象编程思想把所有的有形或无形的事物都看作对象,并给对象赋予相应的属性和行为,建立对象之间的联系,使程序员更加立体、形象地解决编程领域的问题。面向对象语言的忠实代表是Java 语言,它是一门富有生命力的语言,在最受欢迎的语言排行榜上,多年位居第一。Java 语言是1995 年由Sun 公司首次发布的。次年Java 开发工具包发布,即Java Development Kit,简称JDK1.0,这是Java 发展的一个重要里程碑,标志着Java 成为一门独立的成熟语言。随后,Sun 公司再接再厉发布了Just-in-time 编译器,简称JIT,不断进步的JIT 技术使Java 的执行速度接近甚至超过其他高级语言。

JDK 随着时代不断往前发展。在众多版本中,最具划时代影响力的版本是JDK5,项目代号Tiger。Doug Lea 推出的并发包,使Java 如虎添翼,成为工业级语言,在企业服务端得到极为广泛的应用。随着后续版本的陆续推出,Java 的发展与时俱进,推出了diamond 语法、函数式、模块化、var 类型推断等新特性。最新的JDK 版本是JDK11。

JRE(Java Runtime Environment)即Java 运行环境,包括JVM、核心类库、核心配置工具等。其中JVM(Java Virtual Machine)即Java 虚拟机,它是整个Java 体系的底层支撑平台,把源文件编译成平台无关的字节码文件,屏蔽了Java 源代码与具体平台相关的信息,所以Java 源代码不需要额外修改即可跨平台运行。JVM 不仅支撑着Java 语言,还包括Kotlin、Scala、Python 等其他流行语言。其中Kotlin 是Jetbrains 开发的跨平台语言,其语法简洁、类型安全,可以编译成字节码运行在JVM上,与Java 语言非常方便地进行混合编程。1999 年,Sun 公司发布公开版本的HotSpot,它是当前主流的Java 虚拟机。2006 年,在JavaOne 大会上开源相关核心技术,启动OpenJDK 项目,逐步形成了活跃的OpenJDK 社区。在社区的带动下,Java 生态也随之繁荣,包括AJDK、Spring、Hadoop、Dubbo、JStorm、RocketMQ 等Java 相关解决方案,极大地提升了Java 语言的生产效率。

Java 语言拥有跨平台、分布式、多线程、健壮性等特点,是当下比较主流的高级编程语言。它的类库非常丰富、功能强大、简单易用,对开发者友好,不仅吸收了C++ 的优点,还摒弃了其难以掌控的多继承、指针等概念。Java 比较好地实现了面向对象理论,允许开发工程师以优雅的思维方式处理复杂的编程场景。

现在我们简要回顾和总结一下从JDK5 到JDK11 的重要类、特性和重大改变。

JDK5 新特性:foreach 迭代方式、可变参数、枚举、自动拆装箱、泛型、注解等重要特性。

JDK6 新特性:Desktop 类和SystemTray 类、使用Compiler API、轻量级HTTPServer API、对脚本语言的支持、Common Annotations 等重要特性。

JDK7 新特性:Switch 支持字符串作为匹配条件、泛型类型自动推断、try-withresources资源关闭技巧、Objects 工具类、ForkJoinPool 等重要类与特性。

JDK8 新特性:接口的默认方法实现与静态方法、Lambda 表达式、函数式接口、方法与构造函数引用、新的日期与时间API、流式处理等重要特性。

JDK9 新特性:Jigsaw 模块化项目、简化进程API、轻量级JSON API、钱和货币的API、进程改善和锁机制优化、代码分段缓存等重要特性。

JDK10 新特性:局部变量的类型推断、改进GC 和内存管理、线程本地握手、备用内存设备上的堆分配等重要特性。

JDK11 新特性:JDK11 于2018 年9 月与《码出高效:Java 开发手册》同期发布,JDK11 中删除了Java EE 和 CORBA 模块,增加基于嵌套的访问控制,支持动态类文件常量,改进 Aarch64 内联函数,提供实验性质的可扩展的低延迟垃圾收集器ZGC等重要特性。

JDK12 新特性:Shenandoah 低暂停时间的GC、Switch 表达式功能增强、G1 收集器的优化。




版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
PO,VO,DAO,BO,POJO 之间的区别你懂吗?
value object:值对象。 通常用于业务层之间的数据传递,由new创建,由GC回收。
4 0
排名前 16 的 Java 工具类,哪个你没用过?
在Java中,实用程序类是定义一组执行通用功能的方法的类。 这篇文章展示了最常用的Java实用工具类及其最常用的方法。类列表及其方法列表均按受欢迎程度排序。数据基于从GitHub随机选择的50,000个开源Java项目。 希望您可以通过浏览列表来了解
4 0
方法的定义与使用(方法递归调用)|学习笔记
快速学习 方法的定义与使用(方法递归调用)
10 0
第一个 Java 程序|学习笔记
快速学习 第一个 Java 程序
6 0
方法的定义与使用(方法重载)|学习笔记
快速学习 方法的定义与使用(方法重载)
6 0
程序逻辑控制(循环控制)|学习笔记
快速学习 程序逻辑控制(循环控制)
7 0
10S
冬季实战营第一期:从零到一上手玩转云服务器的学习报告
训练营日期:2022年1月17日 - 2022年1月23日,通过前五日从零学习云服务器,还能领取限量版盲盒等奖品
6 0
解决Java- 错误: 找不到或无法加载主类 HelloWorld.java
针对初学者使用javac,java等命令编译class文件时出现的经典问题,提供解决思路和方法。
12 0
“冬季实战营第一期”之从零到一上手玩转云服务器——学习报告
动手实战、专家带练。由浅及深,逐渐提升动手实操能力。
20 0
+关注
博文视点Broadview
博文视点( Broadview )是电子工业出版社下属旗舰级子公司。在IT出版领域打磨多年,以敏锐眼光、独特视角密切关注技术发展趋势及变化,致力于将技术大师之优秀思想、一线专家之一流经验集结成书,为众多朋友奉献经典著作,助力个人、团队成长。
55
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载