神易风 blog

求知若饥,虚心若愚


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

Spring Boot微服务个人见解

发表于 2022-09-27 | 分类于 源码分析 | 评论数:
本文字数: 25k | 阅读时长 ≈ 23 分钟

以前开发一个项目,要花费不少时间在搭建项目,配置文件上,到现在Spring Boot开箱即用,需要技术栈导入pom就可以了,技术变更带来效率提示是巨大的。有时候我会疑惑,这一切如何得来的,Spring Boot怎么抛弃war部署,抛弃繁琐xml配置。 阅读本文章需要一定的Spring框架知识储备 ...

阅读全文 »

ReentrantReadWriteLock源码解析

发表于 2022-09-27 | 分类于 JVM源码 | 评论数:
本文字数: 11k | 阅读时长 ≈ 10 分钟

在使用synchronize关键字修饰方法后,只允许一个线程进行访问,这个虽然有利于保证数据安全,却实际场景背道而驰的。实际中数据都是读取多,写入少,我们需要更粗细粒的并发锁。JVM concurrent.locks包给我们提供ReadWriteLock读写锁,内置两把锁,读锁、写锁,满足多个线程并 ...

阅读全文 »

ThreadLocal源码解析

发表于 2022-07-27 | 评论数:
本文字数: 6.6k | 阅读时长 ≈ 6 分钟

ThreadLocal 如何实现线程间隔离,为什么ThreadLocal经常容易出现内存溢出。带着这两个问题,在源码中找寻答案。先从设置值开始,看ThreadLocal.set()如何实现的值保存。 public void set(T value) { Thread t = Thre ...

阅读全文 »

Spring覆盖已初始化bean

发表于 2022-07-27 | 分类于 Spring | 评论数:
本文字数: 5.9k | 阅读时长 ≈ 5 分钟

现在在配置类里面创建一个bean date @Configurationpublic class DateConfig { @Bean("date") public Date date(){ return new Date(); }&# ...

阅读全文 »

Spring事务实现原理

发表于 2022-07-27 | 分类于 Spring | 评论数:
本文字数: 25k | 阅读时长 ≈ 23 分钟

代理对象在哪里创建先从bean被创建后如何产生代理对象开始,在AbstractAutowireCapableBeanFactory.doCreateBean 初始化bean创建后,并且将依赖注入到bean中,在调用initializeBean 方法对刚刚完成依赖注入bean进行一次”初始化” pro ...

阅读全文 »

Skywalking 插件开发

发表于 2022-06-14 | 分类于 Java | 评论数:
本文字数: 21k | 阅读时长 ≈ 19 分钟

概念SpanSpan 是分布式跟踪系统中一个重要且常用的概念. 可从 Google Dapper Paper 和 OpenTracing 学习更多与 Span 相关的知识. SkyWalking 从 2017 年开始支持 OpenTracing 和 OpenTracing-Java API, 我们的 ...

阅读全文 »

Spring Kafka深入学习分析

发表于 2022-05-17 | 更新于 2022-05-18 | 分类于 Spring , Kafka | 评论数:
本文字数: 25k | 阅读时长 ≈ 23 分钟

本文由来,有一个需求要在浏览器输入Kafka topic,消费组提交后自动开启消费,这个做起来比较简单,同事使用了Kafka 驱动包很快速完成这个。我突然想到能不能通过Spring Kafka自身框架完成这个功能,不使用底层驱动包来自做呢。而引出分析整个Spring Kafka 如何实现注解消费信息 ...

阅读全文 »

认识Spring参数解析器

发表于 2022-04-11 | 分类于 Java , Spring | 评论数:
本文字数: 16k | 阅读时长 ≈ 14 分钟

使用Spring MVC开发的,应该都使用过@RequstBody接收json参数,转换成pojo对象,非常方便阿,但是功能并不是很全面,有点点瑕疵,并不能支持json key 方式注入到String、Integer 这类类型对象。 前端传值 后端接收 结果 {“id”: 3,”name ...

阅读全文 »

Thread线程知识点讲解

发表于 2022-03-28 | 分类于 Java | 评论数:
本文字数: 20k | 阅读时长 ≈ 18 分钟

内部属性//线程名,如果创建时没有指定则使用Thread- + 创建序列号private volatile String name; //线程优先级 Java只是给操作系统一个优先级的参考值,线程最终在操作系统的优先级是多少还是由操作系统决定。 private int priority; ...

阅读全文 »

Spring Bean如何初始化的

发表于 2022-03-20 | 分类于 Spring , Java | 评论数:
本文字数: 36k | 阅读时长 ≈ 32 分钟

做Java都有很多年了,一直有一个疑惑: Spring 如何初始化bean,怎么调用反射实例化对象的,自己动手来解除这个疑惑。过去我认为spring bean对象实例化一直都是由BeanPostProcessor接口实现类去做的,我就是不知道具体那个实现类,下面就去验证下这个猜想。 三级缓存为什么面 ...

阅读全文 »
123
神易峰

神易峰

30 日志
19 分类
22 标签
© 2022 神易峰 | 站点总字数: 394k | 站点阅读时长 ≈ 5:58
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Pisces v7.1.2
|