针对java的学习,不同阶段采用的方式是不一样的。本文把java的学习分为入门、实战、进阶三个阶段。下面分开来说
- 技术社区
1、 CSDN
CSDN在线学习平台,集合了各领域资深技术专家.
覆盖领域:人工智能、大数据、区块链、数据库、大学课程、认证考试、系统/网络、游戏开发、Web开发、移动开发
这个是我使用最早的技术网站,里面有很多类型的技术文章,还有很多技术代码,比如你是一个初级程序员,遇到问题在这里查询就能很快了解,还能下载一些源码来看,目前CSDN还支持付费文章和视频,这种付费的质量更高。
OSCHINA 成立于2008年8月,是目前国内最大的开源技术社区之一,拥有超过300万会员,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。2013年,OSCHINA 建立大型综合性的云开发平台-码云,为中国广大开发者提供团队协作、源码托管、代码质量分析、代码评审、测试、代码演示平台等功能。
StackOverflow是最大、最值得信赖的在线社区,供开发人员学习、分享编程知识、建立职业生涯。
Stack Overflow 可以说是解决问题的杀手锏,我一般遇到一些疑难问题会到这里查找。
4,掘金
旨在建立一个服务开发者的生态系统,在这个生态系统中,我们将品牌、流量、变现能力赋予开发者,帮助开发者创造出影响世界的新技术
掘金并不是很早的技术网站,但是却发展很快,现在很多技术大牛都在这里更新技术文章,很多术干活都能在这里查看到。
二、入门阶段
入门阶段的目标是学会java的基本语法和知识,能够解决一些简单的问题。这个阶段不建议看书学习,效率太慢。这个阶段不追求知识广度,只要求能够快速上手就行。建议直接找一些介绍java的基础知识的视频课程来看。推荐一个比较经典的课程。
三、实战阶段
这个阶段主要是要增加自己的知识广度,这个阶段就要多看书多做项目,理论和实践相结合,提升自己的理论水平和实战经验。
关于书籍方面,推荐如下基本
1、Java核心技术·卷I(豆瓣评分9.9)
本书用数百个实际的工程案例,全面系统地讲解了Java语言的核心概念、语法、 重要特性、 开发方法。着力让读者在充分理解Java语言和Java类库的基础上,灵活应用Java提供的高级特性,具体包括面向对象程序设计、反射与代理、接口与内部类、异常处理、泛型程序设计、集合框架、事件监听器模型、图形用户界面设计和并发。
2、Java设计模式(豆瓣评分9.5)
本书使用Java语言详细讲解常用的软件设计模式,该书结合大量项目实例对每一个设计模式进行全面、细致的讲解。全书结构合理、条理清晰、内容丰富,且在每一章后面都配有一定数量的习题。
3、Java编程的逻辑(豆瓣评分9.0)
Java专家撰写,力求透彻讲解每个知识点,逐步建立编程知识图谱。本书以Java语言为例,由基础概念入手,到背后实现原理与逻辑,再到应用实践,融会贯通。
4、Java并发编程实战(豆瓣评分9.0)
本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。该书介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。
关于教学课程方面的推荐
1、Java物联网企业级项目 亿可控(超完备功能 打造物联网设备监控)
3、基于SpringCloud+Kubernetes 微服务的容器化持续交付实战
4、SpringCloud+Vertx+Disruptor 金融业撮合交易系统实战
5、基于SpringCloud+Kubernetes 微服务的容器化持续交付实战
6、Java高级SpringMVC框架+协同办公系统OA项目教程
这几个视频课程都是关于项目实战方面的,没什么好介绍的,跟着课程把里面的项目实战都实践一遍,对提升编程技能很有帮助。
关于项目方面的推荐
这项目是比较经典的java学习项目,涵盖大部分Java程序员所需要掌握的核心知识。
互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务等领域知识。
3、iluwatar/java-design-patterns
该项目包含了大量的涉及模式,设计模式对一个程序员或者架构师的重要性不言而喻,无论是架构设计,日常编码,代码可读性,还是为了面试。设计模式都是Java程序员必须掌握的东西。
实战方面博客推荐
1. Spring的Controller是单例还是多例?怎么保证并发的安全
3. 68篇干货,手把手教你通关 Spring Security!
7. Spring框架整理
8. 硬核推荐15个最火的Spring实战开源项目!总有一款适合你!
11. 彻底搞明白Spring中的自动装配和Autowired
16. Spring容器IOC初始化过程---今天终于进行总结了
19. 初探SpringMVC,走进SpringMVC的世界
21. Spring Boot 整合 Shiro ,两种方式全总结!
22. Spring+SpringMVC+MyBatis整合
23. 还搞不清Spring 与 Spring MVC 容器之间的关系?
25. Mybatis 的使用(集成Spring、SpringBoot)
28. 深入浅出MyBatis:MyBatis解析和运行原理
29. SSM三大框架整合详细总结
30. 聊聊MyBatis缓存机制
31. MyBatis从前世到今生一网打尽(全网最全,建议收藏)
33. Mybatis常见面试题
36. 超详细!4小时开发一个SpringBoot+vue前后端分离博客项目!!
38. 30分钟入门MyBatis
40. Spring Boot集成MyBatis实现通用Mapper
42. 13 个最火的 SpringBoot 实战开源项目推荐!总有一个适合你!
四、进阶阶段
进阶阶段主要就是加深自己的知识深度,不仅要强化自己编程高阶技能,比如性能优化、项目选型架构等技能,更要提升自己的编程理论水品。这个阶段更多的就是要追求看书和学习一些比较难度较高的课程和项目。
关于书籍的推荐
1、深入理解Java虚拟机(豆瓣评分9.4)
本书是一部从工作原理和工程实践两个维度深入剖析JVM的著作,是计算机领域公认的经典,是进阶必备的书籍。
2、On Java 中文版 进阶卷(豆瓣评分9.0)
本书内容主要是对《On Java 中文版 基础卷》的拓展延伸,重点讲解Java的高级特性、并发、设计模式等相关进阶知识,对一些和开发密切相关的底层操作(如I/O系统、底层并发、数据压缩等)进行深入探讨,同时针对基础卷的重点章节进行了补充说明(如第3章增补了一些关于集合的高级特性)。在附录中,作者给出了67条关于低级程序设计和编写代码的建议,并分享了自己成为程序员的一些经验之谈。
3、Effective java 中文版(豆瓣评分9.1)
本书介绍了在Java编程中78条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对Java平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮和高效的代码。
关于课程的推荐
3、Java开发企业级比肩淘宝秒杀技术架构设计的黑马秒杀系统
这几门课程都涉及到了性能能优化方面的知识,对于了解java底层原理和架构设计都有较大的帮助。
关于进阶的博客的推荐
2. Java 核心知识点整理
4. 并发编程的优缺点
7. 彻底理解volatile
8. 深入理解AbstractQueuedSynchronizer(AQS)
9. 详解Condition的await和signal等待/通知机制
10. 深入理解读写锁ReentrantReadWriteLock
11. 并发容器之ConcurrentHashMap(JDK 1.8版本)
12. 并发容器之ConcurrentLinkedQueue
14. 并发容器之ThreadLocal
16. 一篇文章,从源码深入详解ThreadLocal内存泄漏问题
17. 并发容器之ArrayBlockingQueue和LinkedBlockingQueue实现原理详解
18. 大白话说java并发工具类-Semaphore,Exchanger
19. 大白话说java并发工具类-CountDownLatch,CyclicBarrier
22. Java后端开发面试7大核心总结,为你保驾护航金九银十!
23. Java高并发综合
25. Java并发编程:线程池的使用
26. Java 并发 学习笔记
29. JVM系列之Java内存结构详解
30. 推荐收藏系列:一文理解JVM虚拟机(内存、垃圾回收、性能优化)解决面试中遇到问题
32. 强烈推荐!15 个 Github 顶级 Java 教程类开源项目推荐!
33. Java进阶资源汇总
36. java系统高并发的解决方案
37. Java 后端自学之路
38. java多线程——并发测试