java面试小结(精选4篇)
java面试小结 篇1
答:vector是线程安全的,而ArrayList则是线程不安全的,但执行效率较高,视具体情况而定用哪一种;
HashMap是非线性安全的允许使用null键和null值,而HashTable则不能,基本上hashMap替代了HashTable.3,char型变量能不能定义为一个中文?为什么? 能,用unicode码实现
4,多线程有几种表示方法,都是什么?同步有几种实现方法,都是什么?
口,答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接同步的实现方面有两种,分别是synchronized,wait与notify 5,继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么? 6,内部类的实现方式? 内部类分为四种:
1.成员内部类 2.局部内部类 3.静态内部类 4.匿名内部类
7,垃圾回收机制,如何优化程序?
虽然程序员无法控制JVM的垃圾回收机制。但是可以通过编程的手段来影响,影响的方法是,让对象符合垃圾回收条件。
例如声明int型变量时,可以这样,Integer a = new Integer(47);最后a = null;就符合jvm回收机制了。8,float型float f=3.4是否正确? 不正确。精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4 或float f = 3.4f 在java里面,没小数点的默认是int,有小数点的默认是 double;Jsp方面
1,jsp有哪些内置对象?作用分别是什么?
1、request对象:客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。
2、response对象:response对象包含了响应客户请求的有关信息。
3、session对象:session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。
4、out对象:是向客户端输出内容常用的对象
5、page对象:page对象就是指向当前JSP页面本身,有点象类中的this指针。
6、application对象:application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。
7、exception对象:exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。
8、pageContext对象:pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本 类名也叫pageContext。
9、config对象:config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)。
2,jsp有哪些动作?作用分别是什么? 答:JSP共有以下6种基本动作
jsp:include:在页面被请求的时候引入一个文件。
jsp:useBean:寻找或者实例化一个JavaBean。
jsp:setProperty:设置JavaBean的属性。
jsp:getProperty:输出某个JavaBean的属性。
jsp:forward:把请求转到一个新的页面。
jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记
3,include的两种实现方式的区别? 以下是对include 两种用法的区别 主要有两个方面的不同;一:执行时间上:
<%@ include file=”relativeURI”%> 是在翻译阶段执行
在请求处理阶段执行.二:引入内容的不同:
<%@ include file=”relativeURI”%>
引入静态文本(html,jsp),在JSP页面被转化成servlet之前和它融和到一起.引入执行页面或servlet所生成的应答文本.另外在两种用法中file和page属性都被解释为一个相对的URI.如果它以斜杠开头,那么它就是一个环境相关的路径.将根据赋给应用程序的URI的前缀进行解释,如果它不是以斜杠开头,那么就是页面相关的路径,就根据引入这个文件的页面所在的路径进行解释.4,两种跳转方式分别是什么?有什么区别? 页面有两种方式:
1.forward跳转:
2.response跳转:response.sendRedirect(“跳转页面地址”);
forward跳转:服务器端跳转,地址栏不改变;
response跳转:客户端跳转,地址栏改变;
request.getRequestDispatcher(“/message.jsp”).forward(request, response);Servlet方面:
1,说一说Servlet的生命周期? servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣
运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。
2,Servlet版本间(忘了问的是哪两个版本了)的不同? Jdbc,Jdo方面
1,可能会让你写一段Jdbc连Oracle的程序.2,Class.forName的作用?为什么要用? 3,Jdo是什么? JDO是Java对象持久化的新的规范,为java data object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。JDO提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO很灵活,因为它可以在任何数据底层上运行。JDBC只是面向关系数据库(RDBMS)JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强 Xml方面
1,xml有哪些解析技术?区别是什么? SAX 边读边解析,它只知道当前读到的元素,不知道其前后关系的元素,比较省内存
DOM 把整个文档读入内存,可以知道所有元素之间的关系,比较耗内存。2,你在项目中用到了xml技术的哪些方面?如何实现的? 用到了数据存贮,信息配置两方面。在做数据交换平台时,将不能数据源的数据组装成XML文件,然后将XML文件压缩打包加密后通过网络传送给接收者,接收解密与解压缩后再同XML文件中还原相关信息进行处理。在做软件配置时,利用XML可以很方便的进行,软件的各种配置参数都存贮在XML文件中 3,用jdom解析xml文件时如何解决中文问题?如何解析? EJB方面
1,EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的区别? MVC方面
1,MVC的各个部分都有那些技术来实现?如何实现? 设计模式方面: 1,开发中都用到了那些设计模式?用在什么场合? JavaScript方面 1,如何校验数字型? CORBA 1,CORBA是什么?用途是什么? 以上就是我的总结,可能不是全部,因为时间问题,如果能够记起来,我会再加上,有些问题描述的可能不准确,希望大家批评指正,问题都很基础,即使不知道,花上一点时间查找(csdn/java版)就能弄懂,希望对正在找工作的朋友有所帮助,有所提醒.一份正确率很高的笔试卷可能会为你的面试减轻负担,少问不少问题.当然我还是要提醒从
Java陷阱一箩筐—-面试题集 找工作要面试,有面试就有对付面试的办法。以下一些题目来自我和我朋友痛苦的面试经历,提这些问题的公司包括IBM, E*Trade, Siebel, Motorola, SUN, 以及其它大小公司。
面试是没什么道理可讲的,它的题目有的不合情理、脱离实际。有在纸上写的,有当面考你的,也有在电话里问的,给你IDE的估计很少(否则你赶快去买彩票,说不定中)。所以如果你看完此文后,请不要抱怨说这些问题都能用IDE来解决。你必须在任何情况下准确回答这些问题,在面试中如果出现一两题回答不准确很 有可能你就被拒之门外了。当然这些都是Java的基本题,那些面试的人大多数不会问你Hibernate有多先进,Eclipse的三个组成部分,或command design pattern,他们都是老一辈了,最喜欢问的就是基础知识。别小看了这些基础,我朋友水平一流,结果就栽在一到基础知识的问题下,和高薪无缘。好了废话少说,开始正题。
第一,谈谈final, finally, finalize的区别。最常被问到。
第二,Anonymous Inner Class(匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。
第四,&和&&的区别。这个问得很少。
第五,HashMap和Hashtable的区别。常问。
第六,Collection 和 Collections的区别。你千万别说一个是单数一个是复数。第七,什么时候用assert。
API级的技术人员有可能会问这个。第八,GC是什么? 为什么要有GC? 基础。GC:Java的垃圾回收器。
Java是由C++发展来的。它摈弃了C++中一些繁琐容易出错的东西。其中有一条就是这个GC。
写C/C++程序,程序员定义了一个变量,就是在内存中开辟了一段相应的空间来存值。内存再大也是有限的,所以当程序不再需要使用某个变量的时候,就需要释放这个内存空间资源,好让别的变量来用它。在C/C++中,释放无用变量内存空间的事情要由程序员自己来解决。就是说当程序员认为变量没用了,就应当写一条代码,释放它占用的内存。这样才能最大程度地避免内存泄露和资源浪费。但是这样显然是非常繁琐的。程序比较大,变量多的时候往往程序员就忘记释放内存或者在不该释放的时候释放内存了。而且释放内存这种事情,从开发角度说,不应当是程序员所应当关注的。程序员所要做的应该是实现所需要的程序功能,而不是耗费大量精力在内存的分配释放上。
Java有了GC,就不需要程序员去人工释放内存空间。当Java虚拟机发觉内存资源紧张的时候,就会自动地去清理无用变量所占用的内存空间。当然,如果需要,程序员可以在Java程序中显式地使用System.gc()来强制进行一次立即的内存清理。
第九,String s = new String(“xyz”);创建了几个String Object? 第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 第十一,short s1 = 1;s1 = s1 + 1;有什么错? short s1 = 1;s1 += 1;有什么错? 面试题都是很变态的,要做好受虐的准备。第十二,sleep()和 wait()有什么区别? 搞线程的最爱。
第十三,Java有没有goto? 很十三的问题,如果哪个面试的问到这个问题,我劝你还是别进这家公司。第十四,数组有没有length()这个方法? String有没有length()这个方法? 第十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? 常问。
菜鸟 的java学习小结 篇2
一、7月11日
1.DOS命令
dir指令:显示文件; help指令:显示命令条数;
ipcofig指令:显示计算机的ip地址等信息。2.java的理论概括
面向对象:对现实世界进行抽象概括;
跨平台性:java虚拟机的不夸平台实现了java语言的跨平台性。
二、7月12日
1.右击sourceGenerate Getters and Setters„
自动生成get和set方法 2.1个字节=8位 char 1个字节 int 4个字节 3.java的构成
数据类型、变量、运算符、控制流语句 4.基本数据类型:
byte、char、boolean、short、int、long、float、double 引用数据类型:
数组、类(包括基本数据的引用类型)、接口
5.I/O阻塞 System.in.read()第一种用法:
int c=System.in.read();System.out.println((char)c);第二种用法:
Scanner s=new Scanner(System.in);String name=s.nextLine();
int age=s.nextInt();6.InputStreamReader bi=new InputStreamReader(System.in);BufferedReader br=new BufferedReader(bi);String s=br.readLine();7.把字符串类型的b转换为整型 int a=Integer.parseInt(b)8.设置智能提示
WindowPreferences输入“editor”JavaEditorContentAssist(在写“.”的框里写个特殊字符,以便在导出的文件中便于查找)导出(FileExportPreferences„)修改(找到带点的地方,输入24个字母的大小写)导入(FileImportPreferences„)9.导出jar包操作
ExportJava Jar选工程、保存位置选main class 创建快捷方式输入“java –jar D:ss.jar(路径)” 或者直接导出单独的可运行程序(xx.jar)10.数据类型转换
自动类型转换的条件:两种类型兼容、目标类型大于源类型。11.eclipse使用技巧: “Ctrl”+“/”
“Alt”+“/”
“Alt”+小键盘
多行注释或者取消注释 跳出提示 ASCⅡ码输入法
syso+“Alt”+“/” 输出System.out.println()main+“Alt”+“/” 输出public static void main(String[] args)
三、7月13日
1.编译器代表一个可执行文件,如javac 2.Override 重写、覆盖 重新定义
Overload 重载 一个类中存在多个同名方法 3.char c=s.charAt(0);把字符串s的第0个字符转换为char型,赋给c
4.“ctrl”+“shif”+“F”
右击sourceFormat
自动对齐
四、7月14日
1.List list=new ArrayList();List.add(“hello”);代表列表list中元素的类型,此处为字符串 2.abc:while(){„{„break abc„}„} abc表示标号 3.OOP:面向对象编程 OOA:面向对象分析 OOD:面向对象设计
4.消息指一个对象为执行某项特定操作而向另一个对象传递的数据
5.javascript如果要在声明框架的网页(框架网页)中插入,就一定要在