一入Java深似海,从此Python如路人。。
  java目前业形势不错,需求量也很大,但这并不代表做java可以衣食无忧,因为在java的世界里技术更迭的很快,那么怎样才能把java学的更好呢?
  java的桌面应用并不是很擅长,所以做java后大致是两个方向,web企业级开发(JavaWeb J2EE)和手机android开发。
  这两个方向的先决条件是J2SE,不要觉得J2SE学一遍了可以了会很简单,只有到你逐渐学的深入了你才会发现java水深的可怕。
  如果你想学习java可以来这个群,首先是一二六,中间是五三四,后是五一九,里面有大量的学习资料可以下载。
  J2EE:
  1.HTML+CSS+DIV,前端会用到,作为研发人员至少应该会简单写些页面出来。
  2.JAVASCRIPT,想学学吧,很多人是很害怕这门语言,所以需要用到JS的地方用Jquery代理了,Jquery是应该好好学学的,很有用的JS框架,看似复杂华丽的效果他都能轻松完成。
  3.Ajax,前端异步交互技术,很值得研究。
  4.JSP,Servlet,Javabean,发展至今已经不提倡在JSP里嵌入JAVA代码,所以仅仅是作为视图层使用,嵌入些如JSTL和Struts2标签库的标签成为动态页面。Servlet是应该重点学习的,包括如过滤器、监听器等,这些都是当下Struts2或者未来WEB框架的底层基础和原理。
  5.Strut2+Hibernate(or JPA)+Spring,当下十分流行的开发框架。其实是很容易上手的,但关键是需要懂得原理。
  6.有机会学些WebService,由于本人这一块还是空白不“妖言惑众”了。
  Android:
  4大组件神马的,个人认为系统的学习效果不是很明显,项目驱动的方式是掌握一门技术有效的手段。
  当然了,如果将来想从事IT行业,XML、UML、设计模式等等都是应该掌握的。
  语法方面。了解所有语法,会简单使用。
  语言暴露成面。开始略深入的了解常用的集合源码。了解源码,需要数据结构和部分算法支持。
  搞定所谓的OOP。
  框架设计方面。开始看一些框架源码,慢慢深入,开始了解设计模式技巧,其中设计模式和技巧已经几乎脱离了某种语言。
  自己动手实现一些简单框架。
  开始深入研究Java多线程机制JMM啥的。开始完整的啃AQS系列。
  开始理解JVM GC机制,研究学习相关原理。需要图论啥的支持。
  下载OpenJDK看JVM源码,在C/C++成面理解/分析JVM的实现。
  字节码,然后用Java和所学的编译原理,在Jvm上实现一门语言。
  然后还有辅助的东西,不说了,实在是太多了。。。
  有人说要明白jvm的运行机制,要去查看jdk的源码。其实我不是很赞同他们的观点。要作为一名初级的java开发工程师,你需要做的是完全熟悉jdk的常用api,数据库的基本操作,基本的效率常识问题等需要掌握,常用的框架需要熟悉,如:spring,struts2,hibernate,springmvc等;这些基本都是成为一个初级开发工程师必须掌握的知识。