您的位置:首页 > 职场人生

Java面试题总结(1)

2018-01-12 13:58 232 查看
一些知识盲点。

一、public、private、friendly(default)、protected的访问权限

1.public     java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包访问。

2.private    java语言中队访问权限限制最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象,其子类不能访问,更不允许跨包访问。

3.protected    java语言中介于public和private之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法以及子类访问。即使子类在不同的包中也可以访问。

4.(default)即不加任何访问修饰符,通常称为“默认访问模式”。该模式下,只允许在同一个包中进行访问。





二、finalize的用途
当垃圾回收器认为一个对象没有存在意义时,会调用该对象的这个方法,释放该对象在堆中占用的内存。此方法继承于始祖Object。

三、byte b=1; 则b=b+1和b+=1;哪个正确
前者错误,b+1中的b自动转型为int并+1结果为整型,但赋值给的b是byte型,丢失了精度,编译不通过;

后者正确,+=包含两步操作,先进行数值运算再类型转换,所以正确。

四、一个大于long型的超大整数,设计一种数据结构储存它,同时设计一种算法对其进行加减运算
使用String字符串储存这种整数,如String s=new String("123456789123456789123456789");

加法运算思路:首先比较两个字符串哪个更长哪个更短,计算出两者相差的长度,并在较短的字符串的左边加一串此长度的零字符串使两个字符串相等,再将两个字符串由右边第一位开始转换为数字进行运算,知道i为0为止,同时使用一个整型变量储存进位。具体代码可以参考其他文章。

五、servlet生命周期
Servlet 是在服务器上运行的小程序。Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。

1,初始化阶段 :调用init()方法    

2,响应客户请求阶段:调用service()方法    

3,终止阶段:调用destroy()方法

六、js中的INCLUDE关键字

七、Class.forName()作用

主要功能:Class.forName(xxx.xx.xx)返回的是一个类、Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,

也就是说JVM会执行该类的静态代码段。

A a = (A)Class.forName(“pacage.A”).newInstance();      这和你 A a = new A(); 是一样的效果。

newInstance( )是一个方法,而new是一个关键字;

其次,Class下的newInstance()的使用有局限,因为它生成对象只能调用无参的构造函数,而使用 new关键字生成对象没有这个限制。

简言之:

newInstance(): 弱类型,低效率,只能调用无参构造。

new: 强类型,相对高效,能调用任何public构造。

Class.forName(“”)返回的是类。

Class.forName(“”).newInstance()返回的是object 。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: