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
4)通过线程池创建线程。
JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的?
多线程
并发控制
1、判断List中是否包含某个元素
list.contains(obj);