Java常考面试题整理(三)
明天又要去面试,Good luck to me.,让我在这段时间换个新的工作吧.
41.在Java中,对象什么时候可以被垃圾回收?
参考答案:
当对象对当前使用这个对象的应用程序变得不可触及的时候,这个对象就可以被回收了.
42.JVM的永久代中会发生垃圾回收么?
参考答案:
垃圾回收不会发生在永久代,如果永久代满了或者是超过了临界值,会触发完全垃圾回收(Full GC).如果你仔细查看垃圾收集器的输出信息,就会发现永久代也是被回收的.这就是为什么正确的永久代大小对避免Full GC是非常重要的原因.
43.Java中的两种异常类型是什么?他们有什么区别?
参考答案:
Java中有两种异常:受检查的(checked)异常和不受检查的(unchecked)异常.不受检查的异常不需要在方法或者构造函数上声明,就算方法或者是构造函数的执行可能会抛出这样的异常,并且不受检查的异常可以传播到方法或者是构造函数的外面.相反,受检查的异常必须要用throws语句在方法或者是构造函数上声明.
44.Java中的Exception和Error有什么区别?
参考答案:
Exception和Error都是Throwable的子类.Exception用于用户程序可以捕获的异常情况,Error定义了不期望被用户程序捕获的异常.
45.throw和throws有什么区别?
参考答案:
throw关键字用来在程序中明确的抛出异常,相反,throws语句用来表示方法不能处理的异常,每一个方法都必须要制定哪些异常不能处理,所以方法的调用着才能确保处理可能发生的异常,多个异常使用逗号分割的.
46.异常处理完成以后,Exception对象会发生什么变化?
参考答案:
Exception对象会在下一个垃圾回收过程中被回收掉.
47.finally代码块和finalize()方法有什么区别?
参考答案:
无论是否抛出异常,finally代码块都会执行,它主要是用来释放占用的资源.finalize()方法是Object类的一个protected方法,她是在对象被来及回收之前由Java虚拟机来调用的.
48.什么是Applet?
参考答案:
java applet是能够被包含在HTML页面中并且能被启动了java的客户端浏览器执行的程序.Applet主要用来创建动态交互的web应用程序.
49.解释一下Applet的生命周期
参考答案:
applet可以经历下面的状态:
Init:每次载入的时候都会被初始化.
Start:开始之I型那个applet,
Stop:结束执行applet.
Destory:卸载applet之前,做最后的清理工作.
50.当applet被载入的时候会发生什么?
参考答案:
首先创建applet控制了的实例,然后初始化applet,最后开始运行.
51.Applet和普通的Java应用程序有什么区别?
参考答案:
applet是运行在启用了java的浏览器中,Java应用程序是可以在浏览器之外运行的独立的Java程序.但是,他们都需要有Java虚拟机.进一步来说,Java应用程序需要一个特定方法签名的main函数来开始执行.Java applet不需要这样的函数来开始执行.
最后,Java applet一般会使用很严格的安全策略,Java应用一般使用比较宽松的安全策略.
52.Java applet有哪些限制条件?
参考答案:
主要是由于安全的原因,给applet施加了以下的限制:
applet不能够载入类库或者定义本地方法.
applet不能再宿主机上读写文件.
applet不能读取特定的系统属性.
applet不能法器网络连接,除非是跟宿主机.
applet不能够开启宿主机上其他任何的程序.
53.什么是不受信任的applet?
参考答案:
不受信任的applet是不能访问或者执行本地系统文件的Java applet,默认情况下,所有下载的applet都是不受信任的.
54.从网络上加载的apple和从本地文件系统加载的applet有什么区别?
参考答案:
当applet是从网络上加载的时候,applet是由applet类加载器载入的,它受applet安全管理器的限制.
当applet是从客户端的本地磁盘载入的时候,applet是由文件系统加载载入的.
从文件系统载入的applet允许在客户端读文件,写文件,加载类库.并且也允许之I型那个其他程序,但是,却通不过字节码校验.
55.applet类加载器是什么?它会做哪些工作?
参考答案:
当applet是从网络上加载的时候,它是由applet类加载器载入的.类加载器有自己的java名称空间等级结构.类加载器会保证来自文件系统的类有唯一的名称空间.来自网络资源的类有唯一的名称空间.
当浏览器通过网络载入applet的时候,applet的类被放置于和applet的源相关联的名称控件中,然后,哪些被类加载器载入进来的类都是通过了验证器验证的.验证器会检查类文件格式时候遵守Java语言规范,确保不会出现堆栈溢出(stack overflow)或者下溢(underflow),传递给字节码指定的参数是正确的.
56.applet安全管理器是什么?它会做哪些工作?
参考答案:
applet安全管理器是给applet施加限制条件的一种机制.浏览器可以只有一个安全管理器,安全管理器在启动的时候被创建,之后不能被替换覆盖或者是拓展.
57.弹出式选择菜单(Choice)和列表(List)有什么区别
参考答案:
Choice是以一种紧凑的形式展示的.需要下拉才能看到所有的选项.Choice中一次只能选中一个选项,List同时可以有多个元素可见,支持选中一个或者多个元素.
58.什么是布局管理器?
参考答案:
布局管理器用来在容器中组织组件.
59.滚动条(Scrollbar)和滚动面板(JscrollPane)有什么区别?
参考答案:
Scrollbar是一个组件,不是容器.而Scrollpane是容器,ScrollPane自己处理滚动事件.
60.哪些Swing的方法是线程安全的?
参考答案:
只有3个线程安全的方法:repaint(),revalidate(),invalidate().
Java常考面试题整理(三)的更多相关文章
- Java常考面试题整理(四)
有关所有Swing相关的面试题,都可以说是凑数的,感觉自己在敲这些的时候感觉一点用处都没有,可以从第72条开始看. 61.说出三种支持重绘(painting)的组件. 参考答案: Canvas,Fra ...
- Java常考面试题整理(六)
101.HTTP相应的结构是怎么样的? 参考答案: HTTP相应由三个部分组成: 1.状态码(status code):描述了相应的状态,可以用来检查是否成功的完成了请求.请求失败的情况下,状态码可以 ...
- Java常考面试题整理(五)
81.RMI中的远程接口(Remote Interface)扮演了什么样的角色? 参考答案: 远程接口用来标识哪些方法是可以被非本地虚拟机调用的接口.远程对象必须要直接或者是间接实现远程接口.实现了远 ...
- Java常考面试题整理(一)
1.什么是java虚拟机?为什么java被称作是"平台无关的编程语言". 参考答案: java虚拟级是一个可以执行java字节码的虚拟机进程,java源文件被编译成能被java虚拟 ...
- Java常考面试题整理(二)
21.Iterator和ListIterator的区别是什么? 参考答案: 下面列出了他们的区别: Iterator可以用来遍历Set和List集合,但是ListIterator只能用来遍历List. ...
- Java常考面试题
Java常考面试题 1. 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? 答:Java虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Java虚拟机执行 ...
- Java常考面试题(三)
序言 说说今天遇到的一件小事吧,在遇到问题,查找答案时,看到很多人的博客里面都有提到关键字眼,可让人觉得可恨的是,大多数人写的博文中,基本上都是照着书上的语言发表的,看了跟没看一样,没有一点通俗的语言 ...
- Java常考面试题(二)
序言 昨天刚开始的”每日5题面试“这类文章,感觉还不错,把一些平常看似懂了的东西,弄清楚了.就像什么是虚拟机?这个问题,看起来知道,但是要说出个所以然来,又懵逼了,经常回过头来看看做过的面试题,试着用 ...
- Java常考面试题(二)(转)
序言 昨天刚开始的"每日5题面试"这类文章,感觉还不错,把一些平常看似懂了的东西,弄清楚了.就像什么是虚拟机?这个问题,看起来知道,但是要说出个所以然来,又懵逼了,经常回过头来看看 ...
随机推荐
- 正则替换replace中$1的用法
一.repalce定义 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 1 2 3 4 5 stringObject.replace(regexp/substr,repla ...
- Linux: df du
df :列出文件系统的整体磁盘使用量 du :评估文件系统的磁盘使用量(常用在推估目录所占容量) 1 df :[-ahikHTm] 目录或文件名 选项或参数: -a: 列出所有的文件系统,包括系统 ...
- osworkflow 入门基础2
[quote]前篇我引入了互联网上找来的一篇文章,接着上篇讲:osworkflow 工作流是非常轻量级的,虽然2006就停止活动了,互联网上的资料也不是很多,官网也没过多的说明,比起jbpm 和act ...
- 架构师成长之路5.7-Saltstack数据系统
点击架构师成长之路 架构师成长之路5.7-Saltstack数据系统 1. Saltstack的两种数据系统 Grains Pollars 2. Saltstack数据系统---Grains Grai ...
- 标准C语言(2)
字符类型名称是char,这个类型里一共包含256个不同的整数,每个整数代表一个字符(例如'a', '&'等),这些整数和字符可以互相替代,ASCII码表记录了所有整数和字符之间的对应关系 'a ...
- 清北学堂dp图论营游记day2
上午讲数位dp和背包问题. 先讲背包: 完全背包:换了个顺序: 多重背包: 多重背包优化: 这样把每个物品分成这些组,那么把他们转变成不同的物品,就变成了01背包问题: 滑动窗口取最值问题.单调队列优 ...
- python生成器并行实例
生成器并行实例: send发送值被yield接受到赋值给baozi变量 #yield作用只是在这里保存这个值的当前状态然后返回之后在调用next,又回到yield #单纯调用next不会给yield传 ...
- GCD实战之多个网络请求的并发
// 创建信号量 dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); // 创建全局并行 dispatch_queue_t q ...
- springboot rabbitmq direct exchange和topic exchange 写法上关于路由键的区别
这是direct exchange写法中消息发送写法,可见下图红色框中路由键是queue队列中定义的路由键 这是topic exchange写法中消息发送写法,可见下图红色框中路由键是exchange ...
- poj2182 Lost Cows[BIT二分]
blog题解鸽了许久了..本来说好的切一题写一个题解的说 一个$1 \sim n$数列,已知每个数前面比他小的数个数,试确定该序列. 相当的一道水题.可以发现数列最后一个数是首先可以确定下来的.然后把 ...