传智播客旗下技术交流社区北京校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小刀葛小伦 黑马程序员官方团队   /  2019-1-10 14:02  /  102 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

设计模式
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

线程池原理及参数
ThreadPoolExecutor mExecutor = new ThreadPoolExecutor(corePoolSize,// 核心线程数  
                        maximumPoolSize, // 最大线程数  
                        keepAliveTime, // 闲置线程存活时间  
                        TimeUnit.MILLISECONDS,// 时间单位  
                        new LinkedBlockingDeque<Runnable>(),// 线程队列  
                        Executors.defaultThreadFactory(),// 线程工厂  
                        new AbortPolicy()// 队列已满,而且当前线程数已经超过最大线程数时的异常处理策略  
                );  

限流算法
线程池等待  zk日志算法   

MySQL 索引数据结构
B+树

ORACLE数据库事务隔离级别
1、幻想读:事务T1读取一条指定where条件的语句,返回结果集。此时事务T2插入一行新记录,恰好满足T1的where条件。然后T1使用相同的条件再次查询,结果集中可以看到T2插入的记录,这条新纪录就是幻想。
2、不可重复读取:事务T1读取一行记录,紧接着事务T2修改了T1刚刚读取的记录,然后T1再次查询,发现与第一次读取的记录不同,这称为不可重复读。
3、脏读:事务T1更新了一行记录,还未提交所做的修改,这个T2读取了更新后的数据,然后T1执行回滚操作,取消刚才的修改,所以T2所读取的行就无效,也就是脏数据。

线程池shuntdown
1、shutdown()

shutdown()有什么功能?
阻止新来的任务提交,对已经提交了的任务不会产生任何影响。当已经提交的任务执行完后,它会将那些闲置的线程(idleWorks)进行中断,这个过程是异步的。

如何阻止新来的任务提交?
通过将线程池的状态改成SHUTDOWN,当再将执行execute提交任务时,如果测试到状态不为RUNNING,则抛出rejectedExecution,从而达到阻止新任务提交的目的。


分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马