- 博客(18)
- 收藏
- 关注
原创 小伙伴问我为什么不用公共线程池,我说:这不是废话吗!
2021-08-03,同事接手我写的代码, 看到我到处建线程池。很诧异的问:我建这么多线程干毛?逻辑核心数是固定的,你建这么多执行任务也不会变快,咋不用公共线程池?甚至想把我建的线程池都删掉! 接着给我一顿分析:并行的线程数是固定的,一个任务的执行时间也是固定,得出结论耗时=任务数/并行数*单个任务执行时间;那么一个线程池跟多个线程池完全没有区别! 然而事实真的是这样吗?超起键盘当场撸代码给他看。 首先看单个线程池的情况:p...
2021-08-04 04:29:10 621
原创 MySQL中的InnoDB一次update执行
先摆好一次select执行的图。为什么标题是update却要摆放select执行的图?首先要知道update修改数据并不是直接修改表中的数据,而是修改在内存中的数据页。而内存中的数据页是由执行器调用引擎接口加载到内存中的,这一部分跟select是一模一样的,所以直接复用一次select执行时的图。与select的不同在什么地方?执行器再找到数据后还有负责更新。这个更新就是修改再内...
2020-04-05 23:21:39 598
原创 MySQL中RR级别下的MVCC
众所周知MySQL中InnoDB的可重复读是通过MVCC实现的。MVCC是由哪些元素构成?MVCC的读 又叫快照读,在MySQL中不可能把整个表的数据拷贝一份来提供这个快照。它通过 1、undolog InnoDB增删数据时除了redo log外还会记录undo log。 以update举例: undolog->修改内存中...
2020-04-04 18:28:35 1789 2
原创 MySQL中的InnoDB一次select执行
学习MySQL 45讲后一些梳理。图中是 一次 select 的执行大致流程。连接器:负责跟客户端连接,并且连接器会到权限表里面查出你拥有的权限。此后此连接的权限都依赖此次查询,即使修改以后也要重新连接才会生效。缓存:SQL作为key的一个缓存,如果开启缓存,并且缓存中有数据(且判定有表的操作权限)则直接返回。DML(insert/update/delete)语句会使缓存失效。8....
2020-04-04 16:08:04 665
原创 java中的LinkedBlockingDeque
问题一:LinkedBlockingDeque是否减少了竞争?public class LinkedBlockingDeque<E> extends AbstractQueue<E> implements BlockingDeque<E>, java.io.Serializable { ... /** Main loc...
2020-03-26 14:03:44 340
原创 2020-3-17面试
对Spring的了解讲一下?IOC AOP DI循环依赖?三级缓存,Spring解决循环依赖是不是递归,会不会栈溢出?什么是不完整的bean?创建完成后,没有设置属性的Bean。Spring扩展点?BeanPostProcessor BeanFactoryPostProcessor BeanDefinitionRegistryPostProcessorprocessor什么时候创建执...
2020-03-17 23:41:13 186
原创 HashMap1.7 死循环步骤
void resize(int newCapacity) { Entry[] oldTable = table; int oldCapacity = oldTable.length; if (oldCapacity == MAXIMUM_CAPACITY) { threshold = Integer.MAX_VALU...
2020-03-01 16:17:49 393
原创 Controller方法参数多态
就是一个jackjson反序列化。1、先定义接口/父类并2、@JsonTypeInfo 标明反序列化规则。@JsonSubTypes标明实现类/子类@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.EXTERNAL_PROPERTY, property = "typeName") @JsonSub...
2020-02-22 10:50:23 1639
原创 验证Volatile可见性问题的关键
关键就在于 while(flag){}中不能有cpu重新调度的操作:Thread.sleep自不必说; 存在synchronized; System.out.println(); 中存在synchronized;/** * volatile 保证可见性 * 验证这个问题的关键,不重新cpu调度 */public class ThreadProblem { publi...
2020-02-15 22:42:19 267 1
原创 Spring中ClassPathXmlApplicationContext,AnnotationConfigWebApplicationConetxt
ClassPathXmlApplicationContext.classAnnotationConfigWebApplicationConetxt.classAbstractApplicationContext.class.refresh↓AbstractRefreshableApplicationContext.refreshBeanFactory↓根据实现类不同...
2020-02-15 14:48:37 419
原创 MyBatis杂记(4) Mapper接口怎么执行?
sqlSession是线程不安全的,所以每次执行需要一个新的sqlSession,Spring是怎么做的?由MyBatis杂记(2)可知最终注入service的mapper是MapperProxy。创建MapperFactoryBean时, ClassPathMapperScanner.processBeanDefinitions()中 if (!explicitFactoryUs...
2020-01-28 01:52:19 481
原创 MyBatis杂记(3) Spring中Mybatis怎么扫描Mapper接口的?
Spring中Mybatis怎么扫描Mapper接口的?package org.mybatis.spring.annotation;@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.TYPE)@Documented@Import(MapperScannerRegistrar.class)@Repeatable(Ma...
2020-01-27 22:16:25 578
原创 MyBatis杂记(2)
package org.mybatis.spring.mapper;public class ClassPathMapperScanner extends ClassPathBeanDefinitionScanner { private void processBeanDefinitions(Set<BeanDefinitionHolder> beanDefinition...
2020-01-27 12:05:47 315 1
原创 MyBatis杂记(1)
一、入口package org.apache.ibatis.session;public class SqlSessionFactoryBuilder { public SqlSessionFactory build(InputStream inputStream, String environment, Properties properties) { try...
2020-01-25 12:31:18 168
原创 ImportBeanDefinitionRegistrar
package org.springframework.context.annotation;import org.springframework.beans.factory.support.BeanDefinitionRegistry;import org.springframework.beans.factory.support.BeanDefinitionRegistryPostPr...
2020-01-24 22:47:00 143
原创 spring cloud爬坑之路
一、打包之坑---引入依赖使用import引入,不再使用parent的方式<!-- 进行SpringCloud依赖包的导入处理 --><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-depend...
2019-07-08 21:31:14 280
原创 openoffice docx转pdf 19-01-24
实测doc 转 docx是有问题的 先上代码public static void main( String[] args ) throws IOException { //读入文件流 FileInputStream in = new FileInputStream("D:/template/8ae48678686e1f7a01686eee6878003e....
2019-01-22 22:46:09 546 1
原创 通过MediaSource分段播放demo
<!DOCTYPE html><html> <head> <meta charset="utf-8"/> </head> <body> <video controls id='video'></video> <in
2018-09-07 18:05:00 3755 2
空空如也
领域驱动 聚合 内存限制
2022-08-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人