了解java

一、为什么要学Java?

我们为什么要学Java呢?谁给的底气?大概是 TIOBE 这个编程语言排行榜吧。
TIOBE是编程语言流行趋势的一个指标,每月更新,基于互联网上有经验的程序员、课程和第三方厂商的数量。排名使用著名的搜索引擎(Google、Bing、Wikipedia)进行计算。

(一)查看TIOBE指标

网址:https://www.tiobe.com/tiobe-index/

上面这幅图是几个热门编程语言(Python、C、Java、JavaScript 等等)近些年来的增长趋势。可以看得出,Java曾经No.1这份榜单很多年,现在随着人工智能时代的开花结果,Python终于在2021年底跃居No. 1。

状元:Python - 31 years old
榜眼:C - 50 years old
探花:Java - 27 years old

(二)为什么Java如此受欢迎

1、简单易学

Java 继承了 C++ 语言面向对象的核心技术,舍弃了容易引起错误的指针,移除了运算符重载和多重继承等难以理解的概念,增加了垃圾回收机制,这些大大简化了程序员的开发成本。

2、跨平台

任何平台只要安装了 JVM(Java 虚拟机),就能运行 Java 程序。真正实现了“Write once, run anywhere”。常见的操作系统平台:Windows、MacOS、Linux……

3、类库丰富

全球约有 900 万名 Java 开发人员,创造了一个充满活力和积极进取的 Java 社区,开源类库非常丰富。借助这些类库可以让开发者避免重复造轮子,不用去关注 Java 底层的开发,只关注业务的实现。

4、使用广泛

据估计,全球范围内有超过 30 亿部设备运行 Java,超过其他任何一种语言。Java 被用于众多全球知名的网站中,包括 eBay.com、Linkedin.com、Amazon.com 和 Facebook.com。这一点应该是 Java 屹立不倒的深层次原因吧,大家都在用,才是真的强啊。

5、薪资可观

很多企业都需要 Java 方面的人才,这是一个非常现实的原因,为了生计着想,学习 Java 这个方向不会有错!

Java广泛应用于科学教育、金融、法律和政府等行业。下面的饼图是Java语言在各个行业中的使用情况。

二、Java简史

Java是一个非常易于使用和存在久远的编程语言,今年(2022年)是其诞生的27周年。Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。

(一)发展简史

Java SE 10.0 2018-03-21
Java SE 11.0 2018-09-25
Java SE 12.0 2019-09-19
Java SE 13.0 2019-09-17
……
2010年1月27日,Oracle收购SUN公司。

(二)JDK最新版本

网址:https://www.oracle.com/java/

单击【Download Java】按钮

由此可见,2022年2月24日,最新版本是Java SE Development Kit 17.0.2 (JDK - 17.0.2)

三、Java的特点

(一)跨平台性

所谓的跨平台性,是指软件可以不受计算机硬件和操作系统的约束而在任意计算机环境下正常运行。这是软件发展的趋势和编程人员追求的目标。之所以这样说,是因为计算机硬件的种类繁多,操作系统也各不相同,不同的用户和公司有自己不同的计算机环境偏好,而软件为了能在这些不同的环境里正常运行,就需要独立于这些平台。而在Java语言中, Java自带的虚拟机很好地实现了跨平台性。 Java源程序代码经过编译后生成二进制的字节码是与平台无关的,但是可被Java虚拟机识别的一种机器码指令。 Java虚拟机提供了一个字节码到底层硬件平台及操作系统的屏障,使得Java语言具备跨平台性。

(二)面向对象

面向对象是指以对象为基本粒度,其下包含属性和方法。对象的说明用属性表达,而通过使用方法来操作这个对象。面向对象技术使得应用程序的开发变得简单易用,节省代码。Java是一种面向对象的语言,也继承了面向对象的诸多好处,如代码扩展、代码复用等。

(三)安全性

安全性可以分为四个层面,即语言级安全性、编译时安全性、运行时安全性、可执行代码安全性。语言级安全性指Java的数据结构是完整的对象,这些封装过的数据类型具有安全性。编译时要进行Java语言和语义的检查,保证每个变量对应一个相应的值,编译后生成Java类。运行时Java类需要类加载器载入,并经由字节码校验器校验之后才可以运行。 Java类在网络上使用时,对它的权限进行了设置,保证了被访问用户的安全性。

(四)多线程

多线程在操作系统中已得到了最成功的应用。多线程是指允许一个应用程序同时存在两个或两个以上的线程,用于支持事务并发和多任务处理。 Java除了内置的多线程技术之外,还定义了一些类、方法等来建立和管理用户定义的多线程。

(五)简单易用

Java源代码的书写不拘泥于特定的环境,可以用记事本、文本编辑器等编辑软件来实现,然后将源文件进行编译,编译通过后可直接运行,通过调试则可得到想要的结果。

四、Java平台三版本

Java 平台有三个版本,这使软件开发人员、服务提供商和设备生产商可以针对特定的市场进行开发。

(一)Java SE(Standard Edition)

Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。

(二)Java EE(Enterprise Edition)

这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。

(三)Java ME(Micro Edition)

这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。

五、JVM生态调查报告

2021年JVM生态系统报告
这份报告展示了对 JVM 生态系统状态进行的最大规模年度调查的结果。该调查在截至 2021 年 2 月和 2021 年 3 月的六周内进行,收集了 2000 多名 Java 开发人员的回答。

今年的调查是Snyk和Azul的合作,与以往的调查略有不同。我们的目标是使调查更加简洁,并且只关注当今 JVM 开发人员最重要的方面。此外,今年每个参与者都可以选择多个选项。我们相信,通过 2021 年调查的设计方式,我们对当前的 JVM 生态系统有了更好、更全面的了解。您可以在报告中找到所有人口统计信息。

1、在生产中最受欢迎的 OpenJDK 构建版本

有趣的是,44.1% 的受访者在生产中使用免费的 AdoptOpenJDK 发行版,这使其成为我们调查中最流行的发行版。但是,我们也可以看到 Oracle 仍然是市场上的重要参与者,其 OpenJDK 构建占 28%,商业 Oracle JDK 占 23%。

2、超过 60% 的开发人员在生产中使用 Java SE 11

我们发现 40% 的调查参与者在生产中使用了一个以上的 Java 版本。因此,我们还可以得出结论,升级到 8 版本以上的人比我们意识到的要多。目前,61.5% 的人在生产中使用 Java 11,近 12% 的人使用最新版本,即调查期间的 Java 15。这表明开发人员确实将他们的 Java 版本升级到了 Java 8 以后的版本。

3、Kotlin 是继 Java 之后 JVM 上最重要的语言

Java 最受欢迎,91%,Kotlin 次之,接近 18%,虽然 JVM 语言的种类在过去几年中有所增长,但 Java 处于领先地位。超过 90% 的开发人员使用 Java,我们可以看到它仍然是一种非常流行的语言。Kotlin 的受欢迎程度比我们去年想象的要广泛得多。令人印象深刻的是,17.7% 的开发人员在生产中使用 Kotlin。

4、IntelliJ IDEA 是 Java 生态系统中最主要的 IDE

超过 70% 的 JVM 开发人员使用 IntelliJ IDEA,多年来,我们已经看到 JetBrains IntelliJ IDEA 在 Java 生态系统中的主导地位。今年也不例外。IntelliJ IDEA 是 JVM 社区中使用最广泛的。此外,Visual Studio Code 和 Apache Netbeans 的采用率大幅增长。

5、Maven 最流行的 Java 生态系统构建系统

超过 76% 的 JVM 开发人员使用 Maven 构建他们的应用程序,Maven 仍然是 Java 生态系统的第一大构建系统。超过 76% 的开发人员使用 Maven,这一比例甚至高于去年的调查。Gradle 以 38.1% 的比例稳居第二,得分也高于去年。

6、Spring 仍然主导着 Java 生态系统

Spring Boot 和 Spring MVC 是 JVM 最主要的框架,Java 世界仍然是 Spring 主导的世界,超过一半的市场使用 Spring Boot,近三分之一的市场使用 Spring MVC。总的来说,我们看到我们生活在一个高度由 Spring 主导的宇宙中,这似乎表明 Spring 人员在为社区服务方面做得很好。

六、本期Java学习内容

本期我们准备学习Java基本语法、数组、字符串、面向对象(三大特性:封装、继承、多态)、IO、GUI、JDBC、多线程(可选)等内容,最后我们会做一个图形界面的学生信息管理系统,提高大家Java编程的实战能力。通过学习本课程,为后续Java Web开发课程、Spring Boot框架、移动应用开发的学习奠定一个良好的基础。

七、学习建议

主动学习:提高你的学习效率
Active learning can improve your learning efficiency.

说到学习,其实有很多种方法,读书、听讲是学习,讨论、实践也是学习,但学习和学习之间还是有一定的差别。

美国缅因州的国家训练实验室曾经发布过一张学习金字塔图,从图里我们可以看到,学习方法分为两大类,一悉是被动学习,也是浅度学习,包括听讲、阅读、视听、演示;另一类是主动学习,与人讨论,自己动手实践,教授给别人都属于主动学习。主动学习我们称之为深度学习,如果你不能深度学习,你就不能真正学到东西。

因此要想更高效地学习,你必定要经历一个从被动学习到主动学习的转换过程。对软件工程师来说,写博客、做分享都是很好的主动学习的方式,建议你试一试。尝试之后你会发现,当你要去教别人,当你要把自己写的东西公之于众的时候,你一定会查很多东西,你会很上心,你会学得很系统。此外,与人讨论与亲身实践也都是很好的学习方式。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值