浅谈java培训,师哥教你少走两年弯路!


这篇文章已经是有数年“网龄”的老文,不过在今天看来仍然经典。如何学习Java?本篇文章可以说也是面对编程初学者的一篇指导文章,其中对于如何学习Java的步骤的介绍,很多也适用于开发领域其他技能的学习。
【在原先《学好Java之我见》的基础上重新整理而成】

Java - 近10年来计算机软件发展过程中的传奇,其在众多开发者心中的地位就如“屠龙刀”、“倚天剑”。
我去年加入了一个java培训班,好在人品比较不错,没有被坑,学到了很多东西,也让我少走了很多弯路,Java是个平台,我只想说说我对学好Java的一点看法,希望对初学者有所帮助。

1. 思考一下

学习Java之前,先别急,静下心来好好想想:

1)你对学习Java是否有兴趣?

2)你是否能静下心来坚持不懈地学习?

嗯,这是个容易但又绝对不应该忽略的问题,你确信自己对Java感兴趣、而且又有吃苦的准备,那你才可能学好Java!如果具备这两点条件,就请继续往下看……

2. 准备一下

请不要把你的学习Java之路和其它计算机技术分开看待,技术的联系往往是千丝万缕的,你应该掌握一些学习Java所涉及的基础知识,对于 “CLASSPATH要怎么设置啊”、“跪求JDK下载地址”等等问题,你不该问,因为Internet上太多答案了,甚至换个角度说,你是不是还不适合直接学习编程?

1)买本Java学习用书。

JDK 6正式版刚刚推出,市面上你暂时买不到JDK 6的书籍,但我仍推荐你买一本适合入门的、较新JDK版本的Java书籍,那么,你现在选择一本讲述JDK 5的入门书籍还是有条件的。我可以推荐一些入门书,但是我不打算这么做,因为合我口味的,不一定适合你。但无论如何,《Thing In Java》绝对不应该作为你入门Java的第一本书籍!

记住,网络上学习Java的资源很多,但基本不够系统,拥有一本Java入门书籍,是你系统学习Java的基础。

2)准备Java学习环境。

准备你的学习环境,很简单,安装JDK 6,然后用类似UltraEdit、EditPlus的文本编辑器配置你的学习环境,Internet上有很多关于如何配置的文章。初学Java,不建议用IDE工具,通过一行行的敲代码,你会碰到很多问题,只有这样,你才能学会怎样解决问题,并加深自己对Java的理解。

准备好后,开始进入激动人心的Java学习里程吧!

3. Java基础学习之路

学习Java的过程虽然辛苦些,但又是处处有精彩!学习过程中的心态一定要保持专一,网上关于语言间的“PK”到处都是,别被浮躁影响!认准了Java,你就坚持!克服心魔,恒心最终会给你回报的。

Java的体系分为Java SE、Java EE和Java ME(JDK 5.0以前分别叫J2SE、J2EE和J2ME),Java的敲门砖就是Java SE了,也就是你要入门学习的内容,不论你日后是选择哪个体系领域作为发展方向,你都得从Java SE起步。

学习Java SE,打好Java基础;如果想学Java EE(对不起,我不了解Java ME,所以我无法涉及Java ME的相关内容),对于AWT、Swing是否要学习呢,我个人是觉得还是要知道其所以然的,特别是其事件处理模式,我强烈建议初学者一定要弄清楚,其他具体的开发就不一定要全面掌握了,毕竟AWT、Swing方面的内容足够用几本大部头的书才能描述详尽;当然,如果你的工作就是做 AWT、Swing开发,那就另当别论了。

I/O、Thread都是基础之一。

4. Java EE学习之路

学习了Java SE,还只是完成“万里长征”的第一步。

接下来选择学习Java EE或是Java ME(或者你还想不断深入学习Java SE,只要你喜欢,你可以一直深入下去,就像前面所说的,我不会讲到Java ME的学习);估计选择Java EE方面的学习者会多一些,Java EE所涉及技术非常多,考虑到初学者的接受程度,我会尽量从最常用的角度来介绍。

学习Java EE,在开发环境上不建议再用文本编辑器,我感觉NetBeans 5.5(目前最高正式版本)很适合初学者,我个人也很喜欢NetBeans,如果你喜欢用别的IDE如Eclipse,都没问题,看自己喜欢吧。

4.1 学习JSP/Servlet

Java EE最高版本目前是5.0版本。

在Java EE中,首先要学习JSP/Servlet(结合Tomcat、MySQL)技术,建议JSP1.2/2.X的知识都要掌握,毕竟现在很多的在用系统都还是基于JSP1.2,学习JSP,还必须掌握一些外延技术,如:你还得掌握HTML基础知识,最好再掌握些JavaScript(目前正火的AJAX技术之一)、CSS的技术,而了解XML是必不可少的(至少描述性配置信息是通过XML来描述的)。在学习JSP/Servlet过程中,应该结合学习 JDBC、数据库开发技术,毕竟绝大多数Java Web项目都是和数据库紧密结合的。

4.2 学习数据库开发技术

这里我想重点说一下数据库开发技术,数据库技术是做业务系统必备技能,Java Web开发人员最低程度都应该掌握SQL语句的使用!数据库技术大体可分为DBA技术和数据库开发技术,对于开发而言,应侧重数据库开发技术,而数据库基本操作,也是要掌握的。常用数据库有DB2、Oracle、SQL Server、MySQL等,你可以结合实际需要,选择一种数据库,并花大力气掌握其开发技术。

记住,学习数据库开发技术和学习Java EE,是相对独立的,你可以在学习JSP/Servlet的同时,学习数据库开发技术(如SQL语句等),或者先学数据库开发技术,之后再学习JSP/Servlet。

4.3 学习Java EE其它开发技术

再往后,可以学习一些EJB的知识,目前EJB最新版本是3.0,其和前面的2.X版本相比,有较大不同,考虑到目前EJB 2.X还有很大的应用市场,建议结合学习EJB 2.X/3.0。在学习EJB过程中,应同时掌握一种企业级应用服务器的使用(如 WebSphere、Weblogic、Sun Applcation Server或JBOSS等,目前Sun Applcation Server 9.X和JBOSS都可支持EJB 3.0)。

之后的学习中,再逐渐扩展到其他Java EE技术。

5. 之后

等你对Java EE有些感悟的时候,你自然就会想不断扩展你的知识面,这时候你可以学习Spring、Hibernate,以及各种Web框架(如Struts、JSF、Webwork或是Tapestry等)。

随着技术、经验的不断积累,你会逐步关注分析、设计等更高层次的知识,这时候,你可进一步学习相关的UML、模式等知识(积累了一定经验,你就可以安排自己学习这些知识了)。

6. 小结

永远记住:自始至终,实践是学习Java技术历程中极其重要的一环。脱离了实践,是学不好技术的!

Java学习、实践之路依然没有银弹,况且一步步走来,要学的东西很多,勤奋是金!

善于利用Internet上众多的资源,多吸取些别人的经验。

目前关于Java的争论很多,如“Java正走下坡路”、“Ruby必将取代Java”等论点甚嚣尘上,但正如我前面所言,这是一种浮躁的表现,Java的前景非常好,特别是Java开源以后!就让他们去吵去吧,掌握了Java,你就掌握了当前最火的技术。我在图零科技http://www.tolink365.com/培训时,那里的老师就告诉我:“梅花香自苦寒来”,当你掌握了扎实的Java开发基础,你就能把手中的这把“屠龙刀”、“倚天剑”舞得风声水起!那时,你一定会有一种成就感。

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。
今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑问无法得到正确的解释,为什么我们现在做java的web开发,会选择struts2或者springMVC这样的框架,而不是使用servlet加jsp这样的技术呢?特别是现在我们web的前端页面都是使用velocity这样的模板语言进行开发,抛弃了jsp,这样的选择又会给我们java的web开发带来什么样的好处,延

简单的poi导出 - 2016-09-14 14:09:04

@Override     public void exportXlsNotBill(HttpServletResponse response, TSBaseUser user) throws UnsupportedEncodingException {         // 第一步,创建一个webbook,对应一个Excel文件         HSSFWorkbook wb = new HSSFWorkbook();         // 第二步,在webbook中添加一个sheet,对应Excel文件
JEECG-P3微服务框架         Jeecg-P3是一款轻量的 Java 微服务框架,类似spring-boot,采用Springmvc+Velicity实现,插件开发与容器技术最佳实现,目前已开发“在线聊天”“我的邮箱”“ 微信 企业号”“网站CMS”等插件,可单独运行,也可轻松无缝集成jeecg平台。         特点: 提供强大代码生成器,提高开发效率,插件开发模式、松耦合、可插拔、支持独立部署,也可以无缝集成Jeecg平台中 版本升级日志 支持minidao拦截器,添加自动注入创建时

JavaWEB中读取配置信息 - 2016-09-13 17:09:03

第一种方法是使用java.io和java.util包,缺点是路径的概念要清晰, 例子:   Properties prop = new Properties(); InputStream in = getClass().getResourceAsStream("/common.properties"); try { prop.load(in); pool = new JedisPool(config, prop.getProperty("pay.redis.url")); } catch (IOExcep

请教一个问题 - 2016-09-13 17:09:03

请问谁有java persistence api的中文版,分享一下,英文实在看不懂,例如下面的pdf,如果谁有请打救一下,谢谢
//0代表前面的补充//8代表长度为8//d代表参数类型为正整数int val=12;System.out.println(String.format("%08d", val)); 打印结果: 00000012 System.out.println(String.format("你是谁?%2$s,他是谁%1$s", "wj","jw")); 你是谁?jw,他是谁wj
Java 抽象类和接口 一、抽象类 :   1) 由 abstract 修饰   2) 包含抽象方法的类必须是抽象类     不包含抽象方法的类也可以声明为抽象类 ---- 我乐意   3) 抽象类不能被实例化   4) 抽象类是需要被继承的,子类 :     4.1) 重写所有抽象方法 ---- 常用     4.2) 也声明为抽象类 ------ 不常用   5) 抽象类的意义 :     5.1) 包含公共的属性和行为,被子类所共享 -- 代码重用     5.2) 为所有子类提供一种公共的类型 -

Java 获取当前JVM进程ID - 2016-09-13 15:09:48

Java 获取当前JVM进程ID   public static final int jvmPid() {try {RuntimeMXBean runtime = ManagementFactory.getRuntimeMXBean();Field jvm = runtime.getClass().getDeclaredField("jvm");jvm.setAccessible(true);VMManagement mgmt = (VMManagement) jvm.get(runtime);Metho

java面试必备之多线程 - 2016-09-13 15:09:44

     Java 多线程 一、 线程     线程:可以并发执行多个任务。 二、 线程创建方式     线程有两种创建方式。 方式一 : 直接继承 Thread 并重写 run 方法。需要注意,启动线程要调用 start 方法, start 方法调用完毕后,线程纳入到线程调度中,线程调度会分配 CPU 时间片来运行该线程,当线程运行时会自动调用 run 方法。 第一种创建线程方式有两个不足 :  1: 由于要求继承 Thread 类,那么在将来项目中,就有可能出现继承冲突。  2: 由于继承了 Thre
JeeWx_2.4.2 版本发布,免费开源 微信 管家系统   1. JEEWX系统介绍        Jeewx是一款开源、免费的微信管家系统,采用 Java 语言实现,支持微信公众号、微信企业号,Jeewx实现了微信平台管理的基础功能,便于用户二次开发。        后续升级亮点: 即将推出“支付服务窗”插件,后续会扩展支持“微博”, “百度直达号”, “QQ公众号”等。 2. 版本升级亮点    推出扁平化UI界面,支持首页风格切换 (点击右上角-控制面板 -首页风格) 3. JEEWX系统功能