- 博客(11)
- 收藏
- 关注
原创 【Spring Boot】org.springframework.beans.factory.support.BeanDefinitionOverrideException
因为有一个Bean被重复定义
2022-02-14 10:48:37
968
原创 对象创建
之前说到的类加载部分以及JVM内存模型,讲到的是对象创建中的一个小步骤(类加载)以及对象创建完成之后(JVM内存模型)如何使用的部分。现在来理解下对象创建对象创建主要流程:检查类是否加载如果没有加载,进入类加载部分,如果已经加载,则直接进入下一步分配内存(接下来的步骤需要注意和类加载中类似的步骤分开)栈上分配 or 堆上分配栈上分配对象分配内存时,JVM会通过对象逃逸分析确定对象是否能被外部访问,如果不会,则可以将对象在栈上分配内存(随着栈帧出栈销毁,减少GC压力)。同时,如果
2021-03-10 15:53:53
67
原创 JVM内存模型
对于JVM来说主要包括几部分类装载子系统: 加载 -> 验证 -> 准备 -> 解析 -> 初始化a. 加载:通过IO读取文件,只有使用到这个类的时候才会加载b. 验证:检查class文件是否正确c. 准备:为静态变量分配内存,并且赋默认值d. 解析:将符号引用替换为直接引用,处理静态方法。符号引用就是指某些静态方法(代号)替换为指向数据所在内存的指针或句柄等(直接引用),这是所谓的静态链接过程(类加载期间完成)。与之相对的还有动态链接(运行期间完成),在栈帧中存在一块
2021-03-08 00:51:46
74
原创 类加载器
Java中为我们提供了以下几种类加载器BootstrapClassLoader:引导类加载器,是c++语言实现的(所以在Java程序中没有对象表示),主要加载jre/lib下的jar包System.getProperty("sun.boot.class.path");ExtClassLoader:扩展类加载器,主要加载jre/lib/ext下的jar包System.getProperty("java.ext.dirs");AppClassLoader:程序类加载器,是我们平常最常用的Syste
2021-03-07 02:12:00
162
1
原创 code review规范
英文文档:https://github.com/google/eng-practices中文文档:https://github.com/zijinshi/google_eng_practice
2020-12-29 11:11:53
105
原创 MQ复习笔记:RabbitMQ
MQ: Message Queue优劣势优势:异步解耦、削峰填谷劣势:增加系统复杂度常用MQMQ单机吞吐消息延迟RabbitMQ万级(次之)微秒ActiveMQ万级(最差)毫秒RocketMQ十万级(最好)毫秒Kafka十万级(次之)毫秒RocketMQ常用概念Broker: RabbitMQ serverVirtual Host: 可以理解为不同的数据库Connection: TCP连接(长连接)Channel:轻量级
2020-12-16 09:46:19
56
原创 统计代码执行时间的方法
java.lang.SystemSystem.currentTimeMills()System.nanoTime()java.util.DateDate.getTime()StopWatchorg.springframework.util.StopWatchStopWatch stopWatch = new StopWatch();stopWatch.start();stopWatch.stop();stopWatch.getTotalTimeMillis()org.a.
2020-11-26 16:06:44
110
原创 并发复习笔记
CPU缓存行:64bytes几种常见的概念内核空间与用户空间:针对于内存来划分的内核态与用户态:针对于CPU来划分的KLT与ULT:针对于线程的管理工作是由内核去完成还是程序自己完成来划分并发三大特性:原子性:一个或多个操作,要么全部执行,要么全部不执行,synchronized/lock可见性:一个线程修改共享变量,其他线程可以看到修改的值,volatile(MESI)有序性:因为存在指令重排(编译器,CPU)程序执行顺序要按照代码先后顺序执行,volatile(内存屏障..
2020-11-20 14:37:26
77
1
原创 zookeeper复习笔记1:基本概念
zookeeper是什么:分布式协调框架基本特性1. 文件系统数据结构:- 无相对路径的概念,所以操作的时候都需要使用全路径- 节点类型 持久节点: 直接创建的节点都是持久节点 临时节点[-e]: 和sessionId绑定,session退出后会被服务器删除(定期扫描删除),临时(序号)节点无子节点 持久序号节点[-s]:和持久节点类似,但创建时会默认增加序号(10位) 临时序号节点[-e -s]:和临时节点类似,也是会增加序号 container节点[]:如果没有子节点,会被定期删除(v
2020-11-16 14:31:27
90
原创 引入jackson-dataformat-xml的影响
最近项目发生一件怪事:调用其他接口的时候,返回数据从json变为了xml。而且直接通过浏览器访问自己的接口获取数据时,返回的也是xml格式。于是排查了下原因:调用其他API出错原因项目中使用的RestTemplate进行调用,当引入jackson-dataformat-xml,RestTemplate的messageConverter里面会增加MappingJackson2XmlHttpMessageConverter,并且优先级高于MappingJackson2HttpMessageConvert
2020-11-12 10:38:23
2482
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人