Java这么优秀,我当然要深入啦

关注 ▲程序员小跃▲ 和优秀的你,一起奔跑

这是程序员小跃的第 149 篇原创分享

作者 l 程序员小跃

来源 l 程序员小跃(ID:runningdimple)

今天开始,跃哥将和去年阅读《Head First 设计模式》差不多的模式来,和大家一起学习《Java 实战》的内容。通过前一本书,那本书跃哥二刷,所以读完之后对设计模式又有了深刻的理解,以至于后续学习极客时间上的设计模式专栏,压力就没那么大了。

所以这次我又通过《Java 实战》来对 Java8 之后的特性进行学习,将是一件很棒的事情。为什么我们要学习 Java8,因为 Java8 版本新增了很多特性,将 8 之前和 8之后有了一个分水岭,学习了这些新特性,我们写代码的效率会更好,软件运行的效率也会更高,升职加薪嘛,那也是必然的。

你入门的是Java 哪个版本?

首先,跃哥问大家一个问题,你的第一个 Java 版本是什么呢?

跃哥自己先说。我是在大二的时候接触的 Java,我的第一个版本是 Java 6。因为我在此之前入门过 C、C++,有了面向过程和面向对象的基础,所以初次学习 Java 语言的时候,并没有想象中那么难。其实也是因为吃过 C、C++苦,一看到 Java 就兴奋了。

但是,Java 也有不同的地方,学校里的 Java 入门是从零开始,其实现在很多书籍也是如此,从下载 JDK 到配置安装环境,然后使用txt 文本新建我人生中的第一个 Java 文件,并且用 javac 命令编译,运行,整个过程现在说起来容易,第一次还是有点懵逼。

那么,你的第一个 Java 版本是什么呢?如果是 Java8 之前的,那你学习本书的时候,需要转变很多思想,因为 Java8 使用起来很方便;如果你用的是 Java 8 之后的,比如 Java 11(跃哥这次特意安装了 11,来跟上脚步,11 是最新的长支持版本),那你对这本书的内容并不会陌生,因为你初学的时候,就自带了这些语法,你是在复习。

但是这次跃哥并不考虑使用记事本,用命令行来编译 Java,毕竟咱们很多都已经入门了 Java,我们这次使用 IDEA 来完成一系列操作,谁让 IDEA 这么香啊,哈哈。《终于,我也到了和Eclipse说再见的时候,难说再见

Java8 威力初探

今年是 Java 的 25 周年,自从 Java 问世以来,就受到了学生、项目经理和程序员等一大批活跃用户的欢迎。这一语言极富活力,不断被用在大大小小的项目里。尤其是现在大数据,高并发,数据中台等的影响下,Java 微服务领域更是火爆。

我们也知道,Java 现在是每半年更新一个版本,它通过增加新功能,得到良好的升级。其实 Java8 在 2014 年 3 月就发布了,但是现在还有很多小伙伴用的是老式的语法来实现功能,没有发挥出巨大的威力。

举个例子,我们需要对一个苹果列表进行排序,按重量排序。用老式的语法,你可能会写出如下代码:

Collections.sort(inventory, new Comparator<Apple>() {
    public int compare(Apple a1, Apple a2) {
        return a1.getWeight().compareTo(a2.getWeight());
    }
)

但是,通过Java 8,你可以编写更简洁的代码,实现更高的效率。如下:

inventory.sort(comparing(Apple::getWeight));

哈哈,你没看错,就是这么简单,就完成了排序,从 3 行代码缩减到了 1 行代码,香不香。

Java 8 对硬件也有影响:现在我们用的 CPU 都是多核的,在 Java8 之前我们必须利用线程才能很好地利用多核 CPU 的性能;否则程序就是在单核上使用,白白浪费了多核的性能。

但是 Java8 之后,对并行有了一个更简单的思路,发挥了更大的威力。简答描述就是,我们能用更简洁的代码,且更简单地使用了多核处理器。跃哥先来一个总结,后续会在我们的学习中逐步使用了解他的精髓,我们主要用到 Java8 的Stream API向方法传递代码的技巧接口中的默认方法*,这些都能简化我们的代码,有很好利用电脑的性能,想想都兴奋。

Java 为什么一直在变?

跃哥在这里又问大家一个问题,你知道现在的编程语言有多少吗?除了大家熟知的 C、C++、Java、Python、C#、PHP、Swift、Kotlin......我们熟知的 TIOBE 编程语言排行榜里就有 N 种。在 1966 年当时著名的计算机科学家彼得·兰丁在一篇标志性论文中写道,当时已经有 700 种编程语言了,恐怖吧。

所以,编程语言要在这么多竞争中脱颖而出,其实是很难的一件事情。编程语言也是一个生态,新的语言出现,旧语言就会被取代,除非后者演变地很快,能跟上时代发展的节奏。Java 就具备了这种特性,在过去的20几年里,Java 成功地霸占了编程生态系统中的一大块,同时替代了竞争对手语言,身为一名 Javaer,还是挺骄傲,挺自豪的。

Java 因为“一次编写,随处运行”模式,以及早期浏览器安全地执行 Java 小应用的能力让它占领了大学市场,毕业生随后把它带进了业界。后来机器变得越来越快,程序员的时间变得越来越宝贵,所以 Java 的面向对象模型发挥了重要的作用,被各种使用。

跃哥之前学习 Java,是 Android 开发的需要,现在 Android 是全球使用相当广泛的手机操作系统,编写 Android App 大有人在,有很大一部分也是使用的 Java;还有数据请求越来越多,数据中台,微服务的出现,让 Java 在这方面有了很大的发展;以及一些良好的 Java 社群支持,所以 Java 成为了使用广泛的语言。

这些还不够,Java8 的出现,最要的好处在于它提供了更多的编程工具概念,能以更快、更简洁、更易于维护的方式解决新的或现有的编程问题。这也是我学习 Java 实战,学习新特性的原因。因为这些新特性,能让你有更足的底气,编写更好的程序,哈哈。

一起奔跑

讲了这么多,其实还是想对在 Java 编程路上行走的同学们说一声:赶紧掌握Java 8 之后的一些特性。从文中举例的排序,就能看出 Java8 对代码行数的减少,对效率的提升。

                       

还有,提到的 Stream API、Lambda 表达式、函数式编程这些能让多核的CPU 发挥出更大的威力,处理更多的数据,让效率提升成为可能。

而且,Java 社区现在频繁更新,最新的已经到了 Java 14,只为适应社会的进步,时代的发展,如果你还不会 Java8 的新特性,你觉得你对得起自己是一位 Javaer 么。

1. 人人都能看懂的 6 种限流实现方案!

2. 一个空格引发的“惨案“

3. 大型网站架构演化发展历程

4Java语言“坑爹”排行榜TOP 10

5. 我是一个Java类(附带精彩吐槽)

6. 看完这篇Redis缓存三大问题,保你能和面试官互扯

7. 程序员必知的 89 个操作系统核心概念

8. 深入理解 MySQL:快速学会分析SQL执行效率

9. API 接口设计规范

10. Spring Boot 面试,一个问题就干趴下了!

扫码二维码关注我

·end·

—如果本文有帮助,请分享到朋友圈吧—

我们一起愉快的玩耍!

你点的每个赞,我都认真当成了喜欢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 当你想要学习Java编程语言时,建议你按照以下步骤进行: 1. 学习Java基础知识:Java基础包括数据类型、变量、运算符、条件语句、循环语句、数组、方法、类、对象等,这些都是Java编程的基础。 2. 掌握面向对象编程:Java是一种面向对象的编程语言,所以你需要学习面向对象编程的思想和技术,包括封装、继承、多态等。 3. 学习Java集合框架:Java集合框架是Java编程中非常重要的一个部分,包括List、Set、Map等,这些集合类提供了各种数据结构和算法,可以帮助你更方便地处理数据。 4. 学习Java IO和多线程编程:Java IO和多线程编程是Java编程中的重点,Java提供了丰富的IO类和线程类,可以帮助你处理各种输入输出和多线程并发问题。 5. 学习Java框架:Java有许多流行的框架,如Spring、Hibernate、Struts等,学习这些框架可以帮助你更快地开发Java应用程序。 6. 实践项目:最后,你需要实践一些Java项目来巩固你的知识和技能。可以尝试开发一些小型的Java应用程序,如学生信息管理系统、图书管理系统等。 希望以上步骤能够帮助你开始学习Java编程语言。 ### 回答2: 当然可以告诉您关于Java的学习路径。Java是一种广泛应用于软件开发领域的编程语言,学习Java有助于您成为一名优秀的开发人员。以下是基础的Java学习路径: 1. 学习编程基础知识:首先要掌握编程基础知识,如变量、数据类型、运算符、条件语句和循环等。您可以通过阅读相关书籍或参加在线课程来学习这些基础知识。 2. 学习面向对象编程(OOP):Java是一种面向对象的语言,掌握面向对象的概念非常重要。您需要学习类、对象、继承、多态等相关知识,并应用于实际编程中。 3. 学习Java核心类库:Java提供了丰富的核心类库,包括集合框架、IO流、多线程等。掌握这些类库的使用可以提高开发效率。可以通过编程练习和实际项目来学习和应用这些类库。 4. 学习数据库操作:Java与数据库的结合非常紧密,您需要学习SQL语言和Java与数据库的交互操作,如使用JDBC连接数据库、执行SQL语句等。 5. 学习常用框架:Java有许多常用的开发框架,如Spring、Hibernate、Struts等。学习并掌握这些框架可以提高开发效率和代码质量。 6. 实践项目和实习:通过实践项目和实习经验,将学到的知识应用到实际开发中,并学会解决实际问题。这有助于提升您的实际开发能力。 除了学习这些基础知识之外,您还可以参加相关的培训班或在线课程,参与编程社区的讨论和项目开发,与其他开发者交流并共同进步。 学习Java是一个持续的过程,需要不断练习和实践。通过不断学习和实践,您可以成为一名熟练的Java开发人员。希望这些建议对您有所帮助,祝您学习顺利! ### 回答3: 要学习Java,你可以按照以下学习路径进行。 首先,了解Java基础知识。学习Java的语法、数据类型、变量、控制流程等基本概念。可以通过阅读相关的书籍或者在线教程来学习。 其次,学习面向对象编程(OOP)。Java是一种面向对象的编程语言,掌握OOP的概念对于Java的学习至关重要。学习类、对象、继承、封装和多态等概念,并能够应用到具体的Java程序中。 接着,学习Java的标准类库。Java的标准类库提供了丰富的API,包括字符串处理、文件操作、集合框架、网络编程等功能。掌握常用的类和方法,并且能够灵活运用这些API来解决实际问题。 然后,学习Java的高级特性。深入了解异常处理、多线程编程、反射、泛型等概念。这些高级特性可以提高程序的可靠性和性能。 此外,学习Java的开发工具和环境。安装和配置Java开发工具,比如Eclipse、IntelliJ IDEA等。熟悉使用这些工具进行Java程序的编写、调试和运行。 最后,进行实践项目。通过实际项目的练习,巩固并应用所学的知识。可以参考一些开源项目,或者自己动手完成一些小的实际项目。 总之,学习Java需要不断地实践和积累经验。坚持每天学习,多写代码,不仅可以提高编程水平,也能够培养解决问题的能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值