学习
换小鱼干
这个作者很懒,什么都没留下…
展开
-
String创建对象问题
6行:“1”+“2”+"3"只创建了一个对象,因为在有优化版本的jdk中,有字符串折叠,认为只创建了一个对象 如果有7行则字符串常量池已经存在hello则第八行=右边只创建了一个对象如果没有则b8行创建了两个。 ...原创 2020-03-24 20:56:43 · 152 阅读 · 0 评论 -
创建多线程方法
/** * run()相当于线程的任务处理逻辑的入口方法 * start()的作用是启动相应的线程 * @author yiRain * */ public class startAndRun { public static void main(String[] args) { Thread t = new Thread(){ publi...原创 2020-03-08 12:42:33 · 144 阅读 · 0 评论 -
0308线程池
线程池:三大方法、7大参数、4种拒绝策略 线程池的好处: 1、降低资源的消耗 2、提高响应的速度 3、方便管理。 线程复用、可以控制最大并发数、管理线程 三大方法 ExecutorService threadPool = Executors.newSingleThreadExecutor();// 单个线程 ExecutorService threadPool = Executors.newFix...原创 2020-03-08 00:47:42 · 103 阅读 · 0 评论 -
0307
锁是什么,如何判断锁的是谁! Synchronized 和 Lock 区别 1、Synchronized 内置的Java关键字, Lock 是一个Java类 2、Synchronized 无法判断获取锁的状态,Lock 可以判断是否获取到了锁 3、Synchronized 会自动释放锁,lock 必须要手动释放锁!如果不释放锁,死锁 4、Synchronized 线程 1(获得锁,阻塞)、线程2(...原创 2020-03-08 00:12:54 · 96 阅读 · 0 评论 -
索引失效
1.有or必全有索引; 2.复合索引未用左列字段; 3.like以%开头; 4.需要类型转换; 5.where中索引列有运算; 6.where中索引列使用了函数; 7.如果mysql觉得全表扫描更快时(数据少); 1. 索引并不是时时都会生效的,比如以下几种情况,将导致索引失效: 如果条件中有or,即使其中有部分条件带索引也不会使用(这也是为什么尽量少用or的原因),例子中user_id无索引 注...原创 2020-03-05 15:21:09 · 140 阅读 · 0 评论 -
Java锁
1. 公平锁非公平锁 比较 非公平锁比公平锁性能高5-10倍,因为公平锁需要在多核情况下维护一个队列,如果当前线程不是队列的第一个无法获取锁,增加了线程切换次数。 应用 在Java中ReentrantLock,ReentrantReadWriteLock和Semaphore可设置成公平锁。 2. 可重入锁 ReentrantLock,ReentrantReadWriteLock,synchro...原创 2020-03-03 17:44:27 · 93 阅读 · 0 评论