zoukankan      html  css  js  c++  java
  • java面试题(摘录)

    1.抽象,继承,封装,多态

    2.基本数据类型的字节数

    byte:1、int:4、char:2、long:8、float:4、double:8、boolean:1 和short:2

     

    3.String , StringBuffer,StringBuilder的区别

    字符串较少拼接时,用String

    字符串频繁拼接时,单线程环境下应该使用StringBuilder来保证较好的性能,当需要保证多线程安全时,就 应该使用StringBuffer

     

    4.servlet的生命周期,与CGI的区别

    实例化,init(),service方法,doget或doPost方法,调用destroy()销毁

    servlet一个实例服务于多个请求,CGI一个请求开一个进程,服务完成就销毁

     

    5.JSP中动态INCLUDE与静态INCLUDE的区别

     

    6.round 方法返回与参数最接近的长整数,参数加1/2 后求其floor.

     

    7.构造器Constructor是否可被override?

     

    8.iterator 

    Iterator<String> it = books.iterator();
    //这种形式遍历可以用it.remove()来删除元素,其他的方式都不可以,会引发异常.
    while(it.hasNext()){
        System.out.println(it.next());
    }

    9.集合安全 

    SortedSet<String> s = Collections.synchronizedSortedSet(new TreeSet<>());

      

    10.Runnable 和 Thread 的区别

    Runnable对象仅仅作为Thread对象的target,Runnable实现类里包含的run()方法仅作为线程执行体.而实际的线程对象依然是Thread实例,

    只是该Thread线程负责执行其target的run()方法.

     

    11.join()使用方法,先start(),再join();

    public static void main(String[] args)throws Exception{
            for (int i=0;i<100;i++){
                if(i==20){
                    JoinThread jt = new JoinThread("join");
                    jt.start();
                    jt.join();
                }
                System.out.println(Thread.currentThread().getName()+"--- "+i);
            }
        }

    12.后台线程

    在后台运行,为其他线程提供服务,比如GCC,调用Thread的setDaemon(true)方法,可将其设置为后台线程。

    如果一个进程的所有前台线程死亡,JVM会通知这个进程的后台线程令其死亡。

    需要先调用setDaemon(true),再start(),否则会引发异常。

     

    13.改变线程的优先级

    Thread类提供了setPriority(int newPriority)和getPriority()来设置

    和返回指定线程的优先级.10最大,1最小,正常为5

     

    14.synchronized

    synchronized的本质是对象锁,锁定方法时,默认锁定this,当一个对象被锁时,无法调用有相同对象锁的其他被锁代码块。

     

    15.wait()和sleep()的区别

    wait()会释放同步监视器,sleep()和yield()不会释放同步监视器

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    Java中net.sf.json包关于JSON与对象互转的坑
    Java IO(1)基础知识——字节与字符
    [Github]给已创建的GitHub项目添加LICENSE
    [MAC]激活Sublime Text
    [MAC]安装配置Charles
    [iOS]15个iOS视频播放控件
    [iOS]UIWindow详解
    [Swift]LeetCode1320. 二指输入的的最小距离 | Minimum Distance to Type a Word Using Two Fingers
    [Swift]LeetCode1319. 连通网络的操作次数 | Number of Operations to Make Network Connected
    [Swift]LeetCode1318. 或运算的最小翻转次数 | Minimum Flips to Make a OR b Equal to c
  • 原文地址:https://www.cnblogs.com/lakeslove/p/7107442.html
Copyright © 2011-2022 走看看