- 博客(15)
- 资源 (3)
- 收藏
- 关注
转载 BlockingQueue
1.介绍ArrayBlockingQueue是一个阻塞式的队列,在看jdk内部尤其是一些多线程,大量使用了blockinkQueue 来做的。blockinkQueue 继承自AbstractBlockingQueue,间接的实现了Queue接口和Collection接口。底层以数组的形式保存数据(实际上可看作一个循环数组)。ArrayBlockingQueue有哪些缺点呢?a)队列...
2019-09-30 19:04:27 186
转载 ransactional注解不回滚场景
https://www.cnblogs.com/huacw/p/8075143.htmlhttps://blog.csdn.net/qq_20597727/article/details/849009941>数据库存储引擎本身不支持事务, 比如 myisam2>加@Transactional 注解的方法不是public修饰符3> @Transactional(pr...
2019-09-28 20:46:08 163
原创 java未看知识点
盘点Java框架常用的3大底层技术!https://mp.weixin.qq.com/s/OMWaSE7jAzKxlEStLq2P3w学Redis这篇就够了!https://mp.weixin.qq.com/s/Cc8dUexhTj04Kfj6iGduoARedislua脚本的基本使用https://www.jianshu.com/p/1f49438ea46fRedis 复...
2019-09-28 13:48:15 325
转载 String为什么是不可变的?
这里存在一个误区:str只是一个String对象的引用,并不是对象本身("123" "abc" 是对象本身不可变的)。对象在内存中是一块内存区,放在堆中,成员变量越多,这块内存区占的空间越大。引用只是一个4字节的数据,里面存放了它所指向的对象的地址,通过这个地址可以访问对象,而这个引用存放在Java虚拟机栈栈帧的局部变量表中。也就是说,str只是一个引用,它指向了一个具体的对象,当str=“123...
2019-09-27 18:48:23 223
转载 java强制类型转换
很多人对java类型之间的转换,强转,那是傻傻分不清楚。1.基本类型:int a=0;float a=8.2 //error,这个不能被编译通过//我们这样写就可以了float a=(float)8.2;//把double 型的强制转换为float2.引用类型(上(父类)-----强转--->>下(子类) 下(子类) -------->&g...
2019-09-27 16:35:08 1657
原创 spring 单例对象注入一个多例对象 每次获取新建的对象
单例对象实例注入多例对象实例时,由于单例对象在容器中只有一次初始化的机会,所以单例对象始终注入的都是同一个对象,这样不能满足我们需要多例的要求。解决办法:1)手动new一个对象,这种方法可以确保每次对象都是新的,但是有个弊端就是没有用spring容器管理对象,spring不能帮我们注入需要的属性实例。2)继承ApplicationContextAware接口,手动获取bean,例子...
2019-09-27 15:58:07 2811 2
转载 BeanFactory 简介以及它 和FactoryBean的区别(京东面试)
区别:BeanFactory是Spring中IOC容器最核心的接口,就是IOC容器或对象工厂, 遵循了IOC容器中所需的基本接口。例如我们很常见的:ApplicationContext,XmlBeanFactory 等等都使用了BeanFactory这个接口。 FactoryBean是工厂类接口,当你只是想简单的去构造Bean,不希望实现原有大量的方法。它是一个Bean但不是简单的Bean,...
2019-09-25 21:02:17 189
转载 Spring注解@Resource和@Autowired区别对比
@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。简而言之:@Autowired默认按type注入, 可以结合使用@Qualifier按照byname注入 spring带的 @Resour...
2019-09-21 19:40:14 146
原创 synchronized 和 reentrantlock
前面提到ReentrantLock提供了比synchronized更加灵活和强大的锁机制,那么它的灵活和强大之处在哪里呢?他们之间又有什么相异之处呢?首先他们肯定具有相同的功能和内存语义。与synchronized相比,ReentrantLock提供了更多,更加全面的功能,具备更强的扩展性。例如:时间锁等候,可中断锁等候,锁投票。 ReentrantLock还提供了条...
2019-09-21 13:32:08 141
转载 TreeMap按Value升序排序
map转list: List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String,Integer>>(map.entrySet());list转map : 只能for循环转 或者参考https://blog.csdn.net/linsongbin1/articl...
2019-09-19 20:01:32 1376
转载 Mybatis 中一级缓存与二级缓存的区别
缓存:合理使用缓存是优化中最常见的方法之一,将从数据库中查询出来的数据放入缓存中,下次使用时不必从数据库查询,而是直接从缓存中读取,避免频繁操作数据库,减轻数据库的压力,同时提高系统性能。一级缓存是SqlSession级别的缓存,默认开启: Mybatis对缓存提供支持,但是在没有配置的默认情况下,它只开启一级缓存。一级缓存在操作数据库时需要构造sqlSession对象,但和数据库操作有关的...
2019-09-09 21:24:43 2520
转载 请介绍类加载过程,什么是双亲委派模型?
一、类加载1.什么是类加载?JVM将编译好的.class文件(字节码文件)以二进制流的方式加载到我们内存中,并转换成我们方法区数据结构,并且在对堆内存生成一个java.lang.class对象,作为提供给外界访问我们方法区动态运行数据结构的一个入口。2.类加载器有哪些?主要的就是启动类加载器(BootStrap ClassLoader)和其他所有类加载器。注意:启动类加载器是虚...
2019-09-08 21:51:06 134
原创 switch表达式、case穿透
格式解释说明switch表达式:可以是byte,short,int,charJDK5以后可以是枚举JDK7以后可以是字符串case:后面的值就是要和表达式进行比较的值break:表示程序到这里中断(字节码反编译能看出 也就是return),跳出switch语句default:如果所有的情况都不匹配,就执行这里,相当于if语句中的elsedefault的位置不会影响执行结果,不管...
2019-09-06 18:33:54 124
转载 spring框架中的单例Beans是线程安全的么?
看到这样一个问题:spring框架中的单例Beans是线程安全的么?Spring bean无可变的状态(比如Serview类和DAO类)(也就是无状态的bean 没有线程公用的属性也就是成员变量),线程安全如果有状态的bean也就是有属性 那么会导致线程不安全 可以将作用域由“singleton”变更为“prototype”Spring框架并没有对单例bean进行任何多线程的...
2019-09-05 09:20:36 385
转载 MySQL存储引擎引起的自增ID重置问题
innodb引擎:Innodb表把自增主键的最大ID记录到内存中,重启数据库后,都会导致最大自增ID重置(会查询当前记录最大值)。(据说8.0 会保存自增的最大ID到表里,待验证)MyISam引擎:MyISAM表会把自增主键的最大ID记录到数据文件里,重启MySQL自增主键的最大ID也不会丢失。alter table tablename auto_increment = 11; /...
2019-09-04 20:57:40 437 1
SpringBoot2.0不容错过的新特性 WebFlux响应式编程.txt
2019-08-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人