欢迎光临散文网 会员登陆 & 注册

学习Java,我建议这样学!(收藏备用)

2023-07-20 15:58 作者:编程小宇e  | 我要投稿

很多童鞋向我提问,想要学习Java,却不知道该学什么,也不知道该学到什么深度?

也有些外包的同学,想在技术上提升,却不知怎么做?


本篇文章专为想学习和提高Java的人定制,给出了详细的学习路线,适合想要系统的专业的学习Java的人。尤其是:想要从事Java开发工作的大学生,想要转行当Java程序员的在职人员,想要提升Java水平却不知如何入手的小白等。


30天从入门到精通? 那是宣传的噱头。

三个月培训等于两年经验? 那是宣传的噱头。

毕业都能进BAT?  那还是宣传的噱头。



基础阶段

首先是基础阶段,在基础阶段,我们必须掌握Java基础,Mysql数据库,Oracle数据库,JDBC,Linux基础,Java8新特性,数据结构和算法,设计模式。
对于基础阶段,我们所要掌握的就是基础,虽然是基础,但学起来也够呛。因为是初学者,所以基础阶段会有一点难度,但只要肯坚持,这些也没什么难的。对于Linux、数据结构、算法和设计模式我们掌握一些基础就行了,也没必要学得非常透彻。


Web基础

基础阶段过后,我们还必须要掌握一些Web方面的知识,Html,JavaScript,JQuery和AJax,同样的,对于这些知识,我们只需掌握基础,而不需要深究,否则,你将耗费大量的时间。


详细内容

1. Java基础

  • 基础语法

  • 类,封装,继承

  • 一切皆对象Object类

  • 接口,多态

  • 异常处理

  • 泛型

  • 枚举

  • Java IO

  • 常用类,常用接Java注解

  • Java反射

  • Java网络(可选)

2. Java Web

  • 前端脚本html,js,velocity,xml

  • Servlet程序开发

  • 深入理解mvc模式

  • 常用Java项目结构

  • Jetty tomcat使用

  • Mysql使用

  • Springmvc spring mybatis 项目上手

3. Java多线程

  • 线程入门thread runnable

  • 内置锁 synchronized

  • 线程协作 wait notify notifyAll

  • Executor体系 callable

  • 显示锁 lock

  • 条件队列 condition

  • 常用并发编程类

  • Volatile

  • 体现功力的threadlocal

  • 线程安全问题的核心

  • 常见的死锁原因

  • 乐观锁 悲观锁 cas

4. Java虚拟机

  • Jvm体系架构

  • 类的生命周期

  • 对象的生命周期

  • 常量池

  • 垃圾回收机制

5. 设计模式

  • 单例模式

  • 工厂模式

  • 策略模式

  • 适配器模式

  • 模板模式

  • 回调模式

  • 建造者模式

6. 网站架构

  • 大型网站的架构

  • 常用优化手段

  • 分布式与无状态

  • 负载均衡

7. Spring框架

  • Aop如何实现

  • ioc如何实现

  • 事务如何实现

  • 对象怎么管理

推荐学习资料

JavaEE

最后是JavaEE阶段,当你学到这个阶段,你对Java的程序开发已经了如指掌。然而,自己开发的过程是艰难而复杂的,所以JavaEE阶段我们需要去学习一些非常优秀的框架,来帮助我们进行程序开发。
对于框架,我们需要学习Struts2,Hibernate,Spring,SpringMVC,JPA,SpringData,MyBatis,Spring Boot,Spring Cloud,Dubbo。要学习的框架其实非常多,有些框架也十分有难度,我们在学习阶段只要能够熟练使用它们即可,有能力的话可以研究一下源码,看看框架的底层实现。当然,除了框架,我们还需要学习Maven,Git,Github,ActiveMQ,Jenkins等。
在JavaEE阶段学习的东西是最多的,但如果你经历了JavaEE阶段的学习,你的编程水平将会有质的飞跃。


有同学向我反映,说数据结构和算法不学好就只能当个码农,说我在文章中指出"只需学习数据结构和算法的基础即可"是误导别人。确实,这句话是没说错,我在之前的文章中也强调过数据结构和算法的重要性,它们是程序的灵魂。然而,数据结构和算法是具有一定难度的,对于新手可能非常地不友好,新手要想彻底掌握它们是很困难的,所以我只是说在基础阶段掌握基础即可,而不需要去深究。而随着学习的深入,你的知识体系将会越来越庞大,这个时候,对于数据结构和算法可不能仅仅停留在表面了,我们应该去更加深入地研究这些东西。
在这里也感谢大家给我提出的意见,只要大家说的在理,说的是对的,我都会去及时改正。金无足赤,人无完人,在写文章的过程中,难免会有一些不太严谨的地方,这里也欢迎大家批评指正。


从底层向上原理解读



多线程与高并发



JVM调优案例式实战化指导



经常被问的操作系统原理剖析



Spring源码

SpringBoot

SpringCloud

深入透彻完整解析Redis



【史上最全】600分钟精通Redis、ZK、布隆过滤器、分布式,附送源码、笔记




Zookeeper

分布式事务

高负载高并发高可用架构设计指导思想

学习本篇文章,不能让你30天从入门到精通,不能保证你进BAT,但是能保证教会你如何系统的学习Java知识,最终成为一个专业的Java开发者。


当然,如果你有更好的关于学习编程的方式方法问题,也可以评论区留言!整理不易,恳请三连!


学习Java,我建议这样学!(收藏备用)的评论 (共 条)

分享到微博请遵守国家法律