想知道怎么自学Java吗?看看一下几点

总听一些人在说自学Java有多难多难,确实,Java不是那么容易能够掌握的语言,可自己都没有尝试学过,就只听别人的一面之词,岂不是要错过这门前途似锦的开发语言了。

自学难,其实跟你的学习能力,和学习计划有关的。关于学习能力,只能从自身上着原因了,如果你足够努力,都可以攻破重重知识点的。关于学习计划,如果你还没有,可以参考小编的这一套开始学,保你从入门到精通。

1.工具

工具部分分为不同的部分。首先,您的IDE,它是您的主要工具,几乎可以完成您要求的所有操作,例如编译、运行、调试、分析、测试、比较文件和代码、重构等等。

第二部分是构建工具,您需要使用它来构建和部署Maven和Gradle等项目。这些中的任何一个就足够了。我刚刚列出了ANT,但那是针对遗留项目的。对于所有新的Java项目,Maven或Gradle。

而且,第三个也是最关键的部分包括像Docker和Kubernetes这样的容器,像Jenkins和TeamCity这样的CI/CD工具,以及像Ansible这样的基础设施自动化工具。

2.JDK API

下一个要学习的重要事情是JDK API,这对任何Java开发人员来说都非常非常重要。这是一个相当大的部分,这就是为什么它被划分为Java集合框架、Java并发、Java IO和Java 8 API等核心领域,让我们逐一探讨

1)Java集合框架

这是每个Java开发人员都应该学习的最重要的Java API之一。该API提供类Java链表、集合、堆栈、队列、哈希表、优先级队列等标准数据结构的实现。

至少你应该了解所有日常对象,如ArrayList、HashMap、HashSet、LinkedHashSet、TreeSet等。它们每个都有其不同的属性,如ArrayList是一个可以增长的动态数组,HashMap是哈希表的标准实现并且可以用于存储键值对。

2)Java并发

在Java Collections之后,接下来,Java中最关键的API就是多线程和并发,我坚信,如果你想成为一名称职的Java开发人员,你必须对Java Concurrency API有扎实的理解和掌握。

您不仅应该深入了解线程、可运行、对象锁定和同步等基本概念,还应该熟悉死锁、活锁、竞争条件等概念以及如何处理它们。

3)Java IO

与Java Collections和Java Multithreading API相比,他们都对Java IO和NIO API知之甚少。我可以理解很多人花费大量时间学习这两个API,但您不能将这些关键API抛在后面。

如果您必须编写真实世界的核心Java应用程序,则需要使用java.io包中的File、InputStream、OutputStream、Reader、Writer等类,这些类是Java IO API的核心。同样,你还需要从java.nio了解ByteBuffer、FileChannel、Selector等关键类API。

3.框架

Java的一点是它有一个充满活力的生态系统,这意味着几乎所有东西都有很多框架和库。通常,我不建议Java开发人员学习框架,直到他需要在他的项目中使用它。尽管如此,还是有一些框架和库,我相信每个Java开发人员都应该知道,例如Spring、Spring Boot、Hibernate、Log4j、JUnit等。

1)Spring框架

如果你想在2021年成为Java开发者,我强烈建议你先学习Spring Framework。这是Java框架之一。

Spring Framework可以编写干净的代码,通过提供依赖注入和控制反转等功能,它更易于测试和维护。它还为大多数日常任务提供了丰富的API,这就是为什么每个Java开发人员都应该学习Spring框架的原因。

2)Hibernate框架

它基于JPA(Java Persistence API)。准确地说,Hibernate在JPA之前出现,但是因为JPA是Java中实现持久层的标准API,所以Hibernate实现了它。

现在,为什么要学习Hibernate?嗯,因为您将使用的大多数Java应用程序将与数据库交互,并且使用JDBC在Java中处理数据库并且没有像Hibernate这样的适当框架是非常痛苦的。

它提供了一些基本功能,例如开箱即用的缓存和事务,这意味着您有更多时间专注于应用程序逻辑,然后在应用程序中实现缓存。这极大地提高了Java应用程序的性能,也是迄今为止我使用Hibernate的最重要原因。

3)Spring Boot

采用了Spring的简化哲学,并使其易于使用Spring本身。就像Spring使创建Java应用程序变得更容易一样,Spring Boot使创建基于Spring的Java应用程序变得更容易。

自动配置等功能消除了与配置Spring应用程序相关的大部分痛苦。类似地,入门POM功能将常用的依赖项分组为简单的可重用POM。

(0)

相关推荐

  • 01 | 常见持久层框架赏析,到底是什么让你选择 MyBatis?

    在绝大多数在线应用场景中,数据是存储在关系型数据库中的,当然,有特殊要求的场景中,我们也会将其他持久化存储(如 ElasticSearch.HBase.MongoDB 等)作为辅助存储.但不可否认的是 ...

  • 硬核!如何全面系统地自学Java

    我今年 XX 岁(调皮),使用 Java 开发将近 15 年了,目前虽然不在技术一线,但仍然和 Java 形影相伴,如影随形,每天都在相爱相杀. 虽然我是科班出身,但说实话,十多年走过来,无论是 Ja ...

  • 想系统性地自学茶艺师应该从哪里学起?

      如果你出来没有接触过茶艺但是又想想学习茶艺师,大部分网络上只有对茶艺师的简单介绍,但是很难找到具体的教材以及视频资料,作为以为出来没有接触茶艺的你来说,想系统性地自学茶艺师应该从哪里学起? 第一步 ...

  • 黄东坡:想让孩子自学成为数学天才,你的效仿可能正在毁掉他

    无引导的被动自学.急功近利的刷题灌输.漠视数学阅读的根基培养--无异于是另外一种填鸭式的自学教法. 9岁读初中,12岁读高中,14岁考入中科大,18岁赴美读博-- 现如今年仅26岁,陈杲不仅担任中国科 ...

  • 推荐一个自学java非常好的网站!

    http://how2j.cn?p=7870  这个是一个在淘宝有8年工作经验的大神制作的一个java自学网站,里面有java基础知识,大型实战项目以及很多好用的java工具,针对每个知识点都结合非常 ...

  • 想要提升自学能力?快来试试这7个学习工具

    在我们的工作和学习中,善用工具能够让我们达到事半功倍的效果. 我是一个很喜欢使用工具的人,平时遇到问题都会先去搜索一下有没有相关的工具,学习方面的工具更是经常使用.今天给大家推荐7个能让你提升学习效率 ...

  • 自学Java最起码要学到什么程度?

    首先,自学Java需要找到学习的节奏,今天学什么,明天学什么,具体内容如何判断是否掌握,把自己的目标一一整理. 自己一个人学习Java是一件非常枯燥且需要耐心的事情,但是也可以利用业余时间来做的事,所 ...

  • 怎么自学武术呢?防身最好的!我想学武术以

    1609614415 2009-07-18 我想学武术防身我想学武功,我们这里没有 借用天津八极拳老师韩起的一篇<逆思维格斗训练>来回答你的问题,望你能满意? 发现你的本能逆思维训练的头几 ...

  • 周传基|如果你想自学会拍电影

    一个月前的4月4日,是周传基教授逝世4周年 (1925年3月12日-2017年4月4日) 如果你想通过自学学会拍片子.那么在自学的第一个要求就是,千万别听那个教员讲的影片分析.电影是什么,千万别听那些 ...

  • 零基础的人为了娱乐想自学编程,学什么编程语言好?

    如果仅仅只是娱乐想自学编程的话,这里推荐3个简单易学的编程语言或开发工具,对于零基础学习编程的人来说,非常容易掌握,感兴趣的朋友可以尝试一下: 01 Python 这是现阶段一个非常火的编程语言,不管 ...