一,Java线程sleep()方法和wait()方法
sleep()使当前线程进入停滞状态(阻塞当前线程),让出CPU的使用、目的是不让当前线程独自霸占该进程所获的CPU资源,以留一定时间给其他线程执行的机会;
sleep()是Thread类的Static(静态)的方法;因此他不能改变对象的机锁,所以当在一个Synchronized块中调用Sleep()方法是,线程虽然休眠了,但是对象的机锁并木有被释放,其他线程无法访问这个对象(即使睡着也持有对象锁)。
wait()方法是Object类里的方法;当一个线程执行到wait()方法时,它就进入到一个和该对象相关的等待池中,同时释放了对象的机锁(暂时失去机锁,超时时间到后还需要返还对象锁),期间其他线程可以访问。wait()使用notify或者notifyAlll或者指定睡眠时间来唤醒当前等待池中的线程。
sleep()可以不能释放锁,wait()让改对象进入等待池,释放锁
二,MySQL使用通配符进行模糊查询(like,%,_)
通配符的分类:
%百分号通配符: 表示任何字符出现任意次数(可以是0次).
_下划线通配符:表示只能匹配单个字符,不能多也不能少,就是一个字符
举例:
匹配以"csdn"开头的记录:(包括记录"csdn")
SELECT * FROM products WHERE work.prod_name like 'csdn%';
匹配结果为: 像"mycsdn"这样记录.
SELECT * FROM products WHERE work.prod_name like '__csdn';
三,排序算法的稳定性
各种排序算法的总结:https://blog.csdn.net/wannuoge4766/article/details/83902987
稳定性定义:排序前后两个相等的数相对位置不变,则算法稳定。
稳定性得好处:从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所用。
各排序算法的稳定性:
1、堆排序、快速排序、希尔排序、直接选择排序不是稳定的排序算法;
2、基数排序、冒泡排序、直接插入排序、折半插入排序、归并排序是稳定的排序算法。
四,Java支持的8种基本数据类型
byte(字节型)、short(短整型)、int(整型)、long(长整型)、float(单精度浮点型)、double(双精度浮点型)、boolean(布尔型)、char(字符型)
对应包装类:java.lang.Byte、java.lang.Short、java.lang.Integer、java.lang.Long、java.lang.Float、java.lang.Double、java.lang.Boolean、java.lang.Character
8种基本类型的默认值
参考文献:
1. https://www.cnblogs.com/DreamSea/archive/2012/01/16/SleepAndWaitDifferent.html
2. https://blog.csdn.net/u011479200/article/details/78513632
4. https://blog.csdn.net/thebigdipperbdx/article/details/81047288