java程序员应该掌握的技能

我的总结,一家之言,如有不同意见,你他妈有种说说!

1.自学能力。能根据现有的问题去利用百度和谷歌查出想要的答案,查不到记得变化关键词

2.英语阅读能力。很多技术都是老美他们发明的,想学习这些技术,最好的方式是直接去官方网站找教程。那些csdn上的中文教程可以参考,但是经常会带你绕一大圈,可能是少什么jar包,或者是缺什么环境,又或者是代码写的乱七八糟,不好维护。

3.好奇心。希望多接触些技术,并且对自己长期使用的技术,要有一股冲动想要去了解原理,不满足于表面的使用。比如想深入了解hibernate,简单,去看他的代码。看不懂?没事,找个dbutils这种项目,去看看orm底层如何实现,看看他们是如何管理sql生成,看看他们是如何控制并发连接数据库,然后尝试自己添加声明试事务处理。这时,你学到的不仅是这个框架本身,还掌握了并发,反射,自定义注解,动态代理,设计模式等。了解了原理,学习了技术,何乐而不为?

4.数据结构和算法。很多人说做Java,不需要数据结构和算法的知识,这其实是误区。不了解算法,你就不会分析每个操作的快慢,当有海量数据处理的时候,你想优化都无从下手。不了解数据结构你就没办法区分什么时候用arraylist,什么时候用linkedlist,什么时候用stack,什么时候用queue。用linkedlist增删快么?不太准确,实际上他删除并不快,时间复杂度为o(n)。用arraylist添加慢么?也不太准确,利用平摊分析,他的时间复杂度可以达到常量级别。当你有一大批基本类型的数据要排序的时候,你会调用arrays.sort,但你知道他底层是调用的快排么?如果你不对自己的数据提前做随机打乱的处理,你知道快排可能会产生内存溢出的问题么?

5.底层知识的掌握。掌握一定的虚拟机知识,可以让你在出现内存溢出的时候针对性处理问题。你需要知道栈内存溢出很可能是由于你某个方法中进行了递归调用而忘了结束才导致的,你需要知道outofmemoryerror可能并不一定是堆内存产生对象太多而出现的,也可能是方法区加载了太多类文件而出现的。

6.勤写博客。多写博客可以梳理你凌乱的知识点。将解决的一道难题记录上去,以后你就不需要为这个问题东查西找,只需要看看自己的博客,马上就能得到答案

时间: 2024-11-15 00:02:32

java程序员应该掌握的技能的相关文章

工作了3年的JAVA程序员应该具备什么技能?(zhuan)

http://www.500d.me/article/5441.html **************************************** 来源:五百丁 作者:LZ2016-03-18 因为和同事有约定再加上LZ自己也喜欢做完一件事之后进行总结,因此有了这篇文章.这篇文章大部分内容都是面向整个程序员群体的,当然因为LZ本身是做Java开发的,因此有一部分内容也是专门面向咱们Java程序员的. 简单先说一下,LZ坐标杭州,13届本科毕业,算上年前在阿里巴巴B2B事业部的面试,一共有

Java程序员应具备的技能

1.语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正. 2.命令:必须熟悉JDK带的一些常用命令及其常用选 项,命令至少需要熟悉:appletviewer. HtmlConverter.jar. java.javac.javadoc.javap.javaw.native2ascii.serialver,如果这些命令你没有全部使用过,那么你 对java实际上还很不了解. 3.工具:必须至少熟练使用一种IDE的开发工具,例如Ecl

一名3年工作经验的java程序员应该具备的技能

一名3年工作经验的Java程序员应该具备的技能,这可能是Java程序员们比较关心的内容.我这里要说明一下,以下列举的内容不是都要会的东西—-但是如果你掌握得越多,最终能得到的评价.拿到的薪水势必也越高. 1.基本语法 这包括static.final.transient等关键字的作用,foreach循环的原理等等.今天面试我问你static关键字有哪些作 用,如果你答出static修饰变量.修饰方法我会认为你合格,答出静态块,我会认为你不错,答出静态内部类我会认为你很好,答出静态导包我会对你很满

java程序员必须会的技能

1.语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正. 2.命令:必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer. HtmlConverter.jar. java.javac.javadoc.javap.javaw.native2ascii.serialver,如果这些命令你没有全部使用过,那么你对java实际上还很不了解. 3.工具:必须至少熟练使用一种IDE的开发工具,例如Eclip

Java程序员涨薪必备技能(1-5年必看!!!)

工作1-5年,当我们向老板提出加薪的时候,或者跳槽去"捡"offer的时候,我们底气够吗?敢不敢不给涨薪就"挥一挥衣袖,不带走一个bug"?是不是提出要求后你的主管.经理立刻同意,为了把你留住.然而,现实往往是...技术不过硬,其他的都免谈.Web应用,最常见的研发语言是Java和PHP.后端服务,最常见的研发语言是Java和C/C++.大数据,最常见的研发语言是Java和Python.可以说,Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技

JAVA程序员面试总结,高手整理加强版

每个程序员.或者说每个工作者都应该有自己的职业规划,分享高手整理的java程序员面试总结给愿意思考自己未来的朋友们. 第一阶段:三年 我 认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人.这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本 上的内容迈向真正的企业级开发.我们知道如何团队协作.如何使用项目管理工具.项目版本如何控制.我们写的代码如何测试如何在线上运行等等,积累了一定的 开发经验,也对代码有了一定深入的认识,是一个比较纯粹的Coder的阶段. 第二

如何突破JAVA程序员三年的门槛

第一阶段:三年 我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人.这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本 上的内容迈向真正的企业级开发.我们知道如何团队协作.如何使用项目管理工具.项目版本如何控制.我们写的代码如何测试如何在线上运行等等,积累了一定的 开发经验,也对代码有了一定深入的认识,是一个比较纯粹的Coder的阶段. 第二阶段:五年 五年又是区分程序员的第二个门槛.有些人在三年里,除了完成工作,在空余时间基本不会研究别的东西,这些人永远就是

有2-3年经验的java程序员需要掌握的东西有哪些?

前言 因为和同事有约定再加上LZ自己也喜欢做完一件事之后进行总结,因此有了这篇文章.这篇文章大部分内容都是面向整个程序员群体的,当然因为LZ本身是做Java开发的,因此有一部分内容也是专门面向咱们Java程序员的. 简单先说一下,LZ坐标杭州,13届本科毕业,算上年前在阿里巴巴B2B事业部的面试,一共有面试了有6家公司(因为LZ不想请假,因此只是每个晚上去其他公司面试,所以面试的公司比较少),其中成功的有4家,另外两家失败的原因在于: 1.阿里巴巴B2B事业部的面试,两轮技术面试都过了,最后一轮

(面试感悟)一名3年工作经验的程序员应该具备的技能

前言 因为和同事有约定再加上LZ自己也喜欢做完一件事之后进行总结,因此有了这篇文章.这篇文章大部分内容都是面向整个程序员群体的,当然因为LZ本身是做java开发的,因此有一部分内容也是专门面向咱们java程序员的. 简单先说一下,LZ坐标杭州,13届本科毕业,算上年前在阿里巴巴B2B事业部的面试,一共有面试了有6家公司(因为LZ不想请假,因此只是每个晚上去其他公司面试,所以面试的公司比较少),其中成功的有4家,另外两家失败的原因在于: 1.阿里巴巴B2B事业部的面试,两轮技术面试都过了,最后一轮