后端工程师需要掌握哪些知识Java后端⼯程师要具备哪些技能或技术?
⾸先你确定你要进⼊Java开发?决定学习Java是要下很⼤决⼼的,因为Java技术的世界是个⽆底洞,永远也学不完,不废话了,我就简单的说⼀下⾃⼰的看法(偏重Java⽅⾯,什么html、css、js这些不在这次的讨论之内,虽然JavaServer开发有时候也都需要懂点):
1.Core Java,就是Java基础、JDK的类库,很多童鞋都会说,JDK我懂,但是懂还不⾜够,知其然还要知其所以然,JDK的源代码写的⾮常好,要经常查看,对使⽤频繁的类,⽐如String,集合类(List,Map,Set)等数据结构要知道它们的实现,不同的集合类有什么区别,然后才能知道在⼀个具体的场合下使⽤哪个集合类更适合、更⾼效,这些内容直接看源代码就OK了
2.多线程并发编程,现在并发⼏乎是写服务端程序必须的技术,那对Java中的多线程就要有⾜够的熟悉,包括对象锁机制、synchronized 关键字,concurrent包都要⾮常熟悉,这部分推荐你看看《Java并发编程实践》这本书,讲解的很详细
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规范.
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的灵魂所在,希望能对你有所帮助
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论