java基础知识总结笔记 java理论知识总结面试
今天给各位分享java基础知识总结笔记的知识,其中也会对java理论知识总结面试进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
谁帮我总结下java中的知识要点 和易错点 要系统的
下面简单列举一下学习java的一个系统知识点的一些介绍():
一:java基础部分:java基础的时候,有些知识点是非常重要的,比如循环系列。For,while,do-while.这方面只要用心点基本没什么难点。
二:面向对象:oop面向对象的时候,偏重理论,相信这方面的文章也很多,可以多看看,在这就不说了。重点掌握面向对象的三大特征和基本原理。
三:java核心一:这方面主要偏重API,所以在学习了这章的时候,一定要对照API去学习,多看API,主要就是方法多,string和集合的方法最为重要。
四:java核心二:主要讲解了异常,线程和IO流,其实个人认为重点掌握线程就行,对于流和异常多写就行,线程偏重理论也最为重要。
五:oracle数据库方面:建议学习数据库的时候一定要端正态度,数据库极为重要,本人当时在学习这个的时候,一直以为数据库只是为了增删改查,故没有认真学习,后期面试的时候吃了不少亏,因为现在软件公司对数据库的要求跟java一样重要,基本都会单独一张笔试题笔试数据库。
六:JDBC/XML系列:JDBC主要是3个核心接口(Connection)(Statement)(ResultSet)的使用,在学习的时候,熟练运用3接口,jdbc的原理也相当重要,虽然后期学习了HIbernate之后,JDBC不需要再用,但其底层原理还是JDBC,而且现在很多软件公司不一定会用到Hibernate框架,所以建议还是把“本”学好,XML:重点掌握解析互换的2个核心接口方法。
七:HTML/CSS/JS:对于这个,本人相当纠结,因为这个有点偏向于美工的意思,所以后期想从事后台开发的同学一般不会太重视,但是现在都是web项目,而且很多软件公司并不是把许多这方面的事情交给美工(除非是那种有很高要求的静态页面),而且现在html代码都是在jsp里面写,所以建议还是好好学学,因为公司不会让一个美工去专门为你写一些简单的html代码,包括js!这章其实不难,就是属性方法知识点比较多,多记记,多写写,重在多练!
八:Servlet/Jsp:如果想从事web和b/s开发(现在基本都是web和b/s开发),这章极为重要,服务器的访问以及配置。tomcat的使用都在这一章,虽然后期struts框架的学习简化了servlet代码的繁琐性,但是你可知道现在有些公司只用servlet不用struts!即使用了框架技术也不一定是struts!servlet跟JDBC一样都是“本”,而struts和Hibernate一样都是封装了它们而后简化代码而已。所以只有把“本”学会了,就不怕框架的变化!jsp就不多说了,如果你学习java这个就不会缺少!后期b/s项目页面的布局以及功能就全靠它了。
九:Ajax/Jquery:当初学习这个的时候,本人没有用心去学,然后结果就是本人在进公司之后花了一个星期的时间练习jQuery!这个对于强化web服务器页面的功能技术实在是强大.这个封装了js对象的技术,可以对jsp页面元素进行样式的更改以及操作,想要玩好web项目,这个技术必须玩好!
十:SSH:传说中的三大框架;
Struts:前面已经提到,这个框架技术主要是为了弥补servlet和jsp页面之间交互的复杂性,可以有效的提高客户端与服务器之间的交互。而且采用了MVC思想进行改善减弱代码之间的复杂性。
Hibernate:主要封装了jdbc的核心功能,可以采用映射方式访问并操作数据库,一定程度上讲是简化了程序代码,但前面已经提到,由于是框架,而框架是随着时代而改变的,并且很多公司不一定用到这个框架,所以,只有掌握好JDBC的根本原理,才会更加理解这个框架。
Spring框架:其实后期学框架知识大家都会觉得很无趣和乏味,因为框架的知识都是理论很深的知识点,spring主要是要完善代码之间的耦合度,包括类似工厂模式的对象自动控制,AOP的事物日志管理等,都其实是为了减少程序员的工作量,但不得不说是有很大的作用的,而且这个框架可以整合JDBC以及Hibernate,struts技术,可以把所有的框架技术都整合在一起。相当于一块主板把内存,风扇,cpu,显卡都集中在一起。
前
面所有的都是个人学习之中的一点感受,希望你也能有所感触,主要想说明的是前面的基础一定要打好,对于学习方法的问题也可以和大家聊一聊,本人在学习之
初,由于面向对象和集合一些理论较深的知识点出现,导致后期比较注重理论,最终在写实际项目的时候吃了苦头,因为代码量没有跟上,即使理论都懂,但很多功
能还是无法自己写出,所以要强调的是在注重理论的情况下一定要多写代码,我的建议是在理论比较深刻的知识点面前,比如面向对象,集合,线程这些知识,多看
点理论,而对于html,css以及API方法比较多的知识点的情况下,多写代码。总之,各50%最好!当然,这就需要大家付出更多的时间和精力辛苦勤劳下了!其实java的学习还是要多练代码,多思考,举一反三,任何的知识点只要你认真的去做,没有拿不下的顽石,勤能补拙,相信自己,然后用功,你就胜利了。
下面为提供部分本人整理的笔记:
String的核心方法:
字符串转换整数:Integer.parseInt(字符串变量);
整数转换字符串:String.valueOf(整型变量)
日期转字符串:new SimpleDateFormat().format(date类型)
返回字符串元素的字符长度:length()方法
Int IndexOf(String a),在字符串元素中检索a字符,返回第一个出现的下标位置。
Int indexOf(String a,int fromIndex),从formIndex位置开始检索字符串,找到之后的a字符。
Char charAt(int
index):用于返回字符串index位置的字符.
Substring(begin,end):返回子字符串
valueOf(Object):返回Object参数的字符串表示形式。
toUpperCase():返回字符串的大写形式。
toLowerCase():返回小写形式。
StringBuilder核心方法:
StringBuilder:性能好,非线程安全.
Append(String s):追加字符串。
Insert(3,”String”)插入字符串
Delete(int start,int
end):删除字符串。
Replace(int start,int
end, String s):替换字符串
Reverse():字符串反转.
集合核心方法:
Boolean isEmpty():判断集合是否为空
Size():判断集合里面元素的个数
Boolean Contains(Object):判断集合元素中是否包含Object元素.
Clear():清空集合。
Boolean Add(Object):向集合中添加元素,返回是否添加成功.
Boolean
remove(Object):从集合中删除元素。
Iterator
iterator():迭代元素。
增强for循环:for(Point p:list):遍历list,每次循环从list中取出一个元素赋值给p.
List单独的方法:
get(index):得到index下标的集合元素.
Set(index,元素o):设置index处的元素为元素o,前面的元素将被覆盖,并且方法返回的值是前面的元素。
Add(index,元素):在指定下标index添加元素
Remove(index):删除指定下标的元素值
List:定义线性表数据结构.
ArrayList:动态数组方式,适合随机访问对象.
LinkedList:链表方式,适合于插入和删除.
subList():用于获取子List,获取的List与原List占有相同的存贮空间,操作会影响原List.
List<E> subList(int开始下标,int结束下标);
java实习总结4000字
这一期的实习,虽然实习的时间不长,但是总体上收获挺大的,学习中我不但有了学习成果
的喜悦,而且自己也日渐成熟,有种说不出的喜悦。以下是我在这次实习中的一些感悟和体会:
1.通过过这次实习,我们不仅在编程的理论知识上有所巩固和深化,更重要的是有了实战进行项
目开发锻炼动手能力的机会,积累了一笔宝贵的经验。我学会了如何团队合作,共同开发。独木难支,光靠一个人的力量是远远不够的。只有管理组织好一个团队,才能够最终完成项目的开发,或许在编程技术水平上团队成员有高有低,但是,每个人都有自己的闪光点,总可以在团队的找到适合自己的位置,每个人在自己的团队中做的贡献,创造出不可磨灭的重大价值。
2.有些知识点以前没有学过,但我也没有去研究,实习时突然间觉得自己真的有点无知,虽然现
在去看依然可以解决问题,但要浪费许多时间,这一点是我必须在以后的学习中加以改进的地方,同时也要督促自己在学习的过程中不断的完善自我。另外,也是在实习中必不可少的部分,就是同学之间的互相帮助。
3.我学会了如何理解和分析客户的需求。软件为客户而生,只有理解了客户的需求才有写出优秀
的软件的可能,在这次实战演练中,老师教会了我们如何组织团队正确的理解和分析客户的需求,并写出完善的需求分析,并用于项目开发。
4.我学会了对按照需求对软件架构进行设计,这点我想是我们许多同学之前都非常欠缺的,因为
我们在学校的时编写代码篇幅短小,功能单一,所以设计思路通常只留于脑内,非常模糊。而在这次项目开发演练中,老师手把手的教会我如何从需求中抽象出问题,并将之模块化,然后逐步求精,就如同为高楼大厦搭建栋梁。
此次实习,我深深体会到了积累知识的重要性。在实习当中我们遇到了不少难题,但是经过我们
大家的讨论和老师细心的一一指导,问题得到了解决。
实习结束了,收获颇丰,同时也更深刻的认识到要做一个合格的程序员并非我以前想像的那么容易,最重要的还是细致严谨。社会是不会要一个一无是处的人的,所以我们要更多更快地从一个学生向工作者转变,总的来说我对这次实习还是比较满意的,它使我学到了很多东西,为我以后的学习做了引导,点明了方向,我相信在不远的未来定会有属于我们自己的一片美好天空!
实习即将结束了,我非常怀念这次校内实习,在实习的这短短时间里,我每一天过的都很踏实的,充实的;我相信,只要我秉持艰苦奋斗,为理想拼搏的精神,尽管在未来的java路上荆棘丛丛,我一定可以披荆斩刺,度过重重难关,实现自己未来的理想!在这里,我非常感谢实习的指导老师,在老师的帮助和指导下,我克服了Java学习上的一道道难关,课上认真听讲,摘好必要的笔记,并通过自己课后的不断消化学习,现在自己已经基本掌握了java的基础知识,并且能独立的开发出系统。实习是为将来打基础的重要阶段,珍惜自己每一个工作的机会,不论什么人,什么学历,从事什么工作,好好的表现、展示自己的能力,不要错过好的机遇。
没有一件事情是轻轻松松的,但每一件事都是让人成长的,经历一段过程,喜悦或是艰辛,尽管经历的方式不尽相同,但它的结果是相同的,我们都会因涉事而成长。
“纸上得来终觉浅,绝知此事要躬行!”在短暂的实习过程中,让我深深的感觉到自己在实际运用
中的专业知识的匮乏,刚开始的一段时间里,对一些工作感到无从下手,茫然不知所措,这让我感到十分的难过。在学校总以为自己学的不错,一旦接触到实际,才发现自己知道的是多么少,这时才真正领悟到“学无止境”的含义。
“千里之行,始于足下”,这是一个短暂而又充实的实习,我认为对我走向社会起到了一个桥梁的作用,过渡的作用,是人生的一段重要的经历,也是一个重要步骤,对将来走上工作岗位也有着很大帮助。
如何打好Java的基础
从大学到现在,我使用Java已经将近20年,日常也带实习生,还在公司内部做training,所以可以分享下我的经验,希望对你有用。
因为是在工作中培训,就必然有两个约束:实用、时间紧,因此就不能像大学那样,把所有的知识点都面面俱到的讲到。而只能挑基础的,实用的,难理解的讲。至于其他边边角角的知识,就一笔带过。一则没有时间,二则不常用,再则既使讲了,学生印象也不深刻。总之一句话:“好钢用在刀刃上”。
下面,就根据我的实践,具体谈下学习过程:
1.基础知识
我学习java的时候,先是通读了《Java编程思想》,然后是《Java核心技术》。当时这两本书还不像现在这么厚,而刚才我把案头的《Java核心技术》第9版翻了翻,上下两册已经1700多页了,可想而知,如果要把它通读一遍,且不说把所有的代码都调通,就是当小说读,估计也需要些时间。
但我现在教学依然首推《Java核心技术》,主要是体系完整,实例多,可操作性强。但对初学者,我一般是只讲前6章,也就是下面的内容:
Java程序设计概述
Java程序设计环境
Java的基础程序设计结构
对象与类
继承
接口与内部类
就《Java核心技术》第9版来说,也就是到250页为止,加把劲,1个月拿下完全没问题。
因为你是自学,所以建议你一定要把其中的代码都调通,课后的作业尽量去做。除此之外,还有两点特别重要:
#.学习笔记
因为你是自学,不像在企业中学了就能够实践,印象自然特别深刻。而自学因为没有实践的及时反馈,所以记笔记就显得特别重要。因为记笔记就像写作一样,是整理思路的绝佳方法。同时学习笔记也是你以后开发,面试的绝好资料。
学习编程,人跟人是不一样的,别人觉得难理解的东西,对你却不一定;而你觉得难理解的东西,别人可能又会觉得特简单。而学习笔记就是自己专有的“难点手册”,有点像高考时的“错题本”,以后无论是在面试前,还是在日常工作中,随时都可以翻出来看看,自是获益匪浅。
#.分门别类保存demo
学习笔记是很好的文字资料,但编程界有句话说的特别好,所谓“no code, no text”,意思就是说:千言万语都没有一段代码来的实在。
以我的经验,在你在学习的过程中,就某个知识点,无论当时理解的多透彻,调试的多棒,只要时间一长,等到了实用的时候,肯定会碰到各种各样的问题,一些看似简单的东西,此时死活就是调不通,正所谓人到事中迷。这个时候,如果你手头恰有运行良好的demo,打开参考一下(甚至直接拷贝过来),问题自然迎刃而解。而且因为这些demo都是你亲手调试出来,印象自然特别深刻,一碰到问题,在脑子中自会立刻涌现。
所以说,在学习的过程,一定要善待你调通的demo,千万不要用完了就扔,等后来碰到困难,想要用时却找不到,追愧莫及。正确的做法就是把所有调通的demo,分门别类的保存起来,到时候查起来自是得心应手。
人都说“书到用时方恨少”,其实代码也是这样,所谓“demo用时方恨少”。
2.Spring
目前在Java EE开发中,Spring已经成为和Java核心库一样的基础设施,所以说如果想成为一个合格的Java程序员,Spring肯定绕不开。另一方面,如果掌握了Spring体系,Java基本上就算入门了,就有能力进行一些实用级的开发了。
但Spring本身也是日渐复杂,衍生项目越来越多,但最最核心的概念依旧是IOC和AOP,掌握了这两个概念,再把Spring MVC学会,再学习其他的衍生项目就会平滑很多。
同时,因为Spring本身就应用了许多优雅的设计理念,所以学习Spring的过程,也是加强Java基础知识学习的过程。因此等你掌握了Spring,原来很多你理解不透彻的Java特性,此时就会恍然大悟,包括接口、抽象类等。
我学习Spring,读的第一本书是《Spring实战》,坦率的说,书很一般,但市面上比它好的书,我却没有遇到过。还有一本《Spring源码深度解析》也不错,对Spring的设计理念讲的尤其透彻,虽然整本书读起来有些艰涩,但前几章却生动有趣,也是整本书的精华。所以建议你在学习Spring之前,先把该书的前几章通读一下,然后再回过头来学习《Spring实战》会顺利很多。
以我经验,要学透Spring,终极的方法还是阅读源码(我当时就是这么干的),待把Spring的核心源码通读了,人就真的自由了(所谓无真相不自由),不仅是对Spring,而是对整个Java体系。以后再遇到其他框架,大概一眼就能看出其中的脉络,所谓到了“看山不是山”的境界。但这都是后话,可以作为以后你努力的方向。
和学习Java基础知识一样,学习Spring也一定要记笔记,一定要分门别类保存demo。
老实说,Spring对初学者不算简单,因此最好能有个好老师带一下,不用太长时间,2个课时即可,然后就是在你遇到大的困难时,能及时的点拨下。
以我的经验,要初步掌握Spring,大概需要1到1个半月的时间。
3.其他知识
Spring是Java编程的基础设施,但真要进入到实际项目的开发,还有些东西绕不过,包括 MySql,Mybatis,Redis,Servlet等,但如果你经过Spring的洗礼,这些东西相对就简单多了,以我的经验,1个月的时间足够了。
4.实践
学习Java,光学不练肯定是不行的。但因为是自学,所以就没有实际的产品让你练手,但也没有关系,谁大学还没有做过毕业设计呢?以我的经验,大家最爱的“学生管理系统”依旧是个很好的练手系统。
别看“学生管理系统”逻辑简单,但麻雀虽小五脏俱全,其中数据库设计、Mybatis,Spring、SpringMVC,Servlet、Tomcat一个都不缺,绝对的练手好伴侣。
还有,虽然你的学习重点在Java,因为要做一个完整的demo,前端的配合肯定少不了。因此就免少不了要学一些简单的JS、HTML知识,但因为前端本就是个很大的topic,所以一定要控制好边界,千万不要顾此失彼。就“学生管理系统”来说,在前端上,只要实现一个包含table、textbox、button,能发送REST请求到server,能实现学生的“增删改查”的简单页面即可。
作为一个练手项目,目标就是把Java的主要技能点串起来,所以自不求尽善尽美(也不可能),所以1个月时间足够了。
.最后
按照上面的过程,4个月的时间刚刚好。当然Java的体系是很庞大的,还有很多更高级的技能需要掌握,但不要着急,这些完全可以放到以后工作中边用别学。
学习编程就是一个由混沌到有序的过程,所以你在学习过程中,如果一时碰到理解不了的知识点,大可不必沮丧,更不要气馁,这都是正常的不能再正常的事情了,不过是“人同此心,心同此理”的暂时而已。
在日常的教学中,我常把下面这句话送给学员们,今天也把它送给你:
“道路是曲折的,前途是光明的!”
祝你好运!
java基础知识总结笔记和java理论知识总结面试的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!