Java程序员,最常用的20%技术

我想到了我当年第一份工作,也是两个月从零学JAVA。当时就买了3本书,强啃了6周。记住一点,时间有限,别听网上很多大牛的,他们说的太杂。你要抓重点,你只要让人家知道,你足够初级开发就可以了,学了长长一个列表,个个不精,被面试官随便问起来,就糟了。倒不如抓住最基本的,反正你就是初级人员,只懂最基本的,是最正常的情况。

首先,学会一个J2EE服务器,tomcat+(Nginx或者httpd等web服务),学会的标准是,会下载,能启动,知道什么文件部署在什么地方,能看到启动画面,能知道最直接,最关键的配置文件名字和位置。你要了解下其他的服务器的名字,就足够了。有人叫你去学weblogic?那是坑你,2个月weblogic,你最多也只能懂十分之一。太重。

其次,学一个框架,以前SSH,现在SSM,这些都多余,你就只看spring MVC,因为所有的mvc框架都类似,你只要坚持你了解MVC,其他的我觉得是容易借鉴类推的,H和M,你就直接说,我没有项目经验,我是没有实际接触过的,我只了解一点点原理,这个不要花时间,最后去看几眼文档就可以了。spring MVC,就这么简单,一个就行。

然后是数据库,别赶时髦搞nosql,老老实实关系型,mysql就很好,坑浅应用多,最近连集群支持的都很好了,你只要强调一点,数据库,你不是DBA,你还不懂如何调优,如何调执行计划,你只懂增删改查,所以你要学的就是T-SQL,标准是你能手写带条件的增删改查,会复杂语句更好,稍微了解下sql效率方面的问题,为了面试也是可以。MSSQL在国内被鄙视的不行,如果有人叫你弄oracle,那又是太装逼,我手下一票的5年+程序员,其中有超过一半连oracle的AWR都不会读,有的连数据字典都不知道。

IDE不多谈,你总逃不过eclipse和几个大厂的东西。要用简单易用的,别花太多时间在这个上面。

设计模式你要稍微看一下,了解什么是设计模式,你大可以老实说,你根本刚入行,只是粗通工厂模式和单粒,其他的需要在工作中学习,这样既不会显得完全不懂,也不会出什么纰漏。

程序方面,jdbc需要了解下,相关的有连接字的写法,如何准备和获取结果,什么是resultset这类东西,当然,数据库连接的关闭和释放也是需要的。

类和抽象类和接口的关系搞清楚,继承和实现搞清楚,重载重写搞清楚这些都是基本概念。

EJB现在不太用了,稍微了解下,你可以用spring所以不用手写EJB了。spring除了MVC以外,还有很多项目,DAO可以看一下,比较初级。

由于java主要是B/S结构,无论是集成还是自己的前后端,你都要看一下http,整个http的生命周期是什么?存在哪些步骤和不同的application负责哪个阶段,相关的有几个request和response实体,包含什么是session了解下。

业务逻辑的话,上手仔细写几个例子就好了

前段你不需要了解太多,JSP+JS就足够了,你是程序员,不是前端的美工,不用去了解太多。jsp上有个容易忽视的基础点:tag到底是什么如何处理。jsp的生命周期这些也最好看一下。

基础的devops稍微了解下, git的代表,github可以注册一个账号,搞清楚本地repo和远程repo之间的关系即可。SVN更为简单一点。

Maven也要学习一下,主要是pom文件的几个主要的部分,尤其是depedency。

code smells方面手写万把行代码。自己有个感觉,不用去刻意背javadoc。

最后送波福利。现在加群即可获取Java工程化、高性能及分布式、高性能、高架构。性能调优、Spring,MyBatis,Netty源码分析和大数据等多个知识点高级进阶干货的直播免费学习权限及领取相关资料,群号:835638062 点击链接加入群聊【Java高级架构】:https://jq.qq.com/?_wv=1027&k=5S3kL3v

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Spark学习技巧

第5篇:数据库系统的实现

前言 前面的文章中,主要都是在围绕关系数据库理论进行研究,没有涉及到数据库系统的具体实现。 虽说数据库系统的具体实现因业务环境,RDBMS等因素而异,但总体开发...

3057
来自专栏Android随笔

常见的开源协议

参考文章: https://zh.wikipedia.org/wiki/Apache%E8%AE%B8%E5%8F%AF%E8%AF%81 https://...

1012
来自专栏北京马哥教育

Linux运维工程师必学必备的8项IT技能

成长一名Linux工程师之后,才知道一路走来,背后的心酸。非常感谢支持我的同伴与老师,是你们鼓励我,坚持到底,才在这个行业立足。 如果你在学习Linux,那么强...

3114
来自专栏程序你好

如何从传统单体架构转向微服务

1424
来自专栏后端技术探索

电商平台搞秒杀背后的技术实现

每当电子商务平台搞活动,“秒杀”经常是提升网站活跃度的利器之一。比如活动日早上10点1元爱疯7秒杀7台,谁看到了估计都想去秒一把,万一秒中了呢。秒杀的典型特征就...

1043
来自专栏木桶的专栏

《欢乐坦克大战》微信小游戏开发总结

因为该游戏为微信小游戏中的重度之作,项目开发周期非常短,所以游戏复杂度、开发难度、性能挑战也是挺大的。

4.1K19
来自专栏程序人生

Docker hackathon, teamspark 及团队协作软件设计上的思考

这个周末我参加了docker hackathon,一个旨在为docker 2015大会暖场的编程马拉松。大赛在旧金山Mission St.上的万豪举行,硕大的餐...

3193
来自专栏ImportSource

我所知道的那点微服务

忽然一夜春风来,人间处处微服务。这真是一个相当火的概念啊。笔者第一次知道微服务这个概念是在15年4月份,应该是。 铺垫 有一日翻到martin fowler的博...

35710
来自专栏Debian社区

Debian 成为主流 Linux 操作系统的七个原因

Debian也许是历史最悠久的发行版之一,但很显然,它仍可以教其他发行版好几招。要是没有Debian,Linux领域的境况会大不一样,会黯然失色好多。Debia...

702
来自专栏JAVA高级架构

深入浅出 RPC - 浅出篇

近几年的项目中,服务化和微服务化渐渐成为中大型分布式系统架构的主流方式,而 RPC 在其中扮演着关键的作用。在平时的日常开发中我们都在隐式或显式的使用 RPC,...

1163

扫码关注云+社区