Java发展了这么多年,应用范围那么广泛。方向不一样,关注点就不一样,比如JEE,Java服务器,微服务,大数据等等,下面直接来:
这是基础,一定要好好学习!Java语法,面向对象(包括类、对象、方法、继承、封装、抽象、 多态、消息解析等);
学会常见API,数据结构,集合框架,设计模式(包括创建型、结构型、行为型),多线程和并发,I/O流,Stream,网络编程,数据库JDBC操作。
Java EE 是在 Java SE 的基础上构建的,Java EE容器,Web容器。
常用框架(包括Hibernate、Mybatis、Spring),消息服务,分布式事务,数据交换格式,Web Services,依赖注入,注解,开发规范。
前端技术要重视。HTML, CSS, JavaScript。你可以尝试自己写一些页面,并力让它变得漂亮。
接下来是Servlet/JSP(J2EE)部分,这是Java后端开发必须精通的。关于这部分学习资源的选择,业界比较认可的有马士兵的视频,《Servlet与JSP核心编程》等,当然,需要个人因需选择。
JSP属于行业淘汰的技术了,上面的原理学会熟悉为主。
最后,学会使用数据库,MySQL作为Java主流的关系型数据库是个不错的入门选择,它不仅要学会使用JDBC操作数据库,还要学会使用数据库客户端工具,比如Navicat等。
很多项目会用到即Spring+SpringMVC+MyBatis。它们常作为数据源较简单的web项目的框架。你需要学会快速利用这三个框架的搭建,并用它们做出一个简单的增删改查的Web项目。在搭建SSM的过程中,有意识地了解一下Maven的知识。Netty框架知识,了解NIO/AIO.
不过,SpringBoot框架,才是目前主流。必须纳入学习!
再补充推荐一个国外大佬的Java学习路线:
有条件的可以看看完整视频:油管链接
《HeadFirst Java》
真正的入门书籍,轻松搞笑,可以通过玩游戏、拼图、解谜题以及一些意想不到的方式与Java交互,再也不怕“从入门到放弃”。
如果你没有学过其他语言亦或是转行到计算机行业,可以先看看这本书。这本书图文并茂条理清晰,非常容易理解,练习也足够,可以让你一口气读很久而不会觉得有什么地方遗漏或者根本没记住。而且这本书可以让你从语言基础开始一直学习到包括线程、网络与分布式程序等项目,最重要的是,你将学会如何像个面向对象开发者一样去思考。
《疯狂Java讲义》
可以算是国人原创必读经典了,同样非常适合初学者。讲解内容细致全面,系统通俗,目录划分和查找非常方便,就算完全没有基础也可以学习。
《Java编程思想》
这是一本所有的Java学习者都无法避开的经典之作,被誉为全球最好的Java书籍。不同水平的人读这本书也会有不同的感觉,初学Java的时候也许会觉得学的非常慢,当你编程了一段时间之后再看这本书,你就会发现,你编程中遇到的问题在这本书中有很多的体现,这时候大概就是你进阶的时候了,你读这本书也会变得比从前轻松和愉快了。
这本书值得多看。
《Java 核心技术》
共两卷,作为与《Java编程思想》齐名的大全式图书,这本书的内容更加细致,偏重与讲解Java计数,举例说明了大量API,内容翔实、客观准确,不拖泥带水,所以相比于《Java编程思想》,更注重于实用性。而且这本书全面而且易懂,放在案旁用到的时候查一查、看一看,也是Java初学者和Java程序员的必备参考书。
《Effective Java》
谷歌首席架构师的大作,也是一本经典。介绍了在Java编程中78条极具实用价值的经验规则,揭示了应该做什么,不应该做什么才能产生清晰、健壮和高效的代码,并通过例子代码加以进一步说明,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。
初学者读这本书可能没有太深的体会,当你有那么一两个项目的经验,再读这本书,就会发现书中提到的某个规则就是你在很多次工作经验后总结出来的最准确的描述方式
不过,这本书的中文版翻译不太好,有能力的话可以看原版。
《Java性能权威指南》
Java性能方面可能最好的一本书。深入介绍了JIT编译器、垃圾收集算法、线程同步等复杂问题,讲解了很多应用性能分析以及优化的方法,详尽讲解了Java性能调优的相关知识,帮助读者深入理解Java平台性能的各个方面,适合所有想了解性能优化的Java程序员。
以上是一些基于Java语言本身的书籍推荐,然而,作为一名工程师,从编写可读的代码,到重构现有的代码,再到设计模式,是编码的必备法则。
《HeadFirst 设计模式》
HeadFirst 系列的另一本书《HeadFirst 设计模式》,同样是一本非常适合入门设计模式的书籍,没有之一。这本书介绍 了23 个设计模式,同样采用场景对话、打比方的方式来讲解,巧妙地让设计模式的理论在实际应用中体现出来,淡化了抽象性。
《设计模式》
经典之书,设计模式领域的开山鼻祖,必读,并且值得多读几遍。虽然其中的例子是C++写的,但也很适合Java学习者读。
《设计模式解析》
如果你觉得《设计模式》太晦涩难懂,《Head First Design Pattern》又太不技术书籍了,那么这本《设计模式解析》就非常适合你。本书每章结束时都有小结和启发性复习题,可以帮助你更好地了解自学得如何了。而且这本书只介绍了几种比较常用简单的设计模式,因而在学习过程中会很有成就感。
《重构:改善既有代码设计》
好的代码是重构出来的,而不是一开始就写出来的,除非你的代码不用于任何业务。本书从一个重构实例开始,用代码和实例配合讲解了各种耳熟能详的重构方法,非常到位,总之,是一本程序员必读书目,书中的示例代码都是java写的。
《代码整洁之道》
篇幅不大,但却能让人受益匪浅。书中给了很多方法与规范,遵循它们可以写出整洁的代码。如何为函数,变量,类型准确的命名,如何减少注释做到代码即文档,如何通过良好的编程规范减少错误的代码等等,这些都需要在工作学习中总结经验形成习惯。
举一反三,能够熟练使用,快速开发自己想要的应用,即可。
排错能力:应该可以根据异常信息比较快速的定位问题的原因和大致位置
优化能力:代码规范、有自己的代码规范体系,代码可读性好
知识面广:懂各种网络产品及特性,懂各种中间件,能够知道坑在哪儿,深谙各种技术方案的优缺点,懂整合各种资源并达到最优....了解各种技术及应用场景,有足够的工作经验解决集成中遇到的各种奇葩问题
重要的事说三遍,java乃至所有的计算机技术,无论是操作系统,数据库还是编程语言,都只不过是一种工具而已,跟其他比如外语,开车,做饭类似没有什么本质上的区别。
那所有的工具都有一个特点,就是你不需要精通就能用了,精通只是一个长期目标!
1. 知道常用的api,并能熟练的掌握,这个是第一步。
2. 能够模拟常见的数据结构,比如LinkedList,ArrayList, TreeMap,Stack,BlockingQueue,这递增不仅可以理解数据结构还可以帮助学习jdk是如何实现的
3.掌握java经典的IO结构,包括BIO,NIO,AIO要深入的晓得JDK大体代码结构
4.理解多线程,以及如何控制线程安全,包括同步器和信号量
5.理解JVM的内存布局,以及垃圾回收算法,能很好的使用jdk自带的调优工具
6. 研究OpenJDK,这需要一些c的知识,但这个时候恰恰可以很好的理解AQS等核心内容,到这个时候,语言已经不是问题。
架构师:研发团队技术构建,技术生态的敏锐嗅觉,对大多数主流系统架构烂熟于心
技术管理/技术总监:产品管理、项目管理、团队建设、团队提升
CTO:发展战略
最后整理不易,留个三连支持好文章!