开发者社区> 博文视点Broadview> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

码出高效: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 收集器的优化。




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

相关文章
Java: JavaFX桌面GUI开发
Java: JavaFX桌面GUI开发
0 0
Java开发 - Spring Test知多少?
在前文中,我们也使用了测试代码来进行简单的单元测试,但是我们会发现,里面有大量的重复代码,实际给我们的体验并不是太好,所以这篇,我们来学习Spring Test,Spring Test不仅仅限于在Mybatis框架,只要是基于Spring的框架的都可以使用Spring Test,使用Spring Test,将给测试模块带来质的改善,大大提高了自测的效率。接下来,我们就来学习Spring Test的用法和注意事项吧。
0 0
JAVA开发常用框架注解与作用
JAVA开发常用框架注解与作用
0 0
Java开发必学知识合集(二):Java的基础语法
学习Java开发过程中,首先就是对Java的基础语法学习。那么本篇文章就来对Spring框架做一个学习归纳总结,如有不完善或者不恰当的地方,还请各位大佬指点纠正。
0 0
Java开发必学知识合集(一)
Java开发过程中,常用且重要的知识点是开发中最基本的,尤其是刚接触Java开发不久的开发者来说,基本功很重要,是直接做Java工作的基本,那么本文就来分享一下在Java开发过程中的常用的知识点,由于篇幅问题,这里只分享一部分内容,没有分享到的会在后面的博文中分享。
0 0
Java开发:实现用户注册登录的功能
在Java开发过程中,实现用户的注册功能是最基本的,用户通过手机号或者邮箱作为注册账号也是非常常见的操作方式,不管是通过手机号注册或者邮箱注册,原理都差不多,那么本文就来分享一下在Java开发过程中的用户注册账号的功能实现。
0 0
Java资深开发:这不得40k起步呀
Java资深开发:这不得40k起步呀
0 0
【Java技术指南】「Java8技术盲区」让我们来看看新一代IO流的开发指引(流升级功能体系)
【Java技术指南】「Java8技术盲区」让我们来看看新一代IO流的开发指引(流升级功能体系)
0 0
Java开发 - Mybatis框架初体验
在前文中,我们已经学习了Spring框架,Spring MVC框架,相信大家对这些基础的内容已经熟练使用了,今天,我们继续来学习Mybatis框架。就目前而言,Mybatis框架依然是比较实用的框架,这篇博客,将通过Mybatis框架和Spring框架的结合,来讲解Mybatis框架的使用,学完之后你就可以自己写接口玩了。
0 0
开发工具:第四章:Java开发必选工具
开发工具:第四章:Java开发必选工具
0 0
+关注
博文视点Broadview
博文视点( Broadview )是电子工业出版社下属旗舰级子公司。在IT出版领域打磨多年,以敏锐眼光、独特视角密切关注技术发展趋势及变化,致力于将技术大师之优秀思想、一线专家之一流经验集结成书,为众多朋友奉献经典著作,助力个人、团队成长。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
JAVA 应用排查全景图
立即下载
Java工程师必读手册
立即下载
Java应用提速(速度与激情)
立即下载