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

记录下java面试题

2017-07-21 16:54 176 查看
会不时更新问题和答案

1:简单讲解一下死锁

       假设存在两个线程和两个资源,线程1锁住了A,还需要锁住B,线程2锁住了B,但是还需要锁住A。这两个线程都不肯放弃现有的资源,同时这两个线程必须要锁住两个资源后才执行,这样就永远也结束不了,造成了死锁

2:URL解码和URL编码

3:查询相同身份证号码的单号的身份证号和数量。(很重要,很重要,很重要)

      select idCard,count(idcard) from table group by idcard having count(idCard)>1    这里顺便提一下,group by后获取的是分组后的第一条数据。

4:守护线程

     必须等其他的用户线程执行完毕后,这时候jvm才会停止,守护线程也就自己停止了。

5:static 代码块,构造函数代码块,构造函数的执行顺序。

      static代码块是在类加载的时候执行的,只会执行一次。而构造函数代码块和构造函数是在创建对象的时候,构造函数代码块大于构造函数。

6:类加载是在什么时候?

      类加载并没有明确的说明,类的加载是通过类加载器(Classloader)完成的,它既可以是饿汉式[eagerly load](只要有其它类引用了它就加载)加载类,也可以是懒加载[lazy load](等到类初始化发生的时候才加载)。不过我相信这跟不同的JVM实现有关,然而他又是受JLS保证的(当有静态初始化需求的时候才被加载)。

7:创建对象的方式。

      通过new 的方式。

      通过反射,class.forname().newInstance

      通过序列化

      通过clone,对象重写clone方法。然后调用。clone有深复制,和浅复制。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: