java编程思想读书心得
java的读书心得(优秀8篇)

java的读书心得(优秀8篇)java的读书心得(优秀8篇)java的读书心得要怎么写,才更标准规范?根据多年的文秘写作经验,参考优秀的java的读书心得样本能让你事半功倍,下面分享【java的读书心得(优秀8篇)】,供你选择借鉴。
java的读书心得篇1转眼间,几个月的培训已经将近尾声了。
回想自己这几个月的经历,自己收获颇丰,觉得自己来到这培训是非常正确的。
想想自己刚刚考虑打算来这培训的时候那忐忑的心情,现在我已经有了答案:“我很庆幸自己选择了这条路”。
在这,我收获了硕果累累的知识果实。
我的培训方向是主攻Java 方向,后期还学习了当下比较流行的Android技术。
在培训期间,我们主要是通过实际操作具体的项目来学习并温顾所学知识。
这正是我们所需要的锻炼。
在学校里,我们虽然学习了很多专业的知识,但是我们并没有自己所擅长的方面,并且我们学的都是理论上的知识,实际动手能力是很差的。
所以,我们需要培养自己的动手能力。
同时,我们的老师都是操作过实际项目的,都有一定的工作经验,他们不仅给我们讲专业知识,还给我们传授职场上的技能。
培训就给我们提供了一个培养我们踏入职场所需要的东西的平台。
在这里,疯狂软件的老师们给了我一份详尽而合理的课程安排,在学习期间,我在这里学到了许多以前不会的知识,完善和补充了我已有的知识,使我从最初对Java开发懵懂、茫然变成有自己的知识体系,能够熟练而自信的开发互联网项目。
疯狂软件Java培训拥有良好的学习氛围,我在这里慢慢的踏实了下来,为自己将来更好的发展打下了坚实的基础。
在这四个月的学习中,每个人都有一台自己的电脑,可以随时上机实践,验证和实践自己的想法和所学知识,再有知识渊博的老师无私的解惑答疑,使每天的生活都很充实,知识在层面上也有了一个质的飞跃,虽然很累但是也很开心。
我了解到Java就业工资都很不错,所以我要努力奋斗,达到自己心中的目标。
总之,通过这次培训,我找到了自己的奋斗目标,找准了自己的职业道路。
java的心得最新6篇

java的心得最新6篇优秀的心得体会必须结合自己的真实经历,才能让每一个字都充满情感与力量,经常撰写心得体会,有助于培养我们对事物的观察力和分析能力,本店铺今天就为您带来了java的心得最新6篇,相信一定会对你有所帮助。
java的心得篇1在本学期我们进行了为期三周的java实训。
回首本学期的java 学习,虽说时间很短,但其中的每一天都使我收获很大、受益匪浅,它不但极大地加深了我对一些理论知识的理解,不仅使我在理论上对java有了全新的认识,在实践能力上也得到了提高,真正地做到了学以致用,更学到了很多做人的道理,对我来说受益匪浅。
除此以外,我知道了什么叫团队,怎样和团队分工合作;同时我还学会了如何更好地与别人沟通,如何更好地去陈述自己的观点,如何说服别人认同自己的观点。
这也是第一次让我亲身感受到理论与实际的相结合,让我大开眼界。
也是对以前所学知识的一个初审吧!这次实训对于我以后学习、找工作也是受益匪浅的,在短短的三周中相信这些宝贵的经验会成为我今后成功的重要的基石;这对于我的学业,乃至我以后人生的影响无疑是极其深远的。
这次实训虽然是我们的第一次,心得体会不过同学们表现不错,由此看来,我们在进入大学的这几个月里学到了不少的专业知识,只是自己感觉不到而已。
对于所学专业,我们不能过于自卑和担忧,否则会妨碍自己学习。
实训是学习java的重要环节,有利于我们巩固专业知识、掌握工作技能,提高就业筹码。
我把本次为期三周的实训看作是理论与实践相结合的桥梁。
通过这周的实训和学习,我知道了此次实训的目的,也清楚目前自己的不足,那就是缺乏相应的知识与经验,对所学的专业知识不能够很好地运用于实践操作。
正所谓百闻不如一见,经过这次自身的切身实践,我才深切地理会到了走出课堂,投身实践的必要性。
平时,我们只能在课堂上与老师一起纸上谈兵,思维的认识基本上只是局限于课本的范围之内,也许就是这个原因就导致我们对专业知识认识的片面性,使得我们只知所以然,而不知其之所以然!限制了我们网络知识水平的提高。
java心得总结7篇

java心得总结7篇(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如演讲致辞、策划方案、心得体会、条据文书、合同协议、应急预案、规章制度、教学资料、作文大全、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays for everyone, such as speeches, planning plans, reflections, legal documents, contract agreements, emergency plans, rules and regulations, teaching materials, essay summaries, and other sample essays. If you want to learn about different sample essay formats and writing methods, please stay tuned!java心得总结7篇写心得体会可以帮助我们更好地反思自己的行为和决策,心得体会是我们对过去经历的回顾,可以帮助我们更好地规划未来的发展方向,本店铺今天就为您带来了java心得总结7篇,相信一定会对你有所帮助。
java学习心得体会(精选13篇)

java学习心得体会(精选13篇)java学习心得体会篇1在java的海洋中遨游一年的时间,从面向对象的思想到IO流到网络编程,我不断的接触到java基础知识,在学习过程中不断进步,不断成长。
作为一名软件工程的学生,学习java是我学习的重中之重,在长达一年的学习过程中,我也对java也有新的认识。
在学习java时,会问问自己为什么要学习java?在当今时代,Java仍然是世界上最受欢迎的编程语言之一,有无限多种方法使用Java。
据xx年数据显示,Java被评为最受欢迎的编程语言之一;最新的一些报告证明,Java程序员是业内薪资最高的程序员之一。
根据全球数字化业务媒体机构的分析,拥有Java技能有利于升值加薪;同时,java是零基础的和基础薄弱的学员可以很容易的接受的一种语言。
我在漫长的学习java的岁月中,遇到了许多大大小小的困难。
首先,在学习java开始中,老师往往会布置很多代码题进行实操或者书写在作业本上。
在刚刚开始的几次作业中,我往往因为自己的浮躁与不耐烦,直接向同学要他们的代码把作业上交,但渐渐的发现,课堂跟不上,成绩不佳,我陷入了迷惘中……后来,意识到自己学习java的态度与方式是不对的,经过调整,也有了自己的一份学习java的心得体会。
java的学习基础——C语言,意识到在课上听不懂的原因也来自于自己在大一上学期并没有把C语言学习透彻,所以我会利用课后的时间看网上的视频来让自己的C语言基础提高。
java的学习需要理解代码的思路。
在写代码与学习java知识点时,往往对于每句代码都应该理解透彻,在以后的代码书写中,自己才能写出正确的代码,甚至于找出自己的代码错误。
这对于代码的理解透彻,就需要自己在上课时,好好理解老师的代码思维,自己也需要多看看关于代码的书,加深理解。
java的学习需要保持良好的心态。
在进行代码实操时,自己写出大量的代码却运行不出结果。
这时,自己并不能因为不耐烦与困难的打击就直接放弃,而是要进行学习,通过自纠,问同学,找课外知识来解决问题。
java编程思想读后感

java编程思想读后感《Java 编程思想读后感》在接触《Java 编程思想》这本书之前,我对编程的理解还停留在一知半解的状态。
就像在黑暗中摸索,偶尔能碰到些边边角角,但始终无法看清全貌。
当我真正翻开这本书,就仿佛打开了一个全新的世界。
这个世界里,代码不再是一堆枯燥的字符,而是有着严谨逻辑和独特魅力的语言。
书中对于 Java 基础知识的讲解,细致入微得让我惊叹。
它就像一位耐心的老师,一点点地引导我走进 Java 的核心。
比如说,在讲变量和数据类型的时候,它不仅仅是简单地罗列定义和规则,而是通过大量的示例和实际的应用场景,让我明白了为什么要这样设计,以及在什么情况下应该选择哪种数据类型。
还记得有一次,我在自己尝试写一个小程序,计算班级同学的平均成绩。
我一开始信心满满,觉得这不是什么难事。
可当我真正动手的时候,才发现问题接踵而至。
我搞混了整数和浮点数的使用,结果算出来的平均成绩总是不对。
就在我焦头烂额的时候,我又重新翻开了《Java 编程思想》中关于数据类型的那部分内容。
书中用了一个特别形象的例子,说数据类型就像是不同大小的盒子,有的只能装小物件,有的能装大物件,如果把大物件硬塞进小盒子,肯定会出问题。
我一下子恍然大悟,原来我就是把本该用浮点数表示的成绩,错误地用整数来处理了,导致很多小数部分都被直接舍去,结果自然就不准确了。
按照书中的指导,我修改了代码,当看到程序成功运行,输出了正确的平均成绩时,那种成就感真的无法用言语来形容。
再说面向对象编程的部分,这可真是让我大开眼界。
以前我写代码,就是简单地按照步骤一步一步来,完全没有考虑过把代码进行封装和模块化。
但这本书告诉我,面向对象编程就像是搭积木,我们把一个个具有特定功能的小模块(对象)组合在一起,就能构建出复杂而强大的程序。
书中通过一个汽车制造的例子来讲解面向对象的概念。
它说汽车有发动机、轮胎、车身等部件,每个部件都可以看作是一个对象,它们有自己的属性和方法。
java编程思想读后感

java编程思想读后感《Java 编程思想读后感》在我接触 Java 编程之前,一直觉得编程是个神秘而高深的领域,仿佛是那些天才们才能玩转的游戏。
然而,当我真正开始学习 Java 并读完《Java 编程思想》这本书后,我才发现,原来编程的世界就像是一个充满惊喜和挑战的大乐园。
这本书给我的第一感觉就是厚重,实实在在的知识分量让我感到既兴奋又有些压力。
但当我翻开书页,开始深入其中时,我发现作者的讲解竟然如此清晰和易懂。
就拿面向对象编程这个概念来说吧。
以前我对这个概念总是一知半解,感觉就像是隔着一层雾在看东西。
但这本书里通过大量生动的例子,把面向对象编程这个抽象的概念解释得明明白白。
比如说,作者把一个汽车的制造过程比作一个面向对象的编程过程。
汽车有各种零部件,像发动机、轮胎、车架等等,每个零部件都可以看作是一个对象,它们有着自己的属性和方法。
发动机负责提供动力,轮胎负责滚动,车架负责支撑整个车身。
而把这些零部件组合在一起,就构成了一辆完整的汽车。
这就像是在编程中,我们把一个个具有特定功能的对象组合在一起,形成一个完整的程序。
还有关于异常处理的部分,让我印象特别深刻。
以前写代码的时候,一旦遇到错误,程序就崩溃得一塌糊涂,我都不知道从哪里开始排查问题。
但是这本书里详细地介绍了如何优雅地处理异常,就像是给程序穿上了一层防护服。
比如说,当我们从文件中读取数据时,如果文件不存在或者数据格式不正确,程序不会直接死机,而是会抛出一个异常,然后我们可以在代码中捕获这个异常,并进行相应的处理,比如给出一个友好的提示信息,或者尝试使用备用的数据来源。
在书中介绍多线程编程的章节里,作者用了一个非常有趣的例子来帮助理解。
假设我们把一个程序看作是一个厨房,而线程就是厨房里的厨师。
在单线程的情况下,就只有一个厨师在忙碌,他需要洗菜、切菜、炒菜、洗碗等等,效率非常低。
但是在多线程的情况下,就有多个厨师同时工作,一个负责洗菜,一个负责切菜,一个负责炒菜,这样效率就大大提高了。
java学习心得体会(通用4篇)
java学习心得体会(通用4篇)java学习篇1从大三开始算,我学习java已经有一年的时间了,不过虽然时间长,但是对于现在的我还是一个初学者,懂不了多少的java初学者。
期间曾迷茫过,曾困惑过,走了不少的弯路,老师布置的试验作业每次都是不会做,每次都是要问同学,这个代码什么意思啊?为什么用这条代码,用别的不行吗?甚至后来根本没耐心问,索性就复制同学的作业交上去。
但是都是各种0分,害的同学也这样,不过他能找老师反驳,而我却没实力。
渐渐的,我认识到这样下去是不行的,我必须改正自己的学习态度和方式。
接下提到的就是我这一年来的java学习心得。
刚一开始学习java时,我就已经学习过C语言,不过C语言学的不是很好,所以开始看到java的时候我很反感,看着源代码,都不知道失什么意思。
看书的时候一看到源代码就头疼,因为根本看不懂。
那段时间根本就是一无所获,在图书馆借了一本书,关java的语法特性,与别的语言相比的优点,什么跨平台,源代码公开,什么write 、 once 、 run 、 anywhere,能说得头头是道,可是一到具体的问题,想写一些具体的东西,问题就都来了,根本不知道该怎么下手。
所以每次李旺老师布置的试验作业都没的按时完成。
渐渐的时间过去了,一点进展都没有,我都几乎要放弃了。
而后又同学经常来宿舍跟我讲解,我很感谢他。
慢慢的我也理解了一些知识。
从他那里,我认识到,JAVA是一门计算机语言,是人类发明的语言,应该比人类语言更容易学习,只要你有一种必胜学习JAVA心态就可以成功。
学习JAVA的方法:JAVA学习中,首先要做到课前、课后复习及预习,要时时保持一个清醒的头脑;多和同学沟通;互相学习;取长补短;在学习中做到帮助他人或他人帮助自己。
学习java,的确要学习的东西很多,就像同学提到的。
Java不像、net一家独大,Java的繁盛在于开源社区的庞大,这也带来了分支太多的问题,怎样选择一条好的学习路线,对于初学者来说,的确是一件很迷茫的事。
学java的心得体会最新5篇
学java的心得体会最新5篇(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如工作计划、工作总结、述职报告、合同协议、演讲致辞、条据文书、心得体会、策划方案、教学资料、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays, such as work plans, work summaries, job reports, contract agreements, speeches, documents, insights, planning plans, teaching materials, other sample essays, and more. If you want to learn about different sample formats and writing methods, please stay tuned!学java的心得体会最新5篇我们在现下社会中时常会运用到心得这一文体,根据心得的基本要求展开写作,我们才能有所提升,本店铺今天就为您带来了学java 的心得体会最新5篇,相信一定会对你有所帮助。
java读书心得(通用5篇)
java读书心得(通用5篇)java读书心得篇1首选很感谢Joshua Bloch写的这本书,当然更感谢我们的司令翻译。
至少目前我看到的100页的内容,基本没发现翻译很别扭的地方,包括错别字也没有发现,至少没有影响到我对书中内容的理解。
再次感谢。
在后面的读书心得里,我会根据我的个人理解,将书中的各个知识点逐个和大家分享。
书中的一些观点我也不是完全赞同的,呵呵(估计是我的水平不够,呵呵呵)。
我们先看全书第一个问题:考虑用静态工厂方法代替构造器。
也就是,不再使用 new 这种方式来获得一个类的实例,而是通过工厂方法获得。
优点:1 有名字这个我体会还是比较深的,在JDK里,我见过一个类的最多的构造器数量,有16个。
大家可以看看 Java.math.BigDecimal 这个类就知道了。
就算一个类的构造器有4个左右,我想你很可能在使用的时候会极其注意,不要选错了到底是用哪一个。
所以,如果能提供一个很好命名的方法来实现构造类,确实是一个不错的主意,比如BigDecimal.getInstanceFromString(...); 我想这个名字虽然有点垃圾,但要表达的意思确实异常的明确。
在一些第三方的库里面,这种情况更加突出。
我许多时候不得不看看API文档,来区分我的那个int参数到底是使用三个参数的构造器,还是使用四个参数的构造器。
因为他们太像了。
2 可以单例这个就不用说了,你可以在方法里干你要做的任何事情,而new 绝对会给你一个新的实例。
3 可以返回任何子类型。
这个对于系统的扩展是很有用处的。
new 已经决定了你肯定要这个类,而静态方法却可以修改,不一定肯定返回你方法所在的类,可以在必要时替换为一个子类。
4 代码简便这点我体会不深,呵呵不过这个写法我确实经常用List list = new ArrayList;后面的那个ArrayList里面的 String就是一个例子吧。
不过我倒是不是很在意这个,因为我很喜欢这样写了。
java的读书心得(精选8篇)
java的读书心得(精选8篇)java的读书心得篇1时间犹如白驹过隙,学习Accp 5.0课程已经一个月有余了。
在这一个多月的时间里,我学习了计算机基础、进入软件编程世界和使用Java语言理解程序逻辑三门课程。
其中最重点的就是使用Java语言理解程序逻辑这门课程,这可以说是我第一门正式接触的编程语言,虽然以前学过C\C++,但这仅限于浅尝辄止而已,根本就没有去深层次的了解过,连一个简单的程序背着书都不会编写。
Java这门课程是我进入软件编程世界的第一道坎,因此我必须要发扬笨鸟先飞,持之以恒的精神来学习它,争取把第一只拦路虎给消灭了。
为了学好Java语言,我自认为还是比较刻苦的,基本上每天九点之前就来到了中心机房上机,把书上的代码反复地练习,书上的代码看似简单,但是有时候照着书敲上去一编译运行却不是这里出错就是那里有问题,高的焦头烂额的;更令人郁闷的是,有时候编译没有问题,但是运行的时候却报错了,这种情况十有是因为一些情况没有考虑清楚:有时候我们定义的是整型变量,输入却输入了非整型变量;有时候是因为数组的下标越界;有时候是什么空指针异常……这些情况使得初学编程的我痛不欲生,有好几次一冲动差点把机器给砸了,但是一想到把电脑砸坏了还得赔偿就忍住了,所以大家有时候遇到问题不能解决的时候千万不要冲动。
java的读书心得篇2在本学期的开学初期,我们在学校机房进行了为期三周的JAVA实训。
现在即将结束了,回首本学期的java学习,重点还是在学习概念等一些常识性的东西,通过这次为期三周的实训,遇到了很多自己感兴趣的问题,就会很有兴趣,当然学知识可不能凭自己的爱好和一时兴趣,不能遇到自己不敢兴趣的问题就把它抛给同学,要学会自己踏踏实实认真的去解决问题。
要一步一个脚印,认认真真,踏踏实实,理论与实践相结合,在扎实掌握课本实例和内容之后,有一定的扩展阅读和课外学习,充分全面的了解JAVA的应用和扩展运用。
本次我们小组所做的程序是“小小通讯录”基本功能已经较好的完成,可是还是有一些不完善,比如我们的通讯录没有能够做到把通讯录里所储存的信息以列表的形式展现出来,所以还是有些不完善,,我们的指导老师对我们的程序作出了大体评价,发现我们的思想还是处于一个比较简单的过程当中,老师的几句简单评价,就带给我们无与伦比的冲击性,由于我们写程序的经验尚且较少,很多东西无法考虑到位,老师的点评,使我们认识到了不足与今后的前进方向与目标,使我们更加具有动力与激情,拥有了继续认真学习JAVA的信心,拥有了成为一位合格的高级程序员的壮志,在编写程序的过程当中,我们在一开始就遇到了问题,一直在纠结与是使用数据库连接还是使用文件,经过老师的耐心讲解,我们了解到了尚未接触到的Jar包等一些列名词,但是经过数据库的抒写与连接发现SQL2000与SQL2005无法同步,所以最终我们选择了使用文件来进行这次程序的编写,第二个问题就是我们的程序在进行按钮新窗口的链接,在新窗口弹出时,无法将老窗口关闭,纠结了好久,询问老师,老师还给我用了“父子”的生动例子来讲解,最终我们查找JDK,查找类的用法终于完美解决!甚是兴奋! 在我所学的语言当中,我自认为JAVA是一门比较强大的面向对象的编程语言,不仅仅因为它的跨平台性,更多的是因为它的灵活多变和实用性较强,可以说比较的经典和强悍。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
竭诚为您提供优质文档/双击可除java编程思想读书心得篇一:Java编程思想第四版读书笔记Java编程思想第四版读书笔记一基础知识点1.面向对象程序设计(object-orientedprogrammingoop),umL(unitiedmodellingLanguage统一建模语言)。
将对象想像成“服务提供者”,它们看起来像什么?能够提供哪些服务?需要哪些对象?2.Java中动态绑定是默认行为。
Java采用动态内存分配方式,通过new操作在堆(heap)的内存池中动态创建对象。
Java存储结构类型:1)寄存器2)堆栈,主要存储对象引用3)堆,主要用于存放所有的Java对象4)常量存储,也就是程序代码区5)非RAm存储,如流对象和持久化对象。
基本类型不用new来创建变量,而且这个变量直接存储”值”,并置于堆栈中。
3.bigInteger和bigDecimal的使用。
当变量作为类的成员使用时当变量作为类的成员使用时,Java才确保给定其默认初当变量作为类的成员使用时始值,但是在方法中定义的变量,它有可能是任意值。
面向对象的程序设计可以归纳为“向对象发送消息”。
关键字static。
4.Javadoc只能为public和protected成员进行文档注释,但是也可以通过-private进行标记注释。
Javadoc常用方法:@see引用其他类,linkpackage.class#memberlabel},{@{@docRoot},{@inheritDoc},@version,@author,@since,@param,@return,@throws,@deprecated。
5.整数除法会直接去掉结果的小数位。
基本类型的对象如果直接对它们赋值,对象指向同一个常量存储区,但是如果通过对象来初始化则会指向不同的堆的存储区。
如:stringst1=newstring("A");stringst2=newstring("A");s t1==st2falsestringst1="A";stringst2="A";st1==st2tru e6.逻辑操作符:与(Leafincrement(){i++;returnthis;}}10.回答一个新技术的问题大概思路和步骤是:我们想干什么,怎么干,干的过程中遇到了什么问题,现在用什么方式来解决。
答题时,先答是什么,再答有什么作用和要注意什么(这部分最重要,展现自己的心得)。
11.finalize的使用:垃圾回收只与内存有关,当“垃圾回收”时,finalize()得到调用。
Java中的对象都能被垃圾回收器回收,但是在“本地方法”的情况下,有可能在分配内存时采用类似c语言的做法通过malloc()函数来分配存储空间时,这时只能通过free()函数来释放空间,而这些释放操作必须要放到finalize()方法中,垃圾回收器才能正确的释放内存。
“垃圾回收”都不保证一定会发生。
12.垃圾回收原理:引用记数引用记数是一种简单但速度很慢的垃圾回收技术。
每个对象都含有一个引用记数1引用记数器,当有引用连接至对象时,引用计数加1。
当引用离开作用域或被置为null时,引用计数减1。
垃圾回收器会在含有全部对象的列表上遍历,当发现某个对象的引用计数为0时,就立即释放其占用的空间。
定位交互自引用的对象组所需的工作量极大,所以并没有被应用于任何一种Java虚拟机中。
Java虚拟机采用一种自适应自适应的垃圾回收技术,Java虚拟机会自适应进行监视,如果所有对象都很稳定,垃圾回收器的效率降低的话,就切换到“标记-清扫”方式;同样,Java虚拟机会跟踪“标记-清扫”的效果,要是堆空间出现很多碎片,就会切换回“停止-复制”方式。
“停止-复制”,先暂停程序的运行,然后将所有存活存活的对象从当前存活堆复制到另一个堆,没有被复制的全部都是垃圾。
“标记-清扫”,从堆栈和静态存储区出发,遍历所有的引用,进而找出所有存活的对象,每当它找到一个存活对象,就会给对象设一个标记,这个过程中不会回收任何对象,只有全部标记工作完成的时候,清理动作才会开始。
在清理过程中,没有标记的对象将被释放,不会发生下任何复制动作。
13.初始化顺序:先静态对象,后“非静态”对象,先变量,再构造函数,然后是方法。
静态初始化只有在必要时刻才会进行,如果不引用其对象,那么该对象中的静态成员将不会被创建,而且它们只会在第一次被访问时进行初始化,其后不会再次被初始化。
14.对象的创建过程:1)当首次创建对象时,或类的静态方法/静态域首次被访问时,Java解释器必须查找类路径,以定位.class文件。
2)载入.class,有关静态初始化的所有动作都会执行。
3)当用new创建对象时,在堆上为对象分配存储空间,而且这块存储空间会被清零,也就是说它会自动地将对象中的所有基本类型数据都设置成默认值,而引用是被设置成null。
4)执行所有出现于字段定义处的初始化动作。
5)执行构造器。
15.数组:java.util.Arrays常用方法的使用。
binarysearch(),copyof(),asList(),copyofRange(),equa ls(),fill(),sort(),tostring(),hashcode()。
可变参数列表:voidf(floati,character?args)。
枚举类型:enum,它可以在switch语句内使用。
16.类的结构依次为:1)包的注释2)package的设置3)import导入设置4)类的注释5)类的编写。
17.Java的访问权限:类的访问权限只有public和默认包访问权限,成员和方法有public,protected,默认包访问权限和private。
使用类的客户端程序是无法访问包访问权限成员的。
包访问权限的类的对象可以由包内任何其他类来创建和使用,但是包外则不行。
18.为了继承,一般的规则是将所有的数据成员都指定为private,将所有的方法指定为public或protected。
Java 会自动在导出类的构造器中插入对基类构造器的调用。
调用基类的构造器必须是你在导出类构造器中要做的第一件事。
19.代理,它是继承与组合之间的中庸之道,因为我们将一个成员对象置于所要构造的类中(就像组合),但与此同时我们在新类中暴露了该成员对象的所有方法(就像继承)。
20.清理方法的顺序:首先,执行类的所有特定的清理动作,其顺序同生成顺序相反;然后,调用基类的清理方法。
除了内存之外,不能依赖垃圾回收器去做任何事,如果需要进行清理,最好是编写自己的清理方法,但不要使用finalize()。
@override注解可以防止在你不想重载时而意外地进行了重载。
21.组合与继承之间的选择:组合技术通常用于想在新类中使用现有类的功能而非它的接口,也就是在新类的嵌入某个对象,让其实现所需要的功能,但新类的用户看到的只是为新类所定义的接口,而非所嵌入对象的接口,一般情况下会在新类中嵌入一个现有类的private对象。
而继承,它是指使用某个现有类,并开发一个它的特殊版本。
“is-a”(是一个)的关系是用继承来表达的,而“has-a”(有一个)的关系则是用组合来表达的。
22.final的用法:根据惯例,既是static又是final 的域将用大写表示,并使用下划线分隔各个单词。
类中所有的private方法都隐式的指定为是final的。
final类中所有的方法都隐式指定为是final的。
当前用hashmap替代了hashtable,用ArrayList替代了Vector。
23.Java中除了static方法和final方法(private方法属于final方法)之外,其他所有的方法都是后期绑定。
接口中的属性都是publicstaticfinal的,方法都是public24.多态:只有普通的方法调用可以是多态的。
任何域访问操作都将由编译器解析,因此不是多态的。
如果某个方法是静态的,它的行为也不具有多态性。
25.初始化的实际过程:1)在其他任何事物发生之前,将分配给对象的存储空间初始化成二进制的零。
2)如前所述那样调用基类构造器,此时,调用被覆盖后的方法(要在调用子类构造器之前调用)。
3)按照声明的顺序调用成员的初始化方法。
4)调用导出类的构造器主体。
编写构造器时有一条有效的准则:“用尽可能简单的方法使对象进入正常状态;如果可以的话,避免调用其他方法”。
在构造器内唯一能够安全调用的那些方法是基类中的final方法(也适用于private 方法,它们自动属于final方法)。
这些方法不能被覆盖。
26.一条通用的准则是:“用继承表达行为间的差异,并用字段表达状态上的变化”。
27.一个内部类的对象能访问其外围对象的所有成员,还拥有其外围类的所有元素的访问权。
在内部类中,如果你需要生成对外部类对象的引用,可以使用外部类的名字后面紧跟圆点和this,(outerclassout=outerclass.this)。
有时你可能想要告知某些其他对象,去创建其某个内部类的对象,可以在new表达式中提供对其他外部类对象的引用,需要使用.new语法(outerclassout=newouterclass,outerclass.Innerclass inner=out.newInnerclass())。
在拥有外部类对象之前是不可能创建内部类对象的,但是,嵌套类(静态内部类)除外。
如果定义一个匿名内部类,并希望它使用一个在其外部定义的对象,那么其参数引用必须是final的。
匿名类的实例初始化的实际效果就是构造器,而且你不能重载实例初始化方法,它可以扩展类,也可以实现接口,但是实现接口,也只能实现一个接口。
28.嵌套类(静态内部类):1)要创建嵌套类的对象,并不需要其外围类的对象;2)不能从嵌套类的对象中访问非静态的外围类对象。
30.为什么需要内部类:1)每个内部类都能独立继承自一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。
2)内部类可以更好的实现“多重继承”。
3)内部类可以有多个实例,每个实例都有自己的状态信息,并且与其外围类对象的信息相互独立。
4)在单个外围类中,可以让多个内部类以不同的方式实现同一个接口或继承同一个类。
5)创建内部类对象的时刻并不依赖于外围类对象的创建。
6)内部类并没有令人迷惑的“is-a”关系,它是一个独立的实体。
31.闭包:它是一个可调用的对象,它记录了一些信息,这些信息来自于创建它的作用域。
通过内部类提供闭包的功能是优良的解决方案。
使用局部内部类而不使用匿名内部类的的理由是需要不止一个该内部类的对象,或者需要一个已命名的构造器。