一名合格的Java后端工程师,须要具有哪些技能或技术?

首先你肯定你要进入Java开发?决定学习Java是要下很大决心的,由于Java技术的世界是个无底洞,永远也学不完,不废话了,我就简单的说一下本身的见解(偏重Java方面,什么html、css、js这些不在此次的讨论以内,虽然JavaServer开发有时候也都须要懂点):css

1.Core Java,就是Java基础、JDK的类库,不少童鞋都会说,JDK我懂,可是懂还不足够,知其然还要知其因此然,JDK的源代码写的很是好,要常常查看,对使用频繁的类,好比String,集合类(List,Map,Set)等数据结构要知道它们的实现,不一样的集合类有什么区别,而后才能知道在一个具体的场合下使用哪一个集合类更适合、更高效,这些内容直接看源代码就OK了html

2.多线程并发编程,如今并发几乎是写服务端程序必须的技术,那对Java中的多线程就要有足够的熟悉,包括对象锁机制、synchronized关键字,concurrent包都要很是熟悉,这部分推荐你看看《Java并发编程实践》这本书,讲解的很详细web

3.I/O,Socket编程,首先要熟悉Java中Socket编程,以及I/O包,再深刻下去就是Java NIO,再深刻下去是操做系统底层的Socket实现,了解Windows和Linux中是怎么实现socket的面试

4.JVM的一些知识,不须要熟悉,可是须要了解,这是Java的本质,能够说是Java的母体, 了解以后眼界会更宽阔,好比Java内存模型(会对理解Java锁、多线程有帮助)、字节码、JVM的模型、各类垃圾收集器以及选择、JVM的执行参数(优化JVM)等等,这些知识在《深刻Java虚拟机》这本书中都有详尽的解释,或者去oracle网站上查看具体版本的JVM规范.数据库

若是你如今也在学习Java,在入门学习Java的过程中有碰见任何关于学习方法,学习路线,学习效率等方面的问题,你均可以申请加入个人Java新手学习交流群:798844620,这里面汇集了不少正在学习Java技术的初学者,缺少基础入门的视频教程也能够直接来找我要,我这边有一台基础精讲视频教程,群文件里面还有我作Java技术这段时间整理的一些学习手册,面试题,开发工具,PDF文档书籍教程,须要的话均可以自行来获取下载。编程

5.一些经常使用的设计模式,好比单例、模板方法、代理、适配器等等,以及在Core Java和一些Java框架里的具体场景的实现,这个可能须要慢慢积累,先了解有哪些使用场景,见得多了,本身就天然而然会去用。后端

6.经常使用数据库(Oracle、MySQL等)、SQL语句以及通常的优化设计模式

7.JavaWeb开发的框架,好比Spring、iBatis等框架,一样他们的原理才是最重要的,至少要知道他们的大体原理。网络

8.其余一些有名的用的比较多的开源框架和包,Netty网络框架,Apache common的N多包,Google的Guava等等,也能够常常去Github上找一些代码看看。数据结构

暂时想到的就这么多吧,1-4条是Java基础,所有的这些知识没有必定的时间积累是很难搞懂的,可是了解了以后会对Java有个完全的了解,5和6是须要学习的额外技术,7-8是都是基于1-4条的,正所谓万变不离其宗,前4条就是Java的灵魂所在,但愿能对你有所帮助

9.(补充)学会使用Git。若是你还在用SVN的话,赶忙投入Git的怀抱吧。

以上就是你想要成为一名Java后端工程师你须要掌握的技术,但愿对大家有所帮助。