面试题目准备

1、ajax同步和异步的区别:

同步是指一个线程要等待上一个线程执行完才能开始执行,同步可以看做是一个单线程操作,只要客户端请求了,在服务器没有反馈信息之前是一个线程阻塞状态。异步是一个线程在执行中,下一个线程不必等待它执行完就可以开始执行。异步肯定是个多线程。在客户端请求时,可以执行其他线程,并且在把这个线程存放在他的队列里面,有序的执行。异步的效率要高于同步。如果数据在线程间共享,那么必须使用同步!ajax同步异步:默认是true:异步,false:同步。异步传输是面向字符的传输,它的单位是字符;而同步传输是面向比特的传输,它的单位是桢,它传输的时候要求接受方和发送方的时钟是保持一致的。

2、java反射是什么?有什么应用场景?

反射就是动态加载对象,并对对象进行剖析。在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法,这种动态获取信息以及动态调用对象方法的功能成为Java反射机制。

  • 实现RPC框架
  • 实现ORM框架
  • 拷贝属性值(BeanUtils.copyProperties)

3、Linux解决9090端口被占用问题

 netstat -anp | grep 9093

 kill -9 pid

4、sql语句 查询表中最大的前10条数据。

oracle

select * from (select * from t order by col1) where rownum<10

mysql

select * from student order by id desc limit 2

5、Java多线程实现的方式举例
1)继承Thread类,重写run方法

public class MyThread extends Thread {
    public void run() {
        System.out.println("xxx");
    }
    public static void main(String[] args) {
        MyThread myThread1 = new MyThread();  
        MyThread myThread2 = new MyThread(); myThread1.start(); myThread2.start(); } }

2)实现Runnable接口,重写run方法,实现Runnable接口的实现类的实例对象作为Thread构造函数的target

public class MyThread2 implements Runnable{

    @Override
    public void run() {
         System.out.println("xx");  
    }
    public static void main(String[] args) {
        MyThread myThread = new MyThread();  
        Thread thread = new Thread(myThread); thread.start(); } }

3)通过Callable和FutureTask创建线程

public class MyThread3 {
    public static void main(String[] args) {
        Callable<Object> oneCallable = new Tickets<Object>();
        FutureTask<Object> oneTask = new FutureTask<Object>(oneCallable);
        Thread t = new Thread(oneTask);
        System.out.println(Thread.currentThread().getName());
        t.start();
    }
}
class Tickets<Object> implements Callable<Object> { @Override public Object call() throws Exception { System.out.println("xxx"); return null; } }

4)通过线程池创建线程。

猜你喜欢

转载自www.cnblogs.com/fanrenren/p/10455813.html