java学习流程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
java学习流程
对于很多只会c语言的初学者而言,面对java基础语法学习,反而感觉很难,其实
其中最大的问题不是语法难,而是一种编程思想的转变。
面向过程就是把你的代码封装成函数,然后依次去做一件事情,面向过程是把你要做的事情抽象成对象,告诉对象去做。
所以要想学好java入门,必须知道类和对象的概念。
类是对生活中事物的抽象描述,比如人类,动物类,交通工具类;对象即是对类的具
体实例化,比如张三是人,猫是动物,飞机是交通工具(对象-----类)。
java基础入门学习路线可以总结为四步走:
1.java研发环境的构建;
2.java初级之基础语法学习(80%类似c语言);
3.java中级之面向对象编程自学(重点);
4.java中级之应用编程学习。
第一步:jdk软件开发包时java软件开发环境,
包括jre运行环境和jvm虚拟机,在oricle官网下载javase版本jdk包;配置好环
境变量就可以使用了。
第二步:java初级语法自学,
1.基本数据类型整形,字符型,字节型,长整形,短整形,浮点型,双精度,布尔型;
2.运算符+,-,_/,%等;
3.控制流(while,switch,if else);
4.数组的定义方式。
此阶段基本无难度,只要了解练习例题。
第三步:java面向对象自学,
1.类和对象;
2.java语言三小特性,PCB、承继、多态;
3.一些关键字学习(static,final,abstract,extends)等。
这就是重点,大家根据知识点一步步研究自学才就是关键。
第四步:java应用编程,
比如:文件io,子集(相似c语言数据结构),异常处置,线程,网络,jdbc数据库
操作方式等,都就是掌控面向对象以后,在搜寻相同的类采用类中相同的方法达至应用领
域的效果,所以并不能很难。
等基础语法掌控了就可以稳步后面框架自学(java web方向,android自学),坚信明晰思路你可以豁然开朗,更存有自学动力。
javaweb课程结束了,在完成了eclipse三份实验报告之后我开始总结这门课程自己
究竟学到了什么。
从c语言至java,再至jsp,最后至javaweb,一直都在与编程都关系密切,努力学
习它一是专业的须要,二就是自己真的它今后对自己可以存有非常大的用途。
c语言就是
一个面向过程的语言,而java就是一个面向对象的语言。
在c语言里,犯罪行为称作函数;在java里,犯罪行为称作方法。
在c语言里,只有变量和函数;在java里,一切逻
辑由类PCB,即为“万物皆对象”。
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的分类、它的主要USB、以及它相连接数据库的基本过程和运转效果等事先后我没听得懂。
后来在图书馆借
得了一本资料书电子工业出版社出版发行的《javaweb从初学至通晓》适宜java研发web
应用领域和j2ee方面的初学者加之编程实战演习,总算搞清楚了点眉目。
最后一章主要是一些技术专题。
例如访问路径问题、结果集处理、复杂查询等。
在前
面几章的的能力功底基础上这章显得要简单轻松地多。
大致类似于对前面知识的系统总结。
以上就是对这个阶段自学的一段总结。
接下来我想要总结一下自己的学习心得:首先
自学这门课程,就必须先必须介绍什么就是web应用领域。
通过浏览器可以出访新浪网、
中华网、淘宝网、网易、搜狐网、谷歌的网站及sun公司的网站等,这些就是web应用领域。
对于web应用领域,我们须要采用浏览器,通过网络出访在远程的服务器运转的程序。
web应用领域所指的就是这些网站中的程序。
其次,是编程。
学习编程最重要的就是勤记忆,勤练习,勤思考。
需要记忆很多,有
些东西必须要死记,没有偷懒的办法,在记忆的时候可以找一些规律,比如把类似的东西
归在一起记忆。
平时在做练习的时候书上的例题和习题很重要,只要把书上的例子吃透,
课后的习题都会做,这样就能达到掌握知识的目的,最后在期末复习的过程中要不时地复
习前面的知识,这样才能熟练掌握所学的知识。
在勤思考方面,就是在平时的编程演练中
遇到困难的时候不要立刻急着去问身边的同学或是老师,自己应当对照课本或是相关的学
习资料慢慢进行修改,只有在自己确实已经尽力但仍然不知如何操作的情况下才可以去询
问别人,只有这样才可以加深自己的影响。
还回忆起自己当初最已经开始时自学java的情景。
那时自己除了晓得什么就是承继,PCB,多态,抽象类,USB这些外,其他的就什么都部晓得了。
后来自己在慢慢探索的过程中才逐渐累积了对这门学科的敏感度已经开始碰触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研发就像一个恶梦,每天
大量的工作就是调试页面,当其它页面须要相似的功能时,展开代码拷贝去展开代码的
F83E43Se,后来才晓得这就是典型的model1模型。
当把jsp与servlet结合后,一切都
出现了发生改变。
jsp仅用作数据展现,而servlet用作展开业务调用和页面流程掌控,
这就是所谓的model2模型。
原来jsp并不是servlet的替代品,jsp更须要与servlet展开合作。
再明白了servlet与的关键后,才转过头已经开始回去自学servlet,包含
servlet的生命周期,servlet的关键USB及方法,自定义标签等。
通过这样反反复复的
联系我终于在直面java和jsp时不再像是以前那样那么没自信心了。
所以花费些力气去学习java基础,学习jsp,servlet,甚于学html,javascript对进
行web开发都是十分必要的.。
最后我想要总结一下自学方向的建议,java基础知识就是自学任何java拓展体系科
学知识的前提,所以在自学javaweb的过程中,一定得抽时间自学java基础,窝在图书
馆找出了基本有关的读物《java核心技术》《java编程思想》和jdk的api文档。
另外
由于编程存有一些专用的英语术语,因此努力学习一些必要与之有关的英语对我们今后更
好地自学这门学科就是很存有协助的。
4月26日cvs---4月27日uml 连续两天状态很是不好,上课总是不能够集中精神,
不知为什么听这两天课的时候精神很涣散,也不知道自己在想什么,一整天的课,似听非
听的只听到了一半。
或许是持续的精神高度集中,而引起了身体的疲惫吧。
感觉自己的
记忆力不断下降,这不是个好兆头。
每天都在学习,每天都在接受新的知识,如果没有一
个好的精神状态和记忆,学到最后就等同于黑熊掰玉米一样。
不可以给自己过多的理由去
偷懒,不可以看到别人在不学习时就想着自己放松一下。
从某种角度讲放松和放纵只在一
念之间,一味的放松最后就会成为放纵。
有时人的心理真的很难以揣摩,自己明明已经计划不好了的事情总因为一个想要多睡
会的念头而不得不发生改变。
有时很想要使自己的进度慢一些,但又害怕大力推进后会
乱了头绪。
错,大错特错。
这都是片面的想法,因为总想着今天的事情没办完还可以有明天,因
为总想着睡一会20分钟后再去学习。
这就是偷懒,这就是不负责任,总想休息,总想着
还有明天。
那还来学习干嘛,那还要理想干嘛,还不如回家去作白日梦得了。
话说回来,还是没把自己逼迫的绝路上,所以自私才可以乘虚而入。
自学并不难,容
易就容易在秉持。
人生不是游戏,也不可以像是小孩子一样总犯错误总想著他人可以一致
同意。
对于明天的美好,今天喝再多的痛也就是应该的。
1.学习之路,不走弯路,就是捷径
软件开发之路就是充满著荆棘与挑战之路,也就是充满希望之路。
java自学也就是如此,没捷径捷径。
所有的人都盼望顺利,但是并不是每个人都会为迈向顺利全力以赴。
人
们在渴求顺利的同时,也渴求能太少一分不懈努力,多一分收获。
而事实上必须以获取真
正的顺利,每个人都必须经历艰苦。
无论你早年豪门,还是早年寒舍,你都不得不拒绝接
受这样一个事实:顺利没捷径捷径,只有不屈不挠的意志与坚持不懈的努力奋斗就可以拎
你迈向顺利。
2.如何学习程序设计?
java就是一种平台,也就是一种程序设计语言.首先一定必须维持热情,卖一本关于
这种语言入门的书,一已经开始不要看看太难的,循序渐进,先读一读。
多练习基础代码,将各种语句练习得非常娴熟,可以选一些计算机语言初等练习题罢了。
再重头至尾好好读
一读,哪里稀奇古怪,可以与他人交流。
多看一看别人用这种语言写下的程序,先进经验
编程方法,对自己错误的思想展开校正。
多多练,每天都踢一些代码,毕竟熟能生巧!
3.培养兴趣
兴趣就是指一个人力求重新认识某人或专门从事某种活动的心理女性主义。
科学知识
就是兴趣产生的基础条件,因而必须培育某种兴趣,就理应某种科学知识的累积,自学编程,就必须多看一看那方面的书籍,不仅能够提升自己的文化内涵,也能够渐渐培育自己
的自学热情。
有空多至一些程序员论坛玩玩,你可以辨认出,他们其实很悲观风趣,时不
时可以冒出来智慧的火花。
4.脚踏实地,循序渐进
现实生活中,人人都存有梦想,都渴求顺利,都想要找出一条顺利的捷径。
其实,捷
径就在你的身边,那就是勤奋好学累积,脚踏实地,积极主动肯吃苦。
无论搞什么事都必
须戒骄戒躁,勤奋地跑不好每一步,使自己的生活存有目标、存有计划,这样我们的生活
才可以显得扩充,我们距顺利也就越来越近了;恰好相反,如果颓废、急功近利,就无法
集中精力回去顺利完成自己的人生目标,最后很可能将一事无成,一败涂地。
5.多实践,快实践
纸上单单终觉深,绝知此事必须戴思恭.软件开发就是一门工程学科,著重的就是课堂
教学,"君子动口不动手"对软件开发人员来说根本就是错误的,他们倡导"动手至上",但
别惧怕,他们大多温文尔雅,没暴力女性主义,虽然有时候蓬头垢面的一副"比尔盖茨"样。
存有前辈低人指出,自学编程的秘诀就是:编程、编程、再编程,笔者深表赞成。
不仅必
须多课堂教学,而且必须慢课堂教学。
我们在看电视的时候,不要要到你全然认知了才动
手敲打代码,而是必须在看电视的同时敲打代码,程序运行的各种情况可以使你更快更稳
固的掌控知识点
6.多读好书
书中自建黄金屋,书中自建颜如玉。
培根说道,“读史并使人明智,读诗并使人聪颖,编程语言并使人高精度,哲理并使人深刻,伦理学并使人存有学识,逻辑修辞学并使人善辨。
”从书中可以领悟“不以物喜,不以己忧”正直情怀,亦可以领略“天下兴亡,匹夫
有责”的豪放心胸。
从好书中提高了思想境界,陶冶了情操。
7. 思想的领悟
自学java也就是如此,必须必须存有坚实的基础,你就可以在j2ee、j2me领域游刃
有余。
掌控了基础语法和java程序运行原理后,我们就可以用java语言同时实现面向对
象的思想了。
面向对象,就是一种方法学;就是单一制于语言之外的编程思想;就是cbd基
于组件研发的基础;属强势技术之一。
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就是我自学的重中之重,在长达一年的自学过
程中,我也对java也存有代莱重新认识。
我在漫长的学习java的岁月中,遇到了许多大大小小的困难。
首先,在学习java开
始中,老师往往会布置很多代码题进行实操或者书写在作业本上。
在刚刚开始的几次作业中,我往往因为自己的浮躁与不耐烦,直接向同学要他们的代码把作业上交,但渐渐的发现,课堂跟不上,成绩不佳,我陷入了迷惘中……后来,意识到自己学习java的态度与
方式是不对的,经过调整,也有了自己的一份学习java的心得体会。
java的自学须要认知代码的思路。
在写下代码与自学java知识点时,往往对于每句
代码都必须认知细致,在以后的代码书写中,自己就可以写下恰当的代码,甚至于找到自
己的代码错误。
这对于代码的认知细致,就须要自己在上课时,好好认知老师的代码思维,自己也须要多看一看关于代码的书,增进认知。
java的学习需要多做,多思考。
在java学习中,不仅要学会打课内的代码,也需要
通过百度找寻课外的代码,举一反三,自己解决很多的问题。
在这一年的自学中,我对于java存有了初步的重新认识与介绍,我晓得自己真正掌控java还须要一段时间的自学,但我坚信我自己只要存有颗想要自学不好java的心,对于以后的困难就是不畏惧的,我坚信在自学java中,自己就是在此过程中不断蜕变的,进步的。
暑期在和一个老师做项目,前期老师教学,做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技术的顺序,并推荐一些书吧。