Java之路
转眼之间,即将进入社会。毕业在即,感慨多多。对于过去的思想和生活,不能让它一点痕迹都没有的流掉啊,还是想留下点东西,或是纪念,或是警惕。 从今天开始,我要对我的学习和感悟写点什么。呵呵,也做为大家娱乐或者消遣品吧。
那么先谈谈理想吧。
我的理想有三个变化:
初中的时候想做个教师。父母说教师好,以后做个老师,工作不累,还是”旱涝保收“,这是我从家人听到最多的话拉。自己也感觉教师多伟大,教那么多人,学生还得听老师的,多神气。这也许是那是的感觉吧。
高中的时候,我看的书不少,了解到原来这个世界上不只是有老师这个职业啊。因为我喜欢看动物世界,知道这是生物领域,要是天天能观察研究动物植物该多好。我那时最喜欢的事是种花草。在自家的阳台上,用花盆(小学时和伙伴,从大千世界搜刮来的)种草,种花,种树,种菜,哈哈。不管是什么只要能种,我就耕耘,每当繁忙时节,家里几乎成拉农场拉。也因此被吵,但是也许家里状况变拉的原因,母亲不是很刻意干扰我的生活。一边种花草,一边看书,一边学习,这就是我的高中生活。那时一个梦想就是生物学家,而且要研究生物或小动物(包括昆虫之类的)。当知道有网吧这个东西后,慢慢改变拉。懒的种拉,懒的理我的昆虫拉。
高考过后,选专业,上大学。估分,在考试过后已经差不多知道拉。两天时间的泡网吧过后。开始填本科一批,我随便写拉个河南农业大学(肯定没戏)。然后进入多的如牛毛似的专业名词里面。那时候开始,我家里的环境越来越不好,在责任和兴趣协商下,我拒绝拉父亲盲目的意见--河南政法管理学院(分很低),而是选择拉计算机类专业。那时,只是想学计算机专业,一来可以天天玩电脑(真是果真应验拉),而且相对来说好找工作点。只要找,都能找到,可能工资不理想,但是能有工作和做自己感兴趣的事。
好拉终于要说java拉。
首次听说java是好朋友说的。他建议我和他一起学java,以后一块。我那时对这个并不感兴趣。虽然答应,但是并没有立即学习。真正学习java是从大二上学期开始学的。那时上课已经感觉自己对所学专业十分缺乏兴趣,自然就百无聊赖,也就是说没事干。一段时间后,想拉想,总不能上课都睡觉或者发呆过去吧。睡的多拉容易嗜睡还有可能得心脏病呢,呵呵,发呆可能会导致过早的老年痴呆证。那时和我的哥们联系还算频繁,当然一打电话无非就是些,交girlfriends拉没,what learn之类的,也谈起java,但更重要的是完美世界。曾经引我入迷拉一段时间。荒废拉不少时间。但是我还是从学校旁边的旧书店买拉本java基础书。好像是3块或者4块。好嘛,现在不用担心得老年痴呆拉。上课没事干,看书。一看就到现在。
当然学习java并不是靠看书看出来的。开始的一段时间里,我边看书边写一些简单的例子。那时候也配上拉电脑。但总体感觉也就是那样。编个小程序,在jcreator里面运行。感觉比较好玩而已。没想到自己要靠它吃饭。吃饭还得靠自己的专业或者已经是定下拉的信念,毕业去打工。什么时候转变靠java吃饭的呢。是在我使用eclipse开发工具时,第一次被它的界面吸引拉。这么豪华,也是在编程序吗。还以为都是在黑屏或者没有色彩的白板中编呢。但是要靠java吃饭,究竟是该学什么呢?从此和百度接下拉不接之
缘。一有问题,百度一下就知道,确实没错。呵呵
我搜索拉很多关于如何学习java或者是如何成为真正的java程序员之类的网页。现在我的电脑上还有这些经典的网页,舍不得仍。那么像网上各位高手说的那样,为了java事业的发展,特将学习java的方法列举如下,虽然自己不算是高手,但是也写出点自己的心得吧,还望各位指教:
java学习总路线:
java分为三大技术体系,1,j2se;2,j2ee;3,j2me;这里没有特别的顺序排列。
首先我们要从j2se入手学习java。条件:热爱java;基础:无或者有c语言C++语言的话更好,这里不是说你有基础就可以快速学好java,你没有基础就不能快速学好java。这是要靠毅力、兴趣和领悟能力。具体学习什么,你可以看下java2核心技术或者thingking in java......(自己搜)学的越好意味着要看更多的书,要敲更多的代码。其次我们有要面临选择拉。学习j2ee还是j2me呢。首先我们要分清这两个概念,j2ee主要是企业级应用。具体例子就是,学完之后你要制作为企业服务的各类系统,web服务,网站等之类的软件。j2me是手机应用和嵌入式应用。这里说明J2EE是java现在的主流(已经升级为JavaEE),也是大部分人学习java的方向,因为j2ee学习有广泛的学习资料和开源项目。因此什么情况下你想学j2ee都能学,只要有台电脑,而且能联网就行。这里还要说明一下,没有电脑的话,最好不要搞软件;因为你要搞软件,不可能不练习敲代码,当你没有电脑时,你不具备完成一定代码量的条件,无论你说,我可以在网吧学,我可以在学校机房学。由于暑假没有把电脑带回来,我干过在网吧学的事,但也只是学习配置服务器,配置运行环境而已。一直敲代码,绝行不通。相对与J2EE来说学习j2me的人很少,原因是资料少,环境很难得到。比如你找个起码能模拟手机运行j2me的程序的软件就很难。一般要掏钱的。不是专业公司的话,很难把开发j2me的环境配置齐全。除非你很有钱,不过那样你还需要学技术吗,个人观点。最后不论你学j2ee还是j2me,那么j2se都是要学的,因为他是前者的基础。如果你有兴趣致力于java桌面开发程序那么只学习j2se就行拉。但是java的优势不再桌面而在于网络,这里笔者不建议学桌面,除非你有特别深的兴趣,或者不那么急于工作的话。可以考虑。但是以后,免不了还得和c#,vc++的桌面应用竞争。
那么学java最关键的是什么呢?再次我把我的经验共享给大家,那就是
看——想——找——练——看——想——找——练 ,导致:最终成为java技术专家。
J2EE学习:
在这里我主要说明下j2ee的学习。因为我就是走这条路子的。其他的不太涉及。当然现在我还并没有学完j2ee,学完学通的话,可能至少5,6年吧。现在至多算是个java程序员,一下结论不对之处还望各位指教。
J2EE牛人:国外2-3万dollar,中国,2-3万RMB(月薪)我的动力。
牛人含义:使linux,会使中间件,会使java框架,会使数据库
J2EE的学习过程: 由于学习尚浅, 一下是个人观点,还望高手纠正:
J2EE大多提供web服务, 因此我们要学习,html,css,xml,js这些知识,到熟识程度就行,随着项目经验的积累,就会熟 练拉。
其次就是servlet拉。servlet是jsp之父,应该先学servlet,在学jsp。其实servlet学会拉jsp也差不多拉,顶多记一下内置函数、标签的使用。但是serlvet一定要领悟其原理和配置(虽然IDE已经内只好拉自动配置功能,但是还是要学好配置,很重要)。
其次你要用到j2se知识拉。还有学习jdbc不可避免,还有pojo即java传统对象,比如javabean。
再次学习下数据库的链接池和分页实现。那么你可以制作最基础的web服务拉,有一部分公司采用这种方法开发项目,但是你还需要学习设计模式才能找到工作。
接下来你最好先学习下j2ee设计模式,因为这些模式是java框架的底层实现,其实就是使用拉这些模式的很多组合。学完之后,你就很容易里面java框架的原理与机制,到学习时,不会总是问,这是为什么呢?为什么要这样?而是哇塞,这一点采用拉xx模式解决。这样复习拉模式,而且理解拉框架的底层实现。好嘛,接下来,你可以大胆的学习框架拉,不要畏惧框架,因为框架是使你的开发更容易更优秀的技术当你学会框架后,你将不在愿意使用servlet最原始的开发方法。因为那样既没效率,又不迅速,而且还费力的很,更重要的是大公司一般没有订单。
框架你必须学习struts2,hibernate,spring。慢慢学习,webwork,ibatis,Jjsf,struts,jdo等等。其中重头戏是struts2,hibernate,他们是一般开发大型应用程序的必备,当然还有其他的方案。spring作为工厂,管理这两个框架。可有可无,当然用的话更好。就spring IOC方面来说,spring的实践操作并不难,主要是理解就行。而spring MVC用得很少。
好拉,最后的程序:linux必学。这是搞java的素质。怎么入手呢?这是一般新手的疑问。
在学习拉java后,你可以选择在linux上安装个jdk,tomcat,mysql,eclipse等。哈哈,再次,笔者的linux水平也就是处在linux上配置javaweb环境上,我想shell不必急于求学。学习常用命令java环境的配置好拉,以后在公司慢慢学习。毕竟就是不考虑linux开发java,面对微软的霸王条款还是要学习linux的。
作为更高层的技术人还要学习OOP。这点就不多说拉。这是学习软件必备的。也是最重要的。有关书籍有:uml,软件工程,面向对象,系统分析等等。
至此我的一些感想已经写得差不多拉。从我当时选择java最为职业到现在差不多一年拉。我发现我越来越喜欢java拉。这个语言是优雅的,想着有朝一日,在液晶屏下敲着代码,喝着coffee,那样的生活也是优雅的,充实的,完美的。期待中......
I am waitting and struggling......
分享到:
相关推荐
定义了用于多路复用的、非阻塞 I/O 操作的选择器。 java.nio.channels.spi 用于 java.nio.channels 包的服务提供者类。 java.nio.charset 定义用来在字节和 Unicode 字符之间转换的 charset、解码器和编码器。 ...
Java工程师进阶之路,罗列学习曲线,一文全懂java进阶
Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM...
java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式...
结合java高级和架构师能力要求 下载了多本适合高级开发人员阅读的书籍,祝你通往架构师之路
这是一本以面试题为入口讲解 Java 核心内容的技术书籍,书中内容极力的向你证实代码是对数学逻辑的具体实现。当你仔细阅读书籍时,会发现Java中有大量的数学知识,包括:扰动函数、负载因子、拉链寻址、开放寻址、...
在Android开发中,Java是主要的编程语言之一,用于编写应用程序的逻辑。Java代码编译后生成字节码,然后在Android设备上的DVM或ART(Android运行时)环境中解释执行。 **smali2java工具** "smali2java"工具是专门...
Java is a popular and powerful language that is a virtual requirement for businesses making use of IT in their daily operations For Java programmers this reality offers job security and a wealth of ...
给自学Java的人们提的建议 不至于走弯路,学有所成
Java2Pas是一个实用工具,主要用于将Java编程语言编写的源代码转换为Pascal语言的等效代码。这个工具对于那些需要在两种语言之间迁移代码或者理解不同编程语言语法的开发者来说非常有价值。Java和Pascal虽然都是面向...
### Java 错误处理:java.lang.OutOfMemoryError: Java heap space 在Java应用程序开发过程中,经常遇到的一个问题就是内存溢出错误,特别是在处理大量数据或长时间运行的应用时。其中,“java.lang....
JAVA API官方文档中文版软件包 java.applet java.awt java.awt.color java.awt.datatransfer java.awt.dnd java.awt.event java.awt.font java.awt.geom java.awt.im java.awt.im.spi java.awt.image ...
第一章 Java语言的产生及其特点 第二章 Java程序开发与运行环境 第三章 Java程序设计基础 第四章 Java应用程序的基本框架 第五章 Java的类 第六章 Java图形用户接口 第七章 多线程 第八章 Java的"异常" 第九...
JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的...
Java到Python的转换工具,如标题“java2python”所示,是编程领域中的一种实用技术,旨在帮助开发者将已有的Java代码转换为Python语言。这种转换对于那些熟悉Java但希望进入Python生态系统,或者想要利用Python特定...
Java到JavaScript转换工具有助于开发者将已有的Java代码库移植到JavaScript环境中,这在Web开发中尤其有用,因为JavaScript是浏览器端的主要脚本语言。这样的工具能够帮助开发者利用Java的强大功能来构建前端应用,...
jdk11官方版是一款专为java编程人员推出的软件开发工具。JAVA JDK 11最新版可以帮助用户轻松的获取到JAVA的运行环境,让你在电脑上进行程序开发操作。JAVA JDK 11软件新增Epsilon 垃圾收集器和lambda 参数的局部变量...
JavaCV(Java Computer Vision)是一个基于Java的计算机视觉库,它为Java和Android开发者提供了方便的接口来使用多个流行的计算机视觉框架,如OpenCV、FFmpeg等。在本项目中,我们将探讨如何配置JavaCV以及如何使用...
Java API文档是Java开发者的重要参考资料,它包含了Java开发工具包(JDK)中的所有类、接口、方法和常量的详细说明。这份中文网页版的Java API文档为中国的开发者提供了便利,无需通过英文版本来学习和查找API信息,...
与之相对的是面向过程编程,它侧重于函数和过程。 ##### 6.2 对象的概念 对象是类的实例,包含了该类的所有属性和方法。 ##### 6.3 成员变量和局部变量 - **成员变量**:定义在类中的变量。 - **局部变量**:...