Java程序员应该掌握哪些技术?

荔枝壳 发布于 2014/07/28 17:22
阅读 4K+
收藏 19

Java是热门的语言之一,2014年7月份TIOBE编程语排名Java排名第二,仅在C语言之后。Java可以用来开发web应用和桌面应用,更重要的是Java具有跨平台性:write once, run everywhere。

Java相对其他语言来说,更容易学习。如果你想成为一名Java程序员,根据个人经验,认为你至少应该对下面的这些内容非常熟练,才能在Java开发上游刃有余。

Java基础部分:

  • OOP概念
  • 抽象类与接口
  • 构造函数与initialization order(初始化顺序)
  • Java中的一些关键字:static、final、 volatile、synchronized、transient、this等等
  • File I/O 和 序列化
  • Collections:List、Map、Set
  • 异常
  • 泛型
  • JVM和内存管理
  • 多线程和同步
  • 设计模式
  • 反射机制

若开发基于Web的应用,下面这些内容应该熟练掌握:

  • Web相关技术,比如HTML、CSS、Javascript、jQuery
  • JSP/Servlets
  • Web框架,比如SSH三大框架、myBatis
  • XML和JSON
  • Web服务器,比如Tomcat
  • Web应用服务器,WebLogic、WebSphere
  • 一些基本库,比如 Java mail、log4j等

Java程序员都应该掌握的数据库技术:

  • SQL查询语句:Inner Outer Joins、Group by、Having
  • 存储过程
  • 触发器
  • 游标
  • 数据库驱动(JDBC)

一些工具和思想方法:

  • 开发工具:比如Eclipse、MyEclipse、IntelliJ IDEA
  • 版本管理工具,比如SVN、Git
  • 测试:单元测试、jUnit
  • 需求分析
  • 版本管理

以上只是根据我个人的经验总结出来分享给大家。说的不一定全面、也不一定完全正确,欢迎指正与补充!

原文:http://codecloud.net/java-programmer-1993.html

加载中
1
木子SMZ
木子SMZ
突然发现楼主说的东西我基本都接触也用到了,只是有的东西接触的不深,很多只是应用级别,对源码还是浅尝辄止,感谢楼主分享,很有帮助
1
吐槽的达达仔
吐槽的达达仔
设计模式,多线程,concurrent包的应用。。
0
干死it
干死it
我来拿分的,支持下
0
mallon
mallon
竟然没有 MySQL 
0
0
江安河的鱼
江安河的鱼

NIO(socket nio、file nio)

PS:面试被问到:nio selector的底层实现selector、poll、epoll的区别,泪奔

吐槽的达达仔
吐槽的达达仔
我看过一次,但是就忘了。。这个也太坑了吧。。
0
缥缈寒
缥缈寒
好像少了好多东西啊!
缥缈寒
缥缈寒
回复 @荔枝壳 : 抱歉,这段时间比较忙,没有看到
缥缈寒
缥缈寒
回复 @周旋 : 抱歉,这段时间比较忙,没有看到
周旋
周旋
请补充。。。坐等
荔枝壳
荔枝壳
进阶部分不够全面,欢迎补充
0
陈文锦的秘密
陈文锦的秘密
仔细一想,做java的真苦逼,学的东西真他妈的多
陈文锦的秘密
陈文锦的秘密
回复 @周旋 : 秦岚
周旋
周旋
头像牛逼
0
梅开源
梅开源
做java第一要务是背熟那套java安全,java稳定,java跨平台,大企业用java之类, 有了这些会写文档才能中标,之后具体是不是自己做都不重要。
返回顶部
顶部