java
文章平均质量分 81
TheRockMaster
这个作者很懒,什么都没留下…
展开
-
只用位运算不用算术运算实现整数的加减乘除运算
只用位运算不用算术运算实现整数的加减乘除运算给定两个32位整数a和b,可正,可负,可0,不能使用算术运算符,分别实现a和b的加减乘除运算不考虑溢出用位运算实现加法如果不考虑进位,a^b就是正确结果。在只算进位的情况下,也就是只考虑a加b的过程中进位产生的值是什么,结果就是(a&b)<<1,因为在第i位只有1与1相加才会产生进位。把完全不考虑进位的相加值与...原创 2020-04-08 11:20:17 · 432 阅读 · 0 评论 -
rabbitmq的一些笔记
》如果没有交换机,那么routekey就必须是队列名,否则通道不知道要把消息传到哪个队列中去》RabbitMQ 默认将消息顺序发送给下一个消费者,这样,每个消费者会得到相同数量的消息。即轮询(round-robin)分发消息。假如信息a已经被发送给了消费者1,那么一定会等到信息a的ack返回后,才会把信息b发送给消费者2(即下一个消费者),不管消费者1空闲与否或者其他消费者空...原创 2020-04-07 17:11:32 · 231 阅读 · 0 评论 -
mybatis的懒加载
MyBatis 是否支持延迟加载(懒加载)?延迟加载的原理是什么?延迟加载的原理的是调用的时候触发加载,而不是在初始化的时候就加载信息。比如调用 a. getB(). getName(),这个时候发现 a. getB() 的值为 null,此时会单独触发事先保存好的关联 B 对象的 SQL,先查询出来 B,然后再调用 a. setB(b),而这时候再调用 a. getB(). getName(...原创 2020-03-22 11:45:13 · 1129 阅读 · 0 评论 -
使用aop时注入属性失效的问题
结论:如果一个对象要被生成代理,那么不要对它的属性或方法进行注入,这些都会变成null(构造器注入是可以的)首先第一个问题:如果循环引用的对象需要被拦截,即要创建代理怎么办?假如A依赖B,B依赖A,(A有一个属性B b,B有一个属性A a)且A需要被aop拦截,需要创建代理去替代本身:假如首先创建A,先用构造方法创建了一个A的早期实例,把它放在singl...原创 2020-03-18 11:48:53 · 706 阅读 · 1 评论 -
Concurrent mode failure和 promotion failed
:(两种错误刚好就是三种进入老年代的方法引起的)1.并发模式失败(concurrent mode failure):产生的原因是老年代的可用空间不够了(因为正常晋升入老年代的对象太多太快,或者由于新生代不够而从创建就直接进入老年代的对象太多)原因有两种: 1.年轻代提升太快,老年代的处理速度跟不上新生代的提升速度;或者新生代空间太小,放不下新产生的对象而直接转入老年代,但老...原创 2020-03-10 15:48:38 · 924 阅读 · 0 评论 -
Mybatis解决n+1问题
简介在orm框架中,比如hibernate和mybatis都可以设置关联对象,比如user对象关联dept假如查询出n个user,那么需要做n次查询dept,查询user是一次select,查询user关联的dept,是n次,所以是n+1问题,其实叫1+n更为合理一些。mybatis配置UserMapper.xml<resultMap id="BaseResult...转载 2020-03-06 17:47:46 · 2861 阅读 · 0 评论 -
垃圾收集器GC中parallel scavenge收集器为什么不能CMS配合使用?
首先看一下收集器的分布:1.解答parallel scavenge收集器为什么不能CMS配合使用?首先讲一下Hotspot,HotSpot VM里多个GC有部分共享的代码。有一个分代式GC框架,Serial/Serial Old/ParNew/CMS都在这个框架内;在该框架内的young collector和old collector可以任意搭配使用,所谓的“mix-and-match”。...转载 2020-02-27 10:14:51 · 901 阅读 · 0 评论 -
springMVC处理请求流程
Dispatcher接收到了客户的请求,遍历所有的HandlerMapping集合,找出被@Controller注解的bean和被@Request注解的类和方法,根据请求的路径,参数等一系列条件,找到符合条件的HandlerMapping,并得到Handler执行链,其中包括拦截器和controller方法,是一条拦截+处理链。dispatcherServlet让把请求放进入链中,先执行所有拦截...原创 2020-02-11 16:59:02 · 123 阅读 · 0 评论 -
IoC和AOP的简单总结
IoC:context是总管家。总领全局context创建一个bean工厂,一个解析工具(如xmlReader)。先让解析工具去完成对xml或者注解中bean的解析,对于每个bean节点,提取出其中的名称,类型、属性来构建出一个beandefinition(bd),并存放到解析工具的map中,之后创建这个map中的bd全部移到bean工厂的map中,然后扫描出所有类型为bean初始化前置/...原创 2020-02-10 23:14:48 · 324 阅读 · 0 评论 -
并发机制底层实现原理
1.volatilevolatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。如果volatile变量修饰符使用恰当的话,它比synchronized的使用和执行成本更低,因为它不会引起线程上下文的切换和调度。volatile两条实现原则:Lock前缀指令会引起处理器缓存回写...原创 2020-02-09 18:25:31 · 134 阅读 · 0 评论 -
springboot 静态资源无法访问以及添加静态资源无法立即访问
springboot 静态资源无法访问在一个项目中WebMvcConfigurationSupport只能存在一个,多个的时候,只有一个会生效。(按名称排序后第一个的)1.SpringBoot 的 @EnableAutoConfiguration 会启用自动配置类2.WebMvcAutoConfiguration,该类配置了一些默认的静态资源映射自动映射 localhost:8080...原创 2019-12-26 10:26:53 · 6917 阅读 · 5 评论 -
Mybatis中对于association的理解
mybatis是先处理sql,把sql执行完后把结果表映射到resultMap或者resultType上如下面的:一个project对应一个userpublic class Project { int id; String name; User user; ItemState state; Set<User> signer;}publ...原创 2019-11-29 11:06:07 · 4187 阅读 · 0 评论