java学习心得(6篇)
当我们心中积累了不少感想和见解时,往往会写一篇心得体会,通过写心得体会,可以帮助我们总结积累经验。是不是无从下笔、没有头绪?下面是小编为大家整理的java学习心得,供大家参考借鉴,希望可以帮助到有需要的朋友。
java学习心得1
1)现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?
这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟悉。这个多线程问题比较简单,可以用join方法实现。
2)java的堆和栈的区别:
堆:是一个运行时数据区,类的对象从中分配空间。这些对象通过new,newarray,anewarray和muitianewarray等指令建立,它们不需要程序代码来显示释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是运行时动态分配内存的,Java垃圾收集器会自动收走这些不再使用的数据。但是缺点是:由于是要在运行时动态分配内存,存取速度较慢。
栈的优势:存取速度比堆要快,仅次于寄存器,栈数据可以共享。缺点是,存在栈中的数据大小与生命期必须是确定的,缺乏灵活性。栈中主要存放一些基本类型的变量
(int,short,long,byte,float,double,boolean,char)和对象句柄。
3)java算法:
1、冒泡排序:从头开始,依次对相邻的两个元素进行比较,发现有顺序错误就将它们调换过来!重复地进行,直到没有元素需要交换。是稳定排序法,最好的时间复杂度是O(n);
2、快速排序:思想是(Divide)选取一个基元X开始(一般选取数组的第一个元素),通过某种分区操作将数组划分成两个部分,左边部分小于等于X,右边部分大于等于X。(Conquer)左右两个子数组递归地调用Divide过程,(Combine)快排作为就地排序算法,不需要任何合并操作!
3、递归:程序调用自身,并非不会无休止地调用下去,需要有一个出口,当满足条件时程序也就结束!不然的话,就会出现程序死循环。
4)JVM调用GC的频度还是很高的,主要两种情况下进行垃圾回收:第一个就是当应用程序线程空闲,另一个是java内存堆不足时,会不断调用GC,若连续回收都解决不了内存堆的不足。
4)、junit测试的方法的类型必须是public ,其他类型运行时会报错。方法的返回类型也必须是void,并且不能有参数。
5)、List
args = null; args.add(param);//这样会报错
分析原因:List是一个接口,没有实现是不能使用的,需要ArryList的实现类或者其他实现类才能使用
应该改为:List
args = new
ArrayList
();args.add(param);
6)、如A是父类,B是继承于A,两者都有构造函数和A有print(),B也覆盖了A的方法,那么可以A a = new B();此时a.print();调用的是B的print()方法,如果B的print()没有覆盖父类的方法,而是自己创建的print();那么这时a.print();调用的还是B的print()方法。另外,假设A有print1()方法,B没有覆盖A的'print1();这时a.print1();不会报错,它
将调用的是A自己的print1()方法。最后,加入A没有了print()方法,而是print()是只有B有,这时a.print();将直接调用B的print();方法,总结: 对于类的继承,父类通过子类实例化后,构造方法都在先执行父类的构造方法,再依次执行子类的构造方法。方法的调用原则是先执行子类的方法,如果子类复写了父类的方法,将执行子类的方法,如果子类没有复写父类的方法,但是方法重名,也会只执行子类的方法。如果子类没有对应的方法,那么就执行父类的方法!(不要以为子类没有该方法编译器会报错,因为继承了父类的方法!)请注意:B b = new A();编译器会报错,这也是不合逻辑的!
java学习心得2
作为一名软件工程的学生,学习java是我学习的重中之重,在长达一年的学习过程中,我也对java也有新的认识。
我在漫长的学习java的岁月中,遇到了许多大大小小的困难。首先,在学习java开始中,老师往往会布置很多代码题进行实操或者书写在作业本上。在刚刚开始的几次作业中,我往往因为自己的浮躁与不耐烦,直接向同学要他们的代码把作业上交,但渐渐的发现,课堂跟不上,成绩不佳,我陷入了迷惘中……后来,意识到自己学习java的`态度与方式是不对的,经过调整,也有了自己的一份学习java的心得体会。
java的学习需要理解代码的思路。在写代码与学习java知识点时,往往对于每句代码都应该理解透彻,在以后的代码书写中,自己才能写出正确的代码,甚至于找出自己的代码错误。这对于代码的理解透彻,就需要自己在上课时,好好理解老师的代码思维,自己也需要多看看关于代码的书,加深理解。
java的学习需要多做,多思考。在java学习中,不仅要学会打课内的代码,也需要通过百度找寻课外的代码,举一反三,自己解决很多的问题。
在这一年的学习中,我对于java有了初步的认识与了解,我知道自己真正掌握java还需要一段时间的学习,但我相信我自己只要有颗想学习好java的心,对于以后的困难是不惧怕的,我相信在学习java中,自己是在此过程中不断成长的,进步的。
java学习心得3
Javaweb课程结束了,在完成了eclipse三份实验报告之后我开始总结这门课程自己究竟学到了什么。
从C语言到Java,再到jsp,最后到javaweb,一直都在与编程都打交道,学好它一是专业的需要,二是自己觉得它今后对自己会有很大的用途。C语言是一个面向过程的语言,而Java是一个面向对象的语言。在C语言里,行为称为函数;在Java里,行为称为方法。在C语言里,只有变量和函数;在Java里,一切逻辑由类封装,即“万物皆对象”。C语言的struct和Java的类相似,但struct里只能有属性,而类里可以有属性和方法。所以,C语言的分工不清晰,主控程序几乎承担了全部的职责;而Java可以把方法放在类里,对象的职能很多,可以单独完成某个类的全部方法。
首先我想回顾一下javaweb这本书上的主要内容:
第一章是对Web应用程序的概述。从中我了解到Web应用程序的三层体系结构:表示层、业务层、数据存取层。它们同是叙述在编写代码时应做的规划和应遵循的规则,这种规划在以后的学习中时有出现,说明编程并不是一味地进行循环判断、死记硬背,而需要在技术上有所加强、在效率上有所提高。接下来学的是JSP知识。要学JSP,就必须会HTML,如果HTML学不通,这对以后的学习都是一个瓶颈。这点我有所体会。因为我对HTML掌握得比较好,在这方面没有遇到什么困难。但如果没掌握好这些知识,加上要学新知识,就会在旧难题的基础上增加新难题,两头招架,实有些吃不消。所以,基础是很重要的,基础一定要打扎实,吃透,否则上层建筑的建起就不会很顺利甚至没法起步。然后是JavaBean。JavaBean里有set()和get()方法,用这些方法能很容易地传值,逻辑上更标准,代码看起来也更规范。但set()和get()方法只是用来对属性进行操作的,所以如果是进行复杂的逻辑或对数据库进行操作等,那么就不要写成set()和get()方法,只用一个有返回值的方法就足以。这样直观方便,且符合规范。
接着是Servlet。它给我的第一感觉是很专业、很难懂。书上介绍了一大堆接口、类、和重写的方法,一时觉得晕头转向。后来用得多、看得多了,Servlet的基本格式也记得差不多,其实也没什么难的。只要记住Servlet是一个用Java编写的应用程序,在服务器上运行,用来处理请求和响应,也可以单独做为一个Web页面。
在JDBC技术这章,我感到学习的压力。JDBC的工作原理、JDBC的分类、它的主要接口、以及它连接数据库的基本过程和运行效果等事先后我没有听懂。后来在图书馆借到了一本资料书电子工业出版社出版的《JavaWeb从初学到精通》适合Java开发Web应用和J2EE方面的初学者加上编程实战演习,总算弄懂了点眉目。
最后一章主要是一些技术专题。例如访问路径问题、结果集处理、复杂查询等。在前面几章的的能力功底基础上这章显得要简单轻松地多。大致类似于对前面知识的系统总结。
以上就是对这个阶段学习的一段回顾。接下来我想总结一下自己的学习心得:首先学习这门课程,就必须先要了解什么是web应用。通过浏览器可以访问新浪网、中华网、淘宝网、网易、搜狐网、微软的网站及sun公司的网站等,这些就是Web应用。对于web应用,我们需要使用浏览器,通过网络访问在远程的服务器运行的程序。Web应用指的就是这些网站中的程序。
其次,是编程。学习编程最重要的就是勤记忆,勤练习,勤思考。需要记忆很多,有些东西必须要死记,没有偷懒的办法,在记忆的时候可以找一些规律,比如把类似的东西归在一起记忆。平时在做练习的时候书上的例题和习题很重要,只要把书上的例子吃透,课后的习题都会做,这样就能达到掌握知识的目的,最后在期末复习的过程中要不时地复习前面的知识,这样才能熟练掌握所学的知识。在勤思考方面,就是在平时的'编程演练中遇到困难的时候不要立刻急着去问身边的同学或是老师,自己应当对照课本或是相关的学习资料慢慢进行修改,只有在自己确实已经尽力但仍然不知如何操作的情况下才可以去询问别人,只有这样才可以加深自己的影响。
还记得自己当初最开始时学习java的情景。那时自己除了知道什么是继承,封装,多态,抽象类,接口这些外,其他的就什么都部知道了。后来自己在慢慢摸索的过程中才逐渐积累了对这门学科的敏感度开始接触Java觉Servlet是一个非常深奥的技术。我曾经想学习网页设计,看到HTML哪些松散的标记,我放弃了,最终也没有学会做网页。只知道网页编辑工作有Drameware或FrontPage。当接触Serlvet后,发现做网页竟然也可以像写Java程序一样进行编写。完成第一个用Servlet写的WEB版的HelloWorld程序,足足花费了我半天时间。主要是花费在环境搭配上面。一个小小的HELLOWorld,用Drameware可能也就一分钟就能搞定的事。对于一个完全不懂HTML的人来说,要想用Servlet来开发动态WEB应用还是太难了。接下来很快就接触到了JSP。JSP并不需要我在Java程序里写HTML代码,而是变成了在HTML中写Java程序。初学时,所有的数据库连接,数据库访问,数据显示,业务代码和HTML标记等都写在JSP代码中,感觉JSP真是无所不能。在做一些小应用时,开发速度也非常的快。而当遇到了比较复杂的业务逻辑后,JSP开发就像是一个恶梦,每天大量的工作就是调试页面,当其它页面需要类似的功能时,进行代码拷贝来进行代码的复用,后来才知道这就是典型的Model1模型。当把JSP与Servlet相结合后,一切都发生了改变。JSP仅用于数据展示,而Servlet用于进行业务调用和页面流程控制,这就是所谓的Model2模型。原来JSP并不是Servlet的替代品,JSP更需要与Servlet进行合作。再明白了Servlet与的重要后,才回过头开始去学习Servlet,包括Servlet的生命周期,Servlet的重要接口及方法,自定义标签等。通过这样反复的联系我终于在面对java和jsp时不再像以前那样那么没有自信了。
所以花费些力气去学习Java基础,学习Jsp,Servlet,甚于学HTML,Javascript对进行Web开发都是十分必要的。
最后我想总结一下学习方向的建议,JAVA基础知识是学习任何JAVA扩展体系知识的前提,所以在学习javaweb的过程中,一定得抽时间学习JAVA基础,窝在图书馆找到了基本相关的读物《Java核心技术》《Java编程思想》和JDK的API文档。另外由于编程有一些专用的英语术语,因此学好一些必要与之相关的英语对我们今后更好地学习这门学科是很有帮助的。
java学习心得4
暑期在和一个老师做项目,前期老师教学,做java web方面的,类似于当当购物系统这种...突然发现,原来之前看的《think in java》等书并不够,很多面向开发的技术和模块包括工具从知识到技术上都很欠缺。
现在有几个疑惑,想在小组向各位求助,希望帮忙。
1.首先我想知道是不是做java一般都是web挂钩,例如现在的jsp,ssh和html语句和应用都很好的结合,除了web方面,软件项目方面有没有一个比较明确的方向,如果有,可以告之小弟么~
2.我听说做web方面,应该先学jsp,html,再学mvc,不然很容易本末倒置,那ssh这样的.技术学习,有没有一个比较明确的先后顺序。
3.java ee这样的一个学习过程,能不能有一个比较好学习心得可以推荐。我有一定的java基础,可以编写一些java小程序,但是到了web这些方面,思维总是不够清晰,很容易混乱,对象方法和类之间总是不能很好的去扩展。希望各位帮帮忙,介绍一些学习心得,包括学习java技术的顺序,并推荐一些书吧。
java学习心得5
1、学习之路,不走弯路,就是捷径
软件开发之路是充满荆棘与挑战之路,也是充满希望之路。Java学习也是如此,没有捷径可走。所有的人都期盼成功,但是并不是每个人都会为走向成功全力以赴。人们在渴望成功的同时,也渴望能够少一分努力,多一分收获。而事实上要获取真正的成功,每个人都必须经历艰辛。无论你出身豪门,还是出身寒舍,你都不得不接受这样一个事实:成功没有捷径可走,只有顽强的意志与坚持不懈的奋斗才能带你走向成功。
2、如何学习程序设计?
Java是一种平台,也是一种程序设计语言。首先一定要保持热情,买一本关于这种语言入门的书,一开始不要看太难的,循序渐进,先看一遍。多练基础代码,将各种语句练得非常熟练,可以选一些计算机语言初等练习题做做。再重头到尾好好看一遍,哪里不懂,可以与他人交流。多看看别人用这种语言写的程序,借鉴编程方法,对自己错误的思想进行校正。多多练习,每天都打一些代码,毕竟熟能生巧!
3、培养兴趣
兴趣是指一个人力求认识某种事物或从事某种活动的心理倾向。知识是兴趣产生的基础条件,因而要培养某种兴趣,就应有某种知识的积累,学习编程,就应该多看看那方面的书籍,不仅能提高自己的文化内涵,也能渐渐培养自己的学习热情。有空多到一些程序员论坛转转,你会发现,他们其实很乐观幽默,时不时会冒出智慧的火花。
4、脚踏实地,循序渐进
现实生活中,人人都有梦想,都渴望成功,都想找到一条成功的捷径。其实,捷径就在你的身边,那就是勤于积累,脚踏实地,积极肯干。无论做什么事都要戒骄戒躁,踏实地走好每一步,让自己的生活有目标、有计划,这样我们的生活才会变得充实,我们离成功也就越来越近了;相反,如果浮躁、急功近利,就不能集中精力去完成自己的人生目标,最后很可能一事无成,一败涂地。
5、多实践,快实践
纸上得来终觉浅,绝知此事要躬行。软件开发是一门工程学科,注重的就是实践,"君子动口不动手"对软件开发人员来讲根本就是错误的,他们提倡"动手至上",但别害怕,他们大多温文尔雅,没有暴力倾向,虽然有时候蓬头垢面的一副"比尔盖茨"样。有前辈高人认为,学习编程的秘诀是:编程、编程、再编程,笔者深表赞同。不仅要多实践,而且要快实践。我们在看书的时候,不要等到你完全理解了才动手敲代码,而是应该在看书的同时敲代码,程序运行的'各种情况可以让你更快更牢固的掌握知识点
6、多读好书
书中自有黄金屋,书中自有颜如玉。培根说,“读史使人明智,读诗使人聪慧,演算使人精密,哲理使人深刻,伦理学使人有修养,逻辑修辞使人善辨。”从书中可以领悟“不以物喜,不以己悲”豁达情怀,亦可以领略“天下兴亡,匹夫有责”的豪迈心胸。从好书中提升了思想境界,陶冶了情操。
7、思想的领悟
学习Java也是如此,必须要有扎实的基础,你才能在J2EE、J2ME领域游刃有余。掌握了基础语法和Java程序运行原理后,我们就可以用Java语言实现面向对象的思想了。面向对象,是一种方法学;是独立于语言之外的编程思想;是CBD基于组件开发的基础;属于强势技术之一。
java学习心得6
4月26日CVS---4月27日UML 连续两天状态很是不好,上课总是不能够集中精神,不知为什么听这两天课的时候精神很涣散,也不知道自己在想什么,一整天的课,似听非听的只听到了一半。 或许是持续的精神高度集中,而引起了身体的疲惫吧。感觉自己的记忆力不断下降,这不是个好兆头。每天都在学习,每天都在接受新的知识,如果没有一个好的精神状态和记忆,学到最后就等同于黑熊掰玉米一样。不可以给自己过多的理由去偷懒,不可以看到别人在不学习时就想着自己放松一下。从某种角度讲放松和放纵只在一念之间,一味的放松最后就会成为放纵。
有时人的心理真的很难以琢磨,自己明明已经计划好了的事情总因为一个想多睡会的'念头而不得不改变 。有时很想让自己的进度快一些,但又怕加快后会乱了头绪。
错,大错特错。这都是片面的想法,因为总想着今天的事情没办完还可以有明天,因为总想着睡一会20分钟后再去学习。这就是偷懒,这就是不负责任,总想休息,总想着还有明天。那还来学习干嘛,那还要理想干嘛,还不如回家去作白日梦得了。
话说回来,还是没有把自己逼的绝路上,所以懒惰才会乘虚而入。学习并不难,难就难在坚持。人生不是游戏,也不可以像小孩子一样总犯错总想着他人会谅解。对于明天的幸福,今天吃再多的苦也是值得的。
【java学习心得】相关文章:
java学习心得06-11
java学习心得7篇06-11
java学习心得6篇04-12
java学习心得体会04-22
java课程设计学习心得09-02
java实习总结11-08
java实习心得05-05
java培训心得05-14
java项目收获总结03-29