如果学Java学得不舒服了,学Python。
如果对面向对象编程的概念有点不习惯,学Smalltalk。(Ruby也行,但不如Smalltalk经典。Ruby的文档是一大硬伤。)
如果嫌Java太啰嗦,学Python
如果嫌Java太啰嗦,又想用JVM,自己又有精力,学Scala
如果对对象之间的关系有点晕,学一学UML,以及它的一些图,可以对程序和运行进行直观的建模。你的IDE也许有插件可以生成UML图。但是不要太沉迷于这些方法论。
调试和辅助工具
学习一下你的集成开发环境提供的调试工具,加一些断点试试。
试试用jconsole或者VisualVM监控另一个jvm的状态。
用profiling工具寻找程序中慢的地方。Eclipse有profiling工具。VisualVM也有这样的功能。(如果不介意使用闭源软件的话,也试试JProfiler和YourKit)
有的JVM允许在运行时更新代码。Eclipse可以和某些JVM集成。这样你可以频繁修改代码而不用频繁重启JVM。对于某些“重型”工程很有用。(如果不介意使用闭源软件的话,也试试jRebel)
多线程
学习Java的多线程编程以及lock、condition的用法(包括传统Java的synchronized语句以及新加的java.util.concurrent.*),学习一下如何让线程停下来,以及为什么要频繁确认isInterrupted()而不要用Thread.stop()。了解一下多核处理器、缓存、内存的关系,以及为什么多线程编程这么难。
如果还舒服,学习一下Runnable的用法,以及自带的Executer等基本多线程工具。
应该已经留意到java.util里面的很多容器不是线程安全的,但是java.util.Collections可以帮你创建一些安全的版本。另外关注一下java.util.concurrent里面有ConcurrentMap等容器可供使用。
如果有空的话,看看memory model(内存一致性模型)和无锁同步(见java memory model和java.util.concurrent.atomic)。
如果还有空,再了解一下除了“共享内存多线程编程”以外有没有别的模型(多进程multi-processing、消息传递message passing等)。
反射、元编程
学习Java的反射机制,以及Annotation的用法。
如果还舒服,试试java.lang.reflect.Proxy的用法。
如果仍然还舒服,玩一玩CGLib(一个第三方的库)。
网络编程
学习一下IP,TCP协议(计算机专业的应该学过,复习一下),学习Socket编程(注意垃圾回收器不会帮你关掉Socket)。
如果不是很关心HTTP,看看java.nio,学习单线程轮询式IO复用(Selector)。
如果关心Web还有HTTP,就学习一下HTTP协议,以及用Java进行HTTP的客户端编程。
如果还舒服,学学HTML,写写HTML的静态网页(不需要Java)
如果还舒服,用Java写一个基于DOM、XPath或者CSS Selector的网页解析器(爬网页)。
如果还舒服,学学Java的Servlet接口(先别学jsp)进行Web服务器端编程。学学标准的Servlet容器怎么用,包括web.xml的用法以及listener、filter等概念。以及某个Servlet容器(如Jetty或者Tomcat)的具体用法。
学IT,来上元教育,上元教育欢迎您的咨询。
上课内容:
1、深度理解Java面向对象、分布式、健壮性、可移植性、多线程等特点;
深入学习Oracle、MySQL数据库,运用JDBC完成项目中Dao层CRUD实现;
Html5、CSS3前端技术结合jQuery脚本和bootstrap框架制作精美官网页面;
Struts2、Spring、Hibernate框架整合,Maven分模块构建,完成电商平台项目;
SpringMVC、Spring、MyBatis框架整合,WebService服务调用,SpringBoot微服务架构技术,完成企业级项目开发;
上课周期:5个月
优势点:大专及以上学历,28岁及以下,是我们认为合适的学习条件,名师24小时在线为学员解答疑惑,每个月项目实习答辩,就业指导课,模拟面试,校企合作红章文件,现场校招,这是我们提供的就业保障;
任何关于相关专业的问题想要知道都可以联系我,上元教育欢迎您的咨询,一定知无不言,言无不尽!
咨询地址:苏州工业园区新平街388号腾飞创新园A1座2楼
咨询电话:周老师 18151092317(同微信)
联系我时,请说是在苏州便民网看到的,谢谢!