java学习总结(基础加web).docx





《java学习总结(基础加web).docx》由会员分享,可在线阅读,更多相关《java学习总结(基础加web).docx(58页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、java学习总结(基础加web) java学习总结(基础加web)Java考试题Java基础部分1、请简要描述oop的主要特征,并谈谈对这些特征的理解。Oop主要特征:抽象,封装,继承,多态;抽象:忽视与当前主题无关的部分,抓住重点封装:运用方法将类的属性隐藏起来,限制用户对类的修改和数据访问的程度,继承:子类继承父类的方法和属性,使程序结构清楚,提高挨骂复用,一种isa的关系。多态:不同对象对统一消息进行回应。一种多种同名方法共存2、char型变量中能不能存贮一个中文汉字?为什么?能,java中编码方式是unicode,char占2个字节,一个汉字刚好两个字节所以可以3、shorts1=1;
2、s1=s1+1;有什么错?shorts1=1;s1+=1;有什么错?错,须要强制转型为short,+=是java定义的运算符故编译是jvm会自动处理4、请说明break,continue,return的作用。Break,可用于switch分支一条case语句结束以后,可用于跳出循环Contiue:用于跳出里层循环Return:也可用于终止循环,有返回类型的方法是用与返回5、用abstract修饰符修饰的类和方法有什么特点?修饰的类为抽象类,包含有抽象方法,修饰的方法,为抽象方法只有方法体而没有详细实现6、protect修饰的方法与不加任何修饰的方法有什么不同?加上为修饰后访问为同一包中和该类的
3、子类,不加为默认的包访问权限。7、什么是对象?什么是类?它们之间有什么关系对象:具有某些属性和行为的名词,类:具有相同属性以及相同行为的一组对象,关系:对象是类的实例化8、请描述对象的初始化依次。对象初始化依次:加载类,安排内存空间,清零,加载变量然后方法。先父类静态变量,父类静态块,子类静态成员变量,子类静态块,父类非静态变量,父类构造函数,子类非静态变量,子类构造函数9、什么是继承?继承的特性可给面对对象编程带来什么好处?继承:子类继承父类的方法和属性,使程序结构清楚,提高代码复用,一种isa的关系。10、什么是方法的覆盖?与方法的重载有何不同?方法的覆盖与属性的隐藏有何不同?方法覆盖:子
4、类重写与父类同名的方法,拥有相同的参数名和返回值,多态的一种体先,重载:具有相同的方法名但是有不同的返回类型或参数。属性隐藏:子类定义与父类同名的属性,父类的属性就会被隐藏。11、请简述接口和抽象类的区分。并分别举例说明应用场景。接口:接口中全是抽象方法,若一个类实现这个接口就必需是先接口中全部的方法。关键字implements和interface抽象类:用关键字abstract修饰,包含抽象方法(仅有方法体而没有详细实现),可以包含一般方法和构造方法,运用时不能用new创建实例12、说出ArrayList,Vector,LinkedList的存储性能和特性ArrayList和Vector都是
5、集合,按数组的方式存储,查找比较快,vector是线程平安的,但效率上低于arraylist,Linkedlist:链式集合双向链表,按序号索引数据进行向前向后遍历,所以插入和删除数据最快。13、请说明Collection和Collections的区分。Collection是一个j集合的接口,set和list都实现这个接口Collection:是针对集合类的一个帮助类,他供应一系列静态方法实现对各种集合的搜寻、排序、线程平安化等操作14、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?hashset我们自己区分的时候利用迭代器iterator,内部利用hashcode然后equal
6、s方法实现区分是否重复。15、Error和Exception它们继承自哪个类?有什么区分?继承Throwable这个类,区分:error错误,一般来说很难回复,如内存溢出,exception,则为程序正常运行时恒久不会发生的的异样,程序员须要处理。16、什么状况出现NullPointerException异样?怎样处理?运用一个对象是,对象为null,在适用对象前进行推断17、请列举Java类中的方法修饰符,并简述其含义。18、try里有一个return语句,那么紧跟在这个try后的finally里的code会不会被执行,什么时候被执行,在return前还是后?会,在return前19、Jav
7、a中如何读写文件,请写出Java代码实现读写文件的基本过程。20、常见的xml解析方式有哪些?区分是什么?Sax,dom:dom一次性全部读取xml文件,创建一个一颗文档树,故读取大文件是熟读缓慢21、简要描述数据库连接池的工作机制,并列出访用数据库连接池的优点。程序运行时,创建肯定数量的池连接,比在以后维持不少于这个数量的连接。提高程序运行的效率22、对于一个Linux吩咐,可以通过哪些方法了解其详细的运用方法。Help,info,man,运用格式helpls;lshelp;infols;manls;23、Linux系统中,请简要描述文件和书目的访问权限的9个权限位的作用,请列举修改权限的吩
8、咐。Xxxxxxxxx;前三位表示全部者的可读可写可操作权限,中间全部者的所在用户组;后三位是其他用户,Chmod777要更改权限的对象。24、数据库中,什么叫视图(View),什么叫索引(Index)?什么状况下会用到索引,视图的主要作用有哪些。视图:一张虚拟的逻辑表。并不包含实际的数据,相当于一个窗口,可通过该窗口对数据进行查询和修改。作用:使困难查询变得简单,供应数据独立性,限制数据访问。索引:帮助查找数据。用指针加速取回数据。Javaweb部分1、请简述对J2EE的理解。由sun公司供应的一种企业级基于组件的java开发规范。J2EE定义了13种组件如servlet,jsp,jdbc等
9、。2、简要描述对mvc的理解,并举例说明在项目中的实现思路Mvc是一种开发模式,优点:耦合性低,可维护性高。,分别代表三个单词:Modle,Veiw,Control,模型层限制程序的业务逻辑,视图层,是接受用户输入和显示数据给用户与用户交互,限制层:限制程序走向,模型层与视图层的中间桥梁。3、Javascript有什么特点?并说明其主要用途。Javascript:一种脚本语言,是基于事务的面对对象语言,弱数据类型,平安,运行速度快,有强大的函数库,主要用途:客户端验证用户输入,给用户动态的提示。美化页面。4、什么是servlet容器?它的作用是什么?Servlet容器:用于创建和维护servl
10、et,供应一个运行环境给servlet的东西。5、请描述servlet的生命周期以及在每个阶段所调用的方法。实例化:有容器进行。初始化:调用init()方法。处理恳求:依据恳求方式的不同调用service()中的不同方法如:doget,dopost。销毁:调用destroy方法。6、怎样在web.xml文件中注册一个servlet?主要两大块:7、请描述在servlet中forward和redirect的区分与联系。Forword:恳求转发,服务器跳转,一次恳求,地址栏不变更,request对象中的信息不丢失。Redirect:恳求重定向,客户端跳转,两次恳求,地址栏变更,request对象中
11、的信息丢失。8、请描述jsp的执行过程。Jsp执行经过两个阶段:1、转译阶段,将jsp转译为servlet,2、编译servlet,生成.class文件,3、调用.class文件生成html页面显示给用户。9、如何执行一个线程平安的JSP?10、Jsp的9个内置对象是什么?他们分别有什么作用。Jsp九大内置对象:page,request,response,session,application,pagecontext,config,exception,out。四个域对象:out输出信息,e:处理异样,config:拿到一些配置信息。11、请列举出至少5个request对象的常用的方法。12、J
12、sp的四个域对象是什么?他们的域指的是什么?Page,requerst,session、,application,域表示有效时间,及在什么范围内有效。13、请列列举四个jsp指令,并说明它们的含义。Page:设置页面属性,taglib,:标签指令,include:包含指令。14、Jsp有哪些动作?作用是什么?15、请描述Jsp和servlet的区分与联系。16、请说出在jsp中静态包含和动态包含技术的异同点。静态是先包含再执行,动态为先执行在编译。17、在JSP开发过程中,对于同一个用户的会话,要想在不同的页面之间共享数据,可以有几种选择?请一一列举Request,session,applic
13、ation,cookie,重写地址栏,隐藏域。18、请说明过滤器的工作原理以及重要的接口。过滤器:当一个恳求到达是过滤器会进行拦截,服务器响应消息时也会同样拦截。依据编写的故偶滤器确定是否放行和是否要做相应的处理。重要接口:filter,filterchain,filterconfig。19、什么是监听器?它的作用是什么,请举例说明。监听器是:特地用于对其他对象身上发生的事务或状态变更进行监听和相应处理的对象,当被监视的对象发生状况时。监听域对象自身的创建和销毁的事务监听器监听域对象中的属性的增加和删除的事务监听器监听绑定到HttpSession域中的某个对象的状态的事务监听器20、运用htt
14、p传输协议将客户端的恳求传送至服务器端最常用的是哪两种方式,他们的区分是什么。Get,post,Get:方式相对来说速度较快,当传输的数据量要小于1kb,传输的信息会在地址栏显示,平安性存在隐患。Post:比get方式平安,传递的数据量也比之要大。21、简述struts2的工作流程。Struts2:核心为一个过滤器,当一个恳求到达的时候,服务器对之进行拦截,参考struts.xml文件,找寻到对应配置的action,找寻到action类,对恳求做出相应的处理。处理完后返回一个String,参考struts.xml文件中的配置的result显示相应的页面给用户22、Struts2配置文件stru
15、ts.xml中有哪些常用的配置项,它们分别有什么作用?23、请说明在ognl表达式中#、$、%的作用。Ognl表达式:#是取非valuestack中的值时运用,如request.还有操作集合是时也可以用到。$配置文件中那取action中的值是会运用到。国际化资源文件中引用ognl表达式%当强制声明为ognl表达式或字符串是会运用到24、写出3组常见的Struts标签,并简述其作用。25、valuestack是什么?它的作用是什么?在页面中怎样访问?Struts的值栈,存放一些恳求响应信息,干脆访问。26、请简要描述Struts2中拦截器的主要作用、配置及执行流程。拦截器,servlet中的过滤
16、器相像,当客户端恳求到达是经过拦截器,响应是也会经过,是一种aop的思想。配置:interceptorServlet是线程担心全的,采纳多线程的方式调用service方法。CGI就是单线程,所以servlet比之效率高。Servlet实现单线程的方法:实现singleThreadmodel。创建线程的两种方式:继承Thread这个类,或实现runnable这个接口,启动线程:statrt(),启动后会调用run方法。Sleep和wait()区分:sleep不会释放锁。Wait()释放锁,必需有notify()唤醒。多线程中实现线程平安:利用关键字synchronized,一把锁,实现同步。死锁
17、的条件:互斥条件,不行剥夺资源,循环等待,恳求与保持条件。反射:加载驱动,Class.forName(类的完整类名)通过一个class对象拿到其相应的方法属性。组件:就是对数据和方法进行了简洁封装。扩展阅读:Java web入门实战总结呕心呖血之作1.Java基础增加1.1Eclipse运用最佳实践1.1.1常用快捷键Ctrl+1Ctrl+D:快速修复(最经典的快捷键,就不用多说了)删除当前行复制当前行到下一行(复制增加)复制当前行到上一行(复制增加)当前行和下面一行交互位置(特殊好用,可以省去先剪切,再粘贴了)当前行和上面一行交互位置(同上)前一个编辑的页面下一个编辑的页面(当然是针对上面那
18、条来说了)显示当前选择资源(工程,or文件or文件)的属性Ctrl+Alt+↓Ctrl+Alt+↑Alt+↓Alt+↑Alt+←Alt+arr;Alt+EnterShift+Enter在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不肯定是最终)Shift+Ctrl+Enter在当前行插入空行(原理同上条)Ctrl+QCtrl+LCtrl+MCtrl+/Ctrl+OCtrl+TCtrl+WCtrl+KCtrl+E定位到最终编辑的地方定位在某行(对于程序超过100的人就有福音了)最大化当前的Edit或View(再按则反之)注释当前行,再
19、按则取消注释快速显示OutLine快速显示当前类的继承结构关闭当前Editer参照选中的Word快速定位到下一个快速显示当前Editer的下拉列表(假如当前页面没有显示的用黑体表示)Ctrl+Shift+X把当前选中的文本全部变味小写Ctrl+Shift+YCtrl+Shift+F把当前选中的文本全部变为小写格式化当前代码下面的是重构的时候用得到的:Alt+Shift+R重命名(是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节约许多劳动力)Alt+Shift+M抽取方法(这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)Alt+Shift+CAlt+Shift+L
20、修改函数结构(比较好用,有N个函数调用了这个方法,修改一次搞定)抽取本地变量(可以干脆把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)Alt+Shift+FAlt+Shift+IAlt+Shift+VAlt+Shift+Z把Class中的local变量变为field变量(比较好用的功能)合并变量(可能这样说有点不妥Inline)移动函数和变量(不怎么常用)重构的懊悔药(Undo)1.1.2模块分别在实际的开发中,尽量让工作空间(workspace)和项目(Project)分别开来,开发中运用统一的编码,一般都设置成UTF-8(window->preference->ge
21、neral->workspace)在开发过程中,要把项目源码包和测试的源码包分别开来,因为测试代码是不须要发布的,另外,要把测试代码和项目代码的编译输出书目分别开来。1.1.3调试断点关于Eclipse的调试,设置断点,可以通过Run->removeallbreakpoint移除全部的断点这个主要是在web开发的时候,tomcat自动会停在断点的地方,这个时候就须要移除全部断点。1.2Java基础学问1.2.1静态导入示例:importstaticorg.junit.Assert.*这里表示把Assert类的全部静态方法引入,在本文件中假如要运用Assert的静态方法就可以不用As
22、sert了。1.2.2可变参数publicstaticintsum(Stringaction,int.params)这里就表示可变参数,可变参数必需是最终面的,因为假如不放在后面,就无法区分后面的参数究竟是什么了。/Dosomethinghere1.2.3foreach这种方式的循环,强调的是元素本身,其底层是有迭代器(Iterator)实现的,须要进行对象的同步,所以在效率上比一般的for循环要低。在运用foreach循环的时候,与奥留意的是修改问题,因为同步的关系,这可能会带来一些问题,一般来说,建议假如在须要修改元素的状况下,运用一般的for循环。1.2.4拆箱&装箱须要留意的是
23、:对于:Integera=128;Integerb=128;在-127到128之间的话,a=b是true,否则是false即a、b引用一样,请看下面的例子:Integera=128;Integerb=128;System.out.println(a=b);/falsea=-128;b=-128;System.out.println(a=b);/truea=-129;b=-129;System.out.println(a=b);/falsea=127;b=127;System.out.println(a=b);/true1.2.5反射获得Class的几种方式:假设有类:edu.zhku.cian
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 学习 总结 基础 web

限制150内