第一篇:Java学习心得
学习心得
时光荏苒,短短一个多月的NIIN软件工程实训就快结束了,在这一个多月中学习了不少东西,都是特别实用的东西,是在平时的学习中无法学到的。
通过实训,我觉得学习java应该做到以下几点:1.循环渐进,有始有终,按部就班,脚踏实地.java是一门有着阶梯性的一们语言。2.信心、恒心、毅力,是最重要的.这是我们必须具备的心理素质.要是学习这门语言开始的时候很有兴趣。遇到苦难就退缩,这样最终会放弃学习java,没有经历风雨怎么见彩虹。学习必须有始有终。3.多看看一些资料,多多的向高手请教,这样才好,还要学会总结和领会。当然,学习java一个人有一个人的想法,也有自己的独特学习方法.总之适合自己的就是最好的。此外,在此次实训的过程中,我感受最深的就是我们要分组完成一个大项目。在这过程中,我们不仅知道了整个项目开发流程,而且也深深体会到了一个团队中的各成员合作的重要性。要善于团队合作,善于利用别人的智慧,这才是大智慧。靠单一的力量是很难完成一个大项目的。在进行团队合作的时候,还要考虑技术上的规范性和统一性,这样才可能在进行组合的时候能得到更完美的组合。
这次实训让我学到的东西太多,使我受益非浅,它让我尝到了工作的辛苦。不过,虽然我辛苦了点,但我学到了不同的东西,这是我心里所高兴的。人非生而知之,要学得知识,一靠学习,二靠实践。没有实践,学习就是无源之水,无本之木。
在这次实习过程中,老师们的精辟讲解让我们认识到了软件工程的真正含义,在这段时间里,老师对我们非常负责。他们不仅教我们求职面试应该注意的相关问题,而且他们还帮助我们完成了由学员到准职业人再到社会人的角色转化。让我们更好的学习Java,并且接受。
最后,我想通过这次的实训,不仅仅是学到了更加专业的知识,开阔了眼界,更重要地学习到了自主学习的方法,这将终身受益。
在未来的时间里,我会加倍努力,认真的学习软件技术,为以后的工作学习奠定扎实的基础。
第二篇:java学习心得
Java学习心得
专业:信息与计算科学班级:
姓名:学号:
日期:
河北建筑工程学院数理系
java语言产生于C++语言之后,是完全的面向对象的编程语言,充分吸取了C++语言的优点,采用了程序员所熟悉的C和C++语言的许多语法,同时又去掉了C语言中指针、内存申请和释放等影响程序健壮性的部分,可以说java语言是站在C++语言这个“巨人的肩膀上”前进的。
java采用的是相对简单的面向对象技术,去掉了运算符重载、多继承的复杂概念,而采用了单一继承、类强制转换、多线程、引用(非指针)等方式。
在java程序中不能采用地址计算的方法通过指针访问内存单元,大大减少了错误发生的可能性;而且java的数组并非用指针实现,这样就可以在检查中避免数组越界的发生。
Java语言学习要点
一、掌握静态方法和属性
静态方法和属性用于描述某一类对象群体的特征,而不是单个对象的特征。Java中大量应用了静态方法和属性,这是一个通常的技巧。但是这种技巧在很多语言中不被频繁地使用。理解静态方法和属性对于理解类与对象的关系是十分有帮助的,在大量的Java规范中,静态方法和属性被频繁使用。因此学习者应该理解静态方法和属性。Java在方法和属性的调用上是一致的,区别只表现在声明的时候,这和c++是不同的。
二、重视接口
在面向对象早期的应用中大量使用了类继承。随着软件工程理论的不断发展,人们开始意识到了继承的众多缺点,开始努力用聚合代替继承。软件工程解决扩展性的重要原则就是抽象描述,直接使用的工具就是接口。接口近年来逐渐成为Java编程方法的核心。另一方面,就应用而言,大部分开发是建立在规范基础之上的,不需要自己建立复杂的继承关系和庞大的类。因此读懂规范和用好规范已经成为应用程序开发人员的首要任务,Java各项规范的主要描述手段就是接口。
三、学好集合框架
Java描述复杂数据结构的主要方式是集合框架。Java没有指针,而是通过强大的集合框架描述数组、对象数组等复杂的数据结构。学好这些数据结构的描述方法对于应用程序编写,特别是涉及到服务器方、3层结构编程至关重要。程序员在这个时候不能再用诸如数据库结果集之类的结构描述数据了。
四、例外捕捉
Java对例外捕捉的强调是空前的,它强迫程序员用显著的与逻辑方法完全不同的方式描述例外捕捉,对于程序描述的完整性和严谨性有很大的意义。
总之学编程语言不仅仅是从理论上的学习,更重要的是要利用这门语言为你的思想服务。理解这门语言是首要的,但是要达到心领神会、融会贯通就必须勤动手,多去时间,多编一些例子。计算机科学是注重实践的学科,成功的软件开发人员无不经过大量的上机锻炼,只有理论和实践相结合才能真正掌握只是和技能。
第三篇:Java学习心得
Java学习心得
一、如何学好java??
1.就本人认为学好java关键就在于态度。态度是学习好java的前
提,积极的态度注定你就比别人学得认真,自然最终学的一定
比不认真的人学的好!
2.有良好的前提,不努力也不行的,所以呀!还得练习。要做到
常练习,多看,多思考(举一反三,多方位的,全面的使你的程序更加的完美);
3.最后一点,就是多多交流!闭门造车永远是落后的学习方式,所以好要和身边的一切可以交流技术的人积极交流,毕竟个人的力量有限的!
二、Java中那些重要知识点!(本人认为最主要的是思想,知识点也很重要,关键是在学习中总结出自己的一套思想,好的枪手都是子弹喂出来的,好的程序员都是写代
码写出来的)
1. Java数据类型
a)基本数据类型:byte、short、int、long、float、double、char、boolean(注意各自的取值范围,还有转换方式)
b)引用数据类型: 数组、类、接口。
2. 运算符号
a)算术运算符:+、-、*、/、%、++、--;
b)赋值运算符:=、+=、-=、*=、/=、%=;
c)比较运算符:<、>、=<、=>、!=;(返回值都是false/true)d)逻辑运算符:&&、||、!
e)位运算符:用于操作二进制位的运算符:<<、>>、>>>……
4.基本数据结构:
a)顺序结构
b)选择结构(if……else……,switch……case……
default……);
c)循环结构(for()、do……while、while)(分清break与
continue的用法)
5.数组(用于存储同一类型数据的一个容器)
a)表现形式:
i.ii.元素类型[] 变量名 = new 元素类型[元素的个数]; 元素类型[] 变量名 = {元素1,元素2...};(new 元素类
型[]{元素1,元素2...};)
b)数组排序方法:插入排序,二分法排序,希尔排序,还有
最主要的——冒泡排序
6.内存(1:寄存器2:本地方法区3:方法区4:栈5:堆)
a)栈(存储的都是局部变量)只要数据运算完成所在的区域
结束,该数据就会被释放。
b)堆(用于存储数组和对象,也就是实体——用于封装多个
数据的)
i.每一个实体都有内存首地址值。
ii.堆内存中的变量都有默认初始化值。因为数据类型不
同,值也不一样。
iii.垃圾回收机制
7.面向对象
a)特点:
i.ii.iii.将复杂的事情简单化。面向对象将以前的过程中的执行者,变成了指挥者。面向对象这种思想是符合现在人们思考习惯的一种思
想。
b)对事物进行属性和行为的分析
i.ii.属性:特点 行为:函数(方法)
8.访问权限
a)Private(私有的访问权限最低,只有在本类中的访问有效)
(Set方法设置,get方法提取)
b)Protected(安全的)受保护权限,体现在继承,即子类可
以访问父类受保护成员,同时相同包内的其他类也可以访问protected成员。
c)无修饰词(默认),表示包访问权限(friendly,java语言
中是没有friendly这个修饰符的,这样称呼应该是来源于
c++),同一个包内可以访问,访问权限是包级访问权限
d)public修饰词,表示成员是公开的,所有其他类都可以访
问
9.方法重载与方法重写
a)方法重载(一个类中可以有多个具有相同名字的方法,但
这些方法的参数不同(类型、个数、顺序不同))
b)方法重写(子类定义一个方法,并且这个方法的名字、返
回类型、参数的个数、参数类型与父类继承的方法完全相同)
10.java面向对象三大特性(继承,封装,多态)
a)封装(private):主要是Set方法与get方法合作应用
b)继承(extends):注意访问权限,看看是否能继承!
c)多态:父类引用或者接口的引用指向了自己的子类对象,eg(动物——1.食草动物2.食肉动物——老虎,狮子,狗);
11.抽象类与接口
a)抽象类(abstract)特点:1.不能new2.可以由抽象方法(但
是非抽象类不能有抽象方法)
b)接口(interface声明)
i.接口使用(implements):一个类可以实现一个或多个
接口,用逗号隔开。
ii.接口强调的是功能:has——a的问题!
12.多线程(Thread类与Runable接口)
a)主要方法:
i.start()启动线程
ii.iii.iv.run()程序运行的方法,功能实现区域 sleep()休眠,使程序处于休眠状态 interrupt()吵醒:吵醒处于休眠状态的程序,使进入正
常状态;
b)线程同步(synchronized锁)关键在于this与object的区别,各自使用的范围与坏境。
13.流(input/output)
a)分类:主要是字节流与字符流,还有缓冲流,数据流,对
象流……
b)方法都差不多:主要是writer()与read()还有各自对应的数
组应用!
c)出现乱码时注意你用的流是否合适以及你使用的编码格式
以否可以支持
14.套接字(Socket)
a)主要功能就是通信(安全的)(利用port进行连接)
b)利用流连接进行通信,数据传送
15.……还有好多,自己慢慢研究吧!java博大精深!
三、我们在学习中的那些难题?
1.总是遇到难以理解的东西?
2.总是以为自己回了,但是又写不出来?
3.总是觉得问题很难,但是经过别人的指点就会觉得好简
单?
第四篇:java学习心得(模版)
湖南软件职业学院
HNSERJ20080101
.湖南软件职业学院
毕 业 论 文
知识改变命运
课 题:java学习心得 院 系:软件工程系 专 业:软件技术 班 级:软件0615班 姓 名:周专书 指导老师:郑利娇 完成时间:2009-5-12
www.xiexiebang.com 软件成就未来 湖南软件职业学院
HNSERJ20080101
Java实习报告
一.引言
面临毕业与就业的压力,不久将来就要从一个学生到一个社会人的转变:技术在不断的提高,思路在不断的开阔,思想在不断的升华,更重要的是自己的理想和抱负更加的坚定。对于一个投身于IT的新人,经验谈不上,一些学习的心得倒是可以拿出来探讨一下,我们该如何面临这个似曾相识的社会,突然一天如此接近。面对“金融风暴”带来的就业压力,我们正在逐渐走向成熟,我们意志更加坚强,我们深知不经一番寒彻骨,哪来梅花扑鼻香。深深地体会到找一份好工作多么不容易的,尤其是能力匮乏的我们。一切都要付出行动,不能空想,要实现目标,就得不懈的努力。
的确,软件仍然是一个朝阳行业,对于人才的需求量也很大,这也是为什么很多人努力走上这座独木桥的原因。但是当你面临人生的一个选择时,当你决定要踏上软件开发之路时,你应该问一下自己:我为什么要选择它?其实很多人在这条道路上摸爬滚打了多年也没弄清楚这个问题的答案。如果你想在这条道路上有所成就的 话,一是兴趣使然,二是做好自己的职业规划。软件开发其实是一条非常艰苦的路,不停的学习,不断的熬夜,没有鲜花更没有掌声,陪伴你的是那漫长而孤独的夜。想一想我们准备好迎接这一切了吗?如果没有兴趣我劝你还是放弃这条路,没有兴趣你就在这条路上走不长,等待你的只有转行。如果你真的把它作为你职业生涯的跳板,那么请你做好自己的人生规划,有步骤的实现它。话题稍微远了一点,现在我就谈谈自己在Java学习方面的心得和教训。
古人云:活到老,学到老。读书学习实乃艰苦之事,花费时间,消耗精力。然苦之外亦见其乐:得到了知识,提高了认识,完善了自己。学习,求其真,务其实,应“敏而好学,不耻下问”,才能不断促使进步。学习,不仅求知,也要懂法,学会方法比掌握知识更加重要。笛卡尔说过,“没有正确的方法,即使有知识改变命运 www.xiexiebang.com 软件成就未来 湖南软件职业学院
HNSERJ20080101
眼睛的博学者也会像瞎子一样盲目摸索”,可见学习方法的重要性。
其实,大学之前几乎没有软件技术之类的概念,大三之前仍然对于程序懵懂不开。但是这并不能妨碍我热爱这个行业,也不能就断定我在这个行业里一事无成。刚学 Java,我的确感觉不开窍,特别对OO(面向对象)编程仍然不能理解。但是人如果一思考,其实什么问题都解决了。对于学习java基础的经验就是多做、多思考,基础知识的学习不能不求甚解,要追本溯源,弄清问题的本质。这样才能举一反三,由点及面。对于抽象的东西要能具体化,对于具体的东西要能抽象化。我学习java基础一直使用的是《编程思想》第四版这本书,感觉挺不错的,全面透彻通俗易懂,在国外也是广受好评,我很惋惜没有早点知道这本书,否则也不回浪费大学三年青春岁月,一无是处的打发光阴,值得庆幸的事这本书一定程度上激发了我对java学习的兴趣与潜力。英语能力强的话,可以直接看英文原版。我一直强调重视基础,如果你的java基础打的牢,你在学习那些java框架就是非常轻松的事了。
二.Java学习心得之我见
学习java,的确要学习的东西很多,就像这为朋友上面提到的那些。Java不像.net一家独大,记得在大学里教我们.net老师早就提醒过我们学java才是出路,学好java才是王道,我当时就纳闷,这不是搬石头砸自己的脚,往自己身上泼冷水吗?现在恍然大悟,他当时只是为我们指引一条明路,Java的繁盛在于开源社区的庞大,这也带来了分支太多的问题,怎样选择一条好的学习路线,对于初学者来说,的确是一件很迷茫的事。其实不管java东西再多,总有规律可循。根据自己的发展方向的不同,可以选择不同的学习路线。对于怎样成为一名出色的Java Web程序员,我的建议是:
1、JSP的知识不能欠缺,理解什么是servlet,什么是java bean,熟悉jsp常使用的标签。我自己感觉,对于JSP的学习不需要太认真,毕竟现在真正使用纯JSP的情况已经不多了,能掌握基本的知识就绰绰有余。
2、学习一个或一个以上的web表现框架。如果从使用的程度上来讲,Struts依然是最流行的框架,社会需求也很大,所以学习Struts是一个不错的选择,最近一个月我们刚刚模拟Struts开发了一个简单的网上商城,虽然算不上一大正规知识改变命运 www.xiexiebang.com 软件成就未来 湖南软件职业学院
HNSERJ20080101 的项目,总算也用到了框架,因为框架本身也是一种封装,程序开发是将简单事情复杂化,模拟Struts使我们学习三大框架和其他框架奠定良好的基础,使用框架的前提是你对他处理的业务逻辑也相当熟练了。当然也可以学习其他的框架,JSF作为一个标准,虽然现在使用的人不多,但是为了明天的主流,学习JSF也非常不错。我就是开始学习Struts,后来公司用JSF,自己又自学了JSF,其实领悟了程序设计的思想,学什么都很容易。
3、简单说说Spring,EJB。鉴于培训中心的课程安排,我们需要学习spring,spring作为业务逻辑层的轻量级架构框架spring,依然占据着主流的位置,虽然EJB3的发布对它冲击很大,但是在比较长的时 间里,它的位置还不能撼动。学习spring会很快带来实际效益。当然EJB3的发布开始渐渐挽回以前丢弃的市场,作为官方的标准,它的未来充满光明,学习EJB3会非常的有前途。自己最近也在学习EJB3其实对于刚刚毕业的学生没必要深入研究他们,很多公司也不使用这样业务逻辑层的框架,尤其是中小型企业。
4、至于xml,css这样的页面表现的东西,如果你不从事美工方面,我认为没有必要花过多的时间去学习,在平时的项目开发中慢慢的就会使用了。
还是那句话,基础很重要,永远不要忽视这一点。刚刚毕业,公司不会要求员工什么都会,只要技术扎实,学习的能力强,学习的速度就很快,企业有时候非常看重 这一点。其次掌握struts、hibernate这两个框架,达到可以熟练使用的目的,这会增加你就业的砝码。至于spring,EJB可以在以后的工作中学习使用,现在了解一下就可以了。当然作为一个java web程序员,还要了解数据库、tomcat,jboss服务器、常用的开发工具Eclipse,NetsBean等。
三,Java学习态度之我见 1.学java切忌浮躁
欲速则不达,初学者请不要被新技术迷惑,先把基础学扎实,一步一个脚印的逐步学习,不要想着一步登天。我们要如水底磐石切不可做那水上浮萍,浮躁的人永远学不到什么东西。软件开发之路是充满荆棘与挑战之路,也是充满希望知识改变命运 www.xiexiebang.com 软件成就未来 湖南软件职业学院
HNSERJ20080101
之路,没有捷径可走。梦想像《天龙八部》中虚竹一样被无崖子醍醐灌顶而轻松获得一甲子功力,是很不现实的。每天仰天大叫“天神啊,请赐给我一本葵花宝典吧”,殊不知即使你获得了葵花宝典,除了受自宫其身之苦外,你也不一定成得了“东方不败”,倒是成“西方失败”的几率高一点。“不走弯路,就是捷径”,佛经说的不无道理。
2.要有自我约束力
春来不是读书天,夏日炎炎正好眠,秋来蚊虫冬又冷,背起书包待明年。总有一些理由不学习。这样下去,我们的java之树永远长不大。古人云:“人静而后安,安而能后定,定而能后慧,慧而能后悟,悟而能后得。”很有道理。在四川大足佛教石刻艺术中,有一组大型佛雕《牧牛图》,描绘了一个牧童和牛由斗争、对抗到逐渐融合、协调,最后合而为一的故事。佛祖说:“人的心魔难伏,就像牛一样,私心杂念太多太多;修行者就要像牧童,修炼他们,驯服他们,以完美自己的人生。”我们学java也一样,要能够驯服那些影响我们学习的大牛、小牛,抵制各种诱惑,集中精力,专心学习。
3.课前稍作预习
我个人的经验和理解,课前的预习对于我们学习java尤为重要。我们课前的预习相当于第一遍的学习,而这是为第二天的学习做了一个初步的了解,而且这样学习更有效,更容易吸收课堂所学,这样既培养了我们的自学能力,也让我们发现了这个章节的难点和不懂点,上课时。在这里培训每天的理论知识量并不少,要是不预习我们会跟不上老师的教学节奏,不知其所云!
4.“三敲代码”学习法
这个词最初来自我们项目团队一个同学滑稽的演讲,班上流传的“笑柄”,但他是正确的,这是程序员都值得推荐学习的方法,为什么说是“三敲代码”呢?敲代码也并不是一味的盲敲代码。课前预习就是将课本上的实例代码敲一遍,先知识改变命运 www.xiexiebang.com 软件成就未来 湖南软件职业学院
HNSERJ20080101
不管是否理解这些代码的意思,有时候结果是很重要的,能让你豁然开朗。第二遍敲代码是课后的敲代码,老师布置的或书上的作业,虽然课后我们还是没能吸收消化当天知识,我们可以借鉴别人的代码,但一定得有自己的思路,否则只会事倍功半,适得其反。第三遍就是敲真正属于自己的代码。这是完全依靠自己所学,自主的思维,来巩固自己当日所学进行查漏补缺,那么才能保证学习效果。
5.理解+总结=记忆
认真理解和善于总结是学好java的诀窍之一。学习,就必须讲求记忆,记忆知识,就必须讲求方法。得道者事半功倍,失道者事倍功半。Java有很多知识点是需要记忆的,有的人常常感叹自己的记忆力不好,羡慕那些博闻强记的人。殊不知那些人无不是善于总结和整理自己的感官印象,才记得牢固而准确,这便是理解。列夫•托尔斯泰说:“知识,只有当它靠积极的思维得来而不是凭记忆得来的时候,才是真正的知识。”孔子云:“学而不思则罔,思而不学则殆。”这些都充分证明了这一点。知识不能只停留在书本上,必须转化为自己机能的一部分,达到“唯吾是从”。理解,必许透过现象认本质,由此及彼、由表及里,去粗取精、去伪存真。善于开动脑筋是其中的关键。
6.要善于积累
积累非常重要。庄子云:“水之积也不厚,则其负大舟也无力。风之积也不厚,则其负大翼也无力。”我们课堂上老师都会讲很多的实例,这些实例都是每个知识点的真实体现,我们都要即时的消化和理解。这样日积月累,学习效率不断提高,技术也逐步上升。有的同学认为,课堂上听不懂关系不大,课后自己看书也能认识,或者把一些问题全部留在自习课上向老师请教,„„这些想法都是错误的,这样想势必上课不求甚解,积极思考不足,既浪费了课堂时间和老师的课下时间,也变相加重自己课下的学业负担。正确的态度是:上课专心听讲,积极思考,力求当堂消化。针对课堂思路卡壳问题,我个人理解是:千万不要在课堂上寻找卡壳的原因,要求自己跳过去,听下面的内容,课下再请教老师,共同分析导致自己卡壳的原因,不失为一种较好的办法。
知识改变命运 www.xiexiebang.com 软件成就未来 湖南软件职业学院
HNSERJ20080101
在java培训中心也不定期开展职业素养的课程,尽管我觉得老师并不是那么专业,我们也抱着无所谓的态度,但是我们依然意识这就是问题的根源,通过开展职业素养,让我更深层次的认识企业文化的重要性,这也是培训中心特别的地方。人无志,不成事。提高自己的职业素养,对自身的发展会有很大的帮助。
四.职业素养的培训
1,保持积极向上乐观的心态。
积极很重要的一方面就是乐观自信。而要达到自己对自己充分的肯定,概括来说可以从四个方面来讲:第一,学会从另外一方面来看待事情,心态决定一切。第二,万事在失败前拒绝说“不行”。第三,不段给自己“充电”。“有才不怕万事难”我们要时常提高自己的内涵和修养。第四,借鉴别人的事迹,失败也是一种收获。有了职业,我们还必须得有积极和强烈的进取心,这样才能做出自己的成绩。如果没有进取心,固步自封,工作上不想精益求精,事业就没有发展的希望。我们在开始工作时,应把积累工作经验、提高工作能力作为目标,这是今后扩大自己事业空间的基础。不要计较薪金薄厚,更不能自命不凡,不屑小就。而要爱自己的职业,深思研究工作改进之术,常保进取的决心。古人说:“少壮不努力,老大徒伤悲。”进取心不但是成业的要素,并且是成己的要素。
2,注重项目团队合作。
保证一个团体生机和活力,必须使得每一个成员能够相互支持和包容,成员间充分尊重对方意见,现在终于感受到了团队合作重要性,项目小组花了一个星期做系统,除了个人知识的融会贯通,更重要的是成员的沟通与协调。有人说,一个融洽的工作环境就是成功的一半。尤其是从事软件开发,团队就是发展的根源,更是一个好的系统的前提保证,一个人的思想是有限的,多远思维交织在一起,产生的力量是不可估量的。
知识改变命运 www.xiexiebang.com 软件成就未来 湖南软件职业学院
HNSERJ20080101
3,脚踏实地的做事。
树立“职业神圣”观念。一个人对自己职业不敬,便是对这一职业的亵渎,其结果是会把事情做坏,给社会和个人带来双重损失。庄子说:“用志不分,乃凝于神。”通俗地说,敬业就是把自己从事的职业加以研究,勤勉从事的意思。做事为学,有慎心,不怕劳,不虎头蛇尾,不见异思迁。面对企业和人才之间的双向选择,一个敬业的员工无论走到哪里都将受到关注和重用,相反一个见异思迁的人在任何一个企业也不会有更光明的前途的,这是一个成为一个职业人的第一要素。我们不能“做一天和尚撞一天钟”而是应该“做一天和尚撞好一天钟”。
4,兢兢业业的工作态度。
“干一行,爱一行”——只有乐业,人才能从职业工作中得到精神享受。孔子说:“知之者不如好知者,好知者不如乐知者。”人生能从自己职业中领略出趣味,生活才有价值和意义。对于职业的态度不同,有的是以热情拥抱的态度迎接职业,有的是以冷酷无聊的态度迎接职业。其结果是,前者把职业当成是亲爱的永久伴侣,从中获益;后者则只是得到烦恼,甚至是伤痛。所以,乐业对人的一生很重要。人一生做好一件事足已,何必三心二意,一事无成。
5,做人做事要有责任心。
曾经懵懂无知,不知责任心是那般,就算今天我们依然迷茫,都说责任心是做好一件事,一份工作的保证。我们将要踏进社会,我们将会面临对工作的责任、对社会的责任、对家庭的责任,我想只有一个拥有责任心的人才能走好自己的人生旅途。古人云“一息尚存,此志不容稍懈”,“鞠躬尽瘁,死而后已”。无论什么职业,责任心、责任意识是做好工作的内在动力,记得培训中心老师曾经说过,内因决定外因,责任心是做好一件事的源动力。
知识改变命运 www.xiexiebang.com 软件成就未来 湖南软件职业学院
HNSERJ20080101
五.个人总结
人生的每一步旅途中,总有着一道难以逾越的鸿沟,对于我们不是缺少勇气,而是没有思想,惰性取代了我们原本的进取心,而我们选择了自甘堕落,碌碌无为的虚度光阴,今天之前的错误使我们选择的惩罚,在软件学院,如果只要用心去学,不说精益求精,至少可以学会谋生之道,当然不排除学院本省一些不利因素,离开软件学院,我们无从追究对与错,因为无法挽回失去的光阴,一寸光阴一寸金,寸金难买寸光阴。这次我想我会很用心的去学习!尽量把他做到完美,至少自己要九十分的满意我才会交出我培训的心得体会。
天下大事必做于细。普通人自然作一些小事,怕只怕小事也做不好,小事也做不到位。身边有很多人总不屑于做具体的事,盲目地相信“天将降大任于斯人也”。孰不知这是及其错误的心态,试着去做好自己的事实属不易。不要以为总理比村长好当。有其职斯有其责,有其责斯有其忧。如果力不及所负,才不及所任,必然祸及自身,狼狈不堪,若做错事也难辞其咎。所以用心做好身边的每一件小事,不积细流,何以成江海。所谓成功,就是在平凡中做出不平凡的坚持,而伟大就是平凡的积累。蒲老师曾经说过,做正确的事,正确的做事,在这个告诉信息化的时代,细节决定成败,方法与态度决定了效率。
“博学之,审问之,慎思之,明辩之,笃行之。” 时下,IT行业对人才的需求是很大而且持续,这更加为我梦想的实现增添了砝码,激励自己朝着梦想的云向更大的努力奋斗,只待好风凭借力,送我上青云!“少而好学,如日出之阳”,不管是现在还是将来,我们都应不断地加强学习,不断地给自己“充电”,才能开拓进取,勇于创新,不至于被社会淘汰。只要在学习的过程中保持着激情,多做多思考,再加上一颗充满梦想和远大抱负的心,我相信人人都可以成功。
知识改变命运 www.xiexiebang.com 软件成就未来
第五篇:Java学习心得[范文]
转自:http://java.chinaitlab.com/base/870395.html
软件开发之路是充满荆棘与挑战之路,也是充满希望之路。JAVA学习也是如此,没有捷径可走。梦想像《天龙八部》中虚竹一样被无崖子醍醐灌顶而轻松获得一甲子功力,是很不现实的。每天仰天大叫“天神啊,请赐给我一本葵花宝典吧”,殊不知即使你获得了葵花宝典,除了受自宫其身之苦外,你也不一定成得了“东方不败”,倒是成“西方失败”的几率高一点。
“不走弯路,就是捷径”,佛经说的不无道理。
1.如何学习程序设计?
JAVA是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于JAVA,对C++等其他程序设计语言也一样管用。有编程高手认为,JAVA也好C也好没什么分别,拿来就用。为什么他们能达到如此境界?我想是因为编程语言之间有共通之处,领会了编程的精髓,自然能够做到一通百通。如何学习程序设计理所当然也有许多共通的地方。
1.1 培养兴趣
兴趣是能够让你坚持下去的动力。如果只是把写程序作为谋生的手段的话,你会活的很累,也太对不起自己了。多关心一些行业趣事,多想想盖茨。不是提倡天天做白日梦,但人要是没有了梦想,你觉得有味道吗?可能像许多深圳本地农民一样,打打麻将,喝喝功夫茶,拜拜财神爷;每个月就有几万十几万甚至更多的进帐,凭空多出个“食利阶层”.你认为,这样有味道吗?有空多到一些程序员论坛转转,你会发现,他们其实很乐观幽默,时不时会冒出智慧的火花。
1.2 慎选程序设计语言
男怕入错行,女怕嫁错郎。初学者选择程序设计语言需要谨慎对待。软件开发不仅仅是掌握一门编程语言了事,它还需要其他很多方面的背景知识。软件开发也不仅仅局限于某几个领域,而是已经渗透到了各行各业几乎每一个角落。
如果你对硬件比较感兴趣,你可以学习C语言/汇编语言,进入硬件开发领域。如果你对电信的行业知识及网络比较熟悉,你可以在C/C++等之上多花时间,以期进入电信软件开发领域。如果你对操作系统比较熟悉,你可以学习C/Linux等等,为Linux内核开发/驱动程序开发/嵌入式开发打基础。如果你想介入到应用范围最广泛的应用软件开发(包括电子商务电子政务系统)的话,你可以选择J2EE或。NET,甚至LAMP组合。每个领域要求的背景知识不一样。做应用软件需要对数据库等很熟悉。总之,你需要根据自己的特点来选择合适你的编程语言。
1.3 要脚踏实地,快餐式的学习不可取
先分享一个故事。有一个小朋友,他很喜欢研究生物学,很想知道那些蝴蝶如何从蛹壳里出来,变成蝴蝶便会飞。有一次,他走到草原上面看见一个蛹,便取了回家,然后看着,过了几天以后,这个蛹出了一条裂痕,看见里面的蝴蝶开始挣扎,想抓破蛹壳飞出来。这个过程达数小时之久,蝴蝶在蛹里面很辛苦地拼命挣扎,怎么也没法子走出来。这个小孩看着看着不忍心,就想不如让我帮帮它吧,便随手拿起剪刀在蛹上剪开,使蝴蝶破蛹而出。但蝴蝶出来以后,因为翅膀不够力,变得很臃肿,飞不起来。
这个故事给我们的启示是:欲速则不达。
浮躁是现代人最普遍的心态,能怪谁?也许是贫穷落后了这么多年的缘故,就像当年的大跃进一样,都想大步跨入共产主义社会。现在的软件公司、客户、政府、学校、培训机构等等到处弥漫着浮躁之气。就拿笔者比较熟悉的深圳IT培训行业来说吧,居然有的打广告宣称“参加培训,100%就业”,居然报名的学生不少,简直是藐视天下程序员。社会环境如是,我们不能改变,只能改变自己,闹市中的安宁,弥足珍贵。许多初学者C++/JAVA没开始学,立马使用VC/JBuilder,会使用VC/JBuilder开发一个Hello World程序,就忙不迭的向世界宣告,“我会软件开发了”,简历上也大言不惭地写上“精通VC/JAVA”.结果到软件公司面试时要么被三两下打发走了,要么被驳的体无完肤,无地自容。到处碰壁之后才知道捧起《C++编程思想》《JAVA编程思想》仔细钻研,早知如此何必当初呀。
“你现在讲究简单方便,你以后的路就长了”,好象也是佛经中的劝戒。
1.4 多实践,快实践
彭端淑的《为学一首示子侄》中有穷和尚与富和尚的故事。
从前,四川边境有两个和尚,一个贫穷,一个有钱。一天,穷和尚对富和尚说:“我打算去南海朝圣,你看怎么样?”富和尚说:“这里离南海有几千里远,你靠什么去呢?”穷和尚说:“我只要一个水钵,一个饭碗就够了。”富和尚为难地说:“几年前我就打算买条船去南海,可至今没去成,你还是别去吧!” 一年以后,富和尚还在为租赁船只筹钱,穷和尚却已经从南海朝圣回来了。
这个故事可解读为:任何事情,一旦考虑好了,就要马上上路,不要等到准备周全之后,再去干事情。假如事情准备考虑周全了再上路的话,别人恐怕捷足先登了。软件开发是一门工程学科,注重的就是实践,“君子动口不动手”对软件开发人员来讲根本就是错误的,他们提倡“动手至上”,但别害怕,他们大多温文尔雅,没有暴力倾向,虽然有时候蓬头垢面的一副“比尔盖茨”样。有前辈高人认为,学习编程的秘诀是:编程、编程、再编程,笔者深表赞同。不仅要多实践,而且要快实践。我们在看书的时候,不要等到你完全理解了才动手敲代码,而是应该在看书的同时敲代码,程序运行的各种情况可以让你更快更牢固的掌握知识点。
1.5 多参考程序代码
程序代码是软件开发最重要的成果之一,其中渗透了程序员的思想与灵魂。许多人被《仙剑奇侠传》中凄美的爱情故事感动,悲剧的结局更有一种缺憾美。为什么要以悲剧结尾?据说是因为写《仙剑奇侠传》的程序员失恋而安排了这样的结局,他把自己的感觉融入到游戏中,却让众多的仙剑迷扼腕叹息。
多多参考代码例子,对JAVA而言有参考文献[4.3],有API类的源代码(JDK安装目录下的src.zip文件),也可以研究一些开源的软件或框架。1.6 加强英文阅读能力
对学习编程来说,不要求英语,但不能一点不会,.最起码像JAVA API文档(参考文献[4.4])这些东西还是要能看懂的,连猜带懵都可以;旁边再开启一个“金山词霸”.看多了就会越来越熟练。在学JAVA的同时学习英文,一箭双雕多好。另外好多软件需要到英文网站下载,你要能够找到它们,这些是最基本的要求。英语好对你学习有很大的帮助。口语好的话更有机会进入管理层,进而可以成为剥削程序员的“周扒皮”.1.7 万不得已才请教别人
笔者在ChinaITLab网校的在线辅导系统中解决学生问题时发现,大部分的问题学生稍做思考就可以解决。请教别人之前,你应该先回答如下几个问题。
你是否在google中搜索了问题的解决办法?
你是否查看了JAVA API文档?
你是否查找过相关书籍?
你是否写代码测试过?
如果回答都是“是”的话,而且还没有找到解决办法,再问别人不迟。要知道独立思考的能力对你很重要。要知道程序员的时间是很宝贵的。
1.8 多读好书
书中自有颜如玉。比尔?盖茨是一个饱读群书的人。虽然没有读完大学,但九岁的时候比尔?盖茨就已经读完了所有的百科全书,所以他精通天文、历史、地理等等各类学科,可以说比尔?盖茨不仅是当今世界上金钱的首富,而且也可以称得上是知识的巨富。
笔者在给学生上课的时候经常会给他们推荐书籍,到后来学生实在忍无可忍开始抱怨,“天呐,这么多书到什么时候才能看完了”,“学软件开发,感觉上了贼船”.这时候,我的回答一般是,“别着急,什么时候带你们去看看我的书房,到现在每月花在技术书籍上的钱400元,这在软件开发人员之中还只能够算是中等的”,学生当场晕倒。(注:这一部分学生是刚学软件开发的)
1.9 使用合适的工具
工欲善其事必先利其器。软件开发包含各种各样的活动,需求收集分析、建立用例模型、建立分析设计模型、编程实现、调试程序、自动化测试、持续集成等等,没有工具帮忙可以说是寸步难行。工具可以提高开发效率,使软件的质量更高BUG更少。组合称手的武器。到飞花摘叶皆可伤人的境界就很高了,无招胜有招,手中无剑心中有剑这样的境界几乎不可企及。
2.软件开发学习路线
两千多年的儒家思想孔孟之道,中庸的思想透入骨髓,既不冒进也不保守并非中庸之道,而是找寻学习软件开发的正确路线与规律。
从软件开发人员的生涯规划来讲,我们可以大致分为三个阶段,软件工程师→软件设计师→架构设计师或项目管理师。不想当元帅的士兵不是好士兵,不想当架构设计师或项目管理师的程序员也不是好的程序员。我们应该努力往上走。让我们先整理一下开发应用软件需要学习的主要技术。
A.基础理论知识,如操作系统、编译原理、数据结构与算法、计算机原理等,它们并非不重要。如不想成为计算机科学家的话,可以采取“用到的时候再来学”的原则。
B.一门编程语言,现在基本上都是面向对象的语言,JAVA/C++/C#等等。如果做WEB开发的话还要学习HTML/JavaScript等等。
C.一种方法学或者说思想,现在基本都是面向对象思想(OOA/OOD/设计模式)。由此而衍生的基于组件开发CBD/面向方面编程AOP等等。
D.一种关系型数据库,ORACLE/SqlServer/DB2/MySQL等等
E.一种提高生产率的IDE集成开发环境JBuilder/Eclipse/VS.NET等。
F.一种UML建模工具,用ROSE/VISIO/钢笔进行建模。
G.一种软件过程,RUP/XP/CMM等等,通过软件过程来组织软件开发的众多活动,使开发流程专业化规范化。当然还有其他的一些软件工程知识。
H.项目管理、体系结构、框架知识。
正确的路线应该是:B→C→E→F→G→H.还需要补充几点:
1)。对于A与C要补充的是,我们应该在实践中逐步领悟编程理论与编程思想。新技术虽然不断涌现,更新速度令人眼花燎乱雾里看花;但万变不离其宗,编程理论与编程思想的变化却很慢。掌握了编程理论与编程思想你就会有拨云见日之感。面向对象的思想在目前来讲是相当关键的,是强势技术之一,在上面需要多投入时间,给你的回报也会让你惊喜。
2)。对于数据库来说是独立学习的,这个时机就由你来决定吧。
3)。编程语言作为学习软件开发的主线,而其余的作为辅线。
4)。软件工程师着重于B、C、E、D;软件设计师着重于B、C、E、D、F;架构设计师着重于C、F、H.3.如何学习JAVA?
3.1 JAVA学习路线
3.1.1 基础语法及JAVA原理
基础语法和JAVA原理是地基,地基不牢靠,犹如沙地上建摩天大厦,是相当危险的。学习JAVA也是如此,必须要有扎实的基础,你才能在J2EE、J2ME领域游刃有余。参加SCJP(SUN公司认证的JAVA程序员)考试不失为一个好方法,原因之一是为了对得起你交的1200大洋考试费,你会更努力学习,原因之二是SCJP考试能够让你把基础打得很牢靠,它要求你跟JDK一样熟悉JAVA基础知识;但是你千万不要认为考过了SCJP就有多了不起,就能够获得软件公司的青睐,就能够获取高薪,这样的想法也是很危险的。获得“真正”的SCJP只能证明你的基础还过得去,但离实际开发还有很长的一段路要走。
3.1.2 OO思想的领悟
掌握了基础语法和JAVA程序运行原理后,我们就可以用JAVA语言实现面向对象的思想了。面向对象,是一种方法学;是独立于语言之外的编程思想;是CBD基于组件开发的基础;属于强势技术之一。当以后因工作需要转到别的面向对象语言的时候,你会感到特别的熟悉亲切,学起来像喝凉水这么简单。
使用面向对象的思想进行开发的基本过程是:
●调查收集需求。
●建立用例模型。
●从用例模型中识别分析类及类与类之间的静态动态关系,从而建立分析模型。
●细化分析模型到设计模型。
●用具体的技术去实现。
●测试、部署、总结。3.1.3 基本API的学习
进行软件开发的时候,并不是什么功能都需要我们去实现,也就是经典名言所说的“不需要重新发明轮子”.我们可以利用现成的类、组件、框架来搭建我们的应用,如SUN公司编写好了众多类实现一些底层功能,以及我们下载过来的JAR文件中包含的类,我们可以调用类中的方法来完成某些功能或继承它。那么这些类中究竟提供了哪些方法给我们使用?方法的参数个数及类型是?类的构造器需不需要参数?总不可能SUN公司的工程师打国际长途甚至飘洋过海来告诉你他编写的类该如何使用吧。他们只能提供文档给我们查看,JAVA DOC文档就是这样的文档,它可以说是程序员与程序员交流的文档。
基本API指的是实现了一些底层功能的类,通用性较强的API,如字符串处理/输入输出等等。我们又把它成为类库。熟悉API的方法一是多查JAVA DOC文档,二是使用JBuilder/Eclipse等IDE的代码提示功能。
3.1.4 特定API的学习
JAVA介入的领域很广泛,不同的领域有不同的API,没有人熟悉所有的API,对一般人而言只是熟悉工作中要用到的API.如果你做界面开发,那么你需要学习Swing/AWT/SWT等API;如果你进行网络游戏开发,你需要深入了解网络API/多媒体API/2D3D等;如果你做WEB开发,就需要熟悉Servlet等API啦。总之,需要根据工作的需要或你的兴趣发展方向去选择学习特定的API.3.1.5 开发工具的用法
在学习基础语法与基本的面向对象概念时,从锻炼语言熟练程度的角度考虑,我们推荐使用的工具是Editplus/JCreator+JDK,这时候不要急于上手JBuilder/Eclipse等集成开发环境,以免过于关注IDE的强大功能而分散对JAVA技术本身的注意力。过了这一阶段你就可以开始熟悉IDE了。
程序员日常工作包括很多活动,编辑、编译及构建、调试、单元测试、版本控制、维持模型与代码同步、文档的更新等等,几乎每一项活动都有专门的工具,如果独立使用这些工具的话,你将会很痛苦,你需要在堆满工具的任务栏上不断的切换,效率很低下,也很容易出错。在JBuilder、Eclipse等IDE中已经自动集成编辑器、编译器、调试器、单元测试工具JUnit、自动构建工具ANT、版本控制工具CVS、DOC文档生成与更新等等,甚至可以把UML建模工具也集成进去,又提供了丰富的向导帮助生成框架代码,让我们的开发变得更轻松。应该说IDE发展的趋势就是集成软件开发中要用到的几乎所有工具。
从开发效率的角度考虑,使用IDE是必经之路,也是从一个学生到一个职业程序员转变的里程碑。
JAVA开发使用的IDE主要有Eclipse、JBuilder、JDeveloper、NetBeans等几种;而Eclipse、JBuilder占有的市场份额是最大的。JBuilder在近几年来一直是JAVA集成开发环境中的霸主,它是由备受程序员尊敬的Borland公司开发,在硝烟弥漫的JAVA IDE大战中,以其快速的版本更新击败IBM的Visual Age for JAVA等而成就一番伟业。IBM在Visual Age for JAVA上已经无利可图之下,干脆将之贡献给开源社区,成为Eclipse的前身,真所谓“柳暗花明又一村”.浴火重生的Eclipse以其开放式的插件扩展机制、免费开源获得广大程序员(包括几乎所有的骨灰级程序员)的青睐,极具发展潜力。
3.1.6 学习软件工程
对小型项目而言,你可能认为软件工程没太大的必要。随着项目的复杂性越来越高,软件工程的必要性才会体现出来。参见“软件开发学习路线”小节。
3.2学习要点
确立的学习路线之后,我们还需要总结一下JAVA的学习要点,这些要点在前文多多少少提到过,只是笔者觉得这些地方特别要注意才对它们进行汇总,不要嫌我婆婆妈妈啊。
3.2.1勤查API文档
当程序员编写好某些类,觉得很有成就感,想把它贡献给各位苦难的同行。这时候你要使用“javadoc”工具(包含在JDK中)生成标准的JAVA DOC文档,供同行使用。J2SE/J2EE/J2ME的DOC文档是程序员与程序员交流的工具,几乎人手一份,除了菜鸟之外。
对待DOC文档要像毛主席语录,早上起床念一遍,吃饭睡觉前念一遍。
当需要某项功能的时候,你应该先查相应的DOC文档看看有没有现成的实现,有的话就不必劳神费心了直接用就可以了,找不到的时候才考虑自己实现。使用步骤一般如下:
●找特定的包,包一般根据功能组织。
●找需要使用类,类命名规范的话我们由类的名字可猜出一二。
●选择构造器,大多数使用类的方式是创建对象。
●选择你需要的方法。
3.2.2 查书/google->写代码测试->查看源代码->请教别人
当我们遇到问题的时候该如何解决?
这时候不要急着问别人,太简单的问题,没经过思考的问题,别人会因此而瞧不起你。可以先找找书,到google中搜一下看看,绝大部分问题基本就解决了。而像“某些类/方法如何使用的问题”,DOC文档就是答案。对某些知识点有疑惑是,写代码测试一下,会给你留下深刻的印象。而有的问题,你可能需要直接看API的源代码验证你的想法。万不得已才去请教别人。
3.2.3学习开源软件的设计思想
JAVA领域有许多源代码开放的工具、组件、框架,JUnit、ANT、Tomcat、Struts、Spring、Jive论坛、PetStore宠物店等等多如牛毛。这些可是前辈给我们留下的瑰宝呀。入宝山而空手归,你心甘吗?对这些工具、框架进行分析,领会其中的设计思想,有朝一日说不定你也能写一个XXX框架什么的,风光一把。分析开源软件其实是你提高技术、提高实战能力的便捷方法。
3.2.4 规范的重要性
没有规矩,不成方圆。这里的规范有两层含义。第一层含义是技术规范,多读规范,这是最权威准确最新的教材。第二层含义是编程规范,如果你使用了大量的独特算法,富有个性的变量及方法的命名方式;同时,没给程序作注释,以显示你的编程功底是多么的深厚。这样的代码别人看起来像天书,要理解谈何容易,更不用说维护了,必然会被无情地扫入垃圾堆。
3.2.5 不局限于JAVA
很不幸,很幸运,要学习的东西还有很多。不幸的是因为要学的东西太多且多变,没时间陪老婆家人或女朋友,导致身心疲惫,严重者甚至导致抑郁症。幸运的是别人要抢你饭碗绝非易事,他们或她们需要付出很多才能达成心愿。
JAVA不要孤立地去学习,需要综合学习数据结构、OOP、软件工程、UML、网络编程、数据库技术等知识,用横向纵向的比较联想的方式去学习会更有效。如学习JAVA集合的时候找数据结构的书看看;学JDBC的时候复习数据库技术;采取的依然是“需要的时候再学”的原则。
4.结束语
需要强调的是,学习软件开发确实有一定的难度,也很辛苦,需要付出很多努力,但千万不要半途而废。本文如果能对一直徘徊在JAVA神殿之外的朋友有所帮助的话,笔者也欣慰了。