- 博客(15)
- 收藏
- 关注
原创 jvm-sandbox 源码阅读记录
启动模块即调用@Command修饰的方法通过http 调用ModuleHttpServlet 的 doMethod方法, jvm-sandbox是同构jetty启动了一个http server, 通过http对外交互。增强字节码过程最后增强字节码的动作在 ModuleEventWatcher 的 watch()方法, 一般通过他的默认实现类DefaultModuleEventWatcher中的private int watch() 进行。IBuildingForBehavior的实现类Buil
2022-05-17 21:29:30 334 1
原创 jvm-sandbox本地调试方式
首先参考官方的clock例子写一个损坏的钟, 这个被称为被侵入程序让被侵入程序能够通过idea启动然后再写一个修复模块, 让修复模块能成功的修复被侵入程序, 打印出如下信息:(从损坏状态, 变成修复状态,具体实现方式,可以参考上面例子中的官方文档 )在被侵入程序的 Run/Debug Configurations 的 VM options 中添加如下参数: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:50
2022-05-17 14:42:11 741
原创 ObjectMapper json转bean 相关笔记
**实例化ValueInstantiator过程**BasicDeserializerFactory findValueInstantiator方法 269行 获取默认的ValueInstantiator if (instantiator == null) { // Second: see if some of standard Jackson/JDK types might provide value // instantiators.
2020-10-10 14:36:17 305
原创 SPRING核心接口FactoryBean简介
首先我们区分FactoryBean 和 BeanFactory的区别。BeanFactory是管理、创建spring bean的工厂, 其常见的派生类有:AbstractApplicationContext、DefaultListableBeanFactory, 它是spring IOC机制的核心接口。 简单说BeanFactory 是一个工厂, 一个创建bean的工厂。关于FactoryBe...
2020-03-25 11:50:57 196
原创 Java并发编程(三) : Semaphore 源码解析
1. acquire() 方法源码分析 public void acquire() throws InterruptedException { //sync 在Semaphore中默认为非公平锁 sync.acquireSharedInterruptibly(1); }public final void acquireSharedInterruptibly(int a...
2019-12-09 15:43:13 127
原创 (六)SpringBoot源码解析----springboot 与 tomcat
spring版本 5.xjdk版本 1.8spring boot 2.x1.概述说下写这篇文章的初衷,以及这篇文章为什么要从 tomcat 开始。简述 tomcat结构, 主要介绍下connector 及 containerspring boot tomcat 启动时机Poller 的 run 方法在监听事件...
2019-04-15 20:54:15 312
原创 JAVA NIO 简介
一. 同步与异步, 阻塞与非阻塞同步与异步 同步与异步是相对应,是针对两个线程说的,两个线程要么是同步的,要么是异步的。 举个栗子:假设 A B是两个线程, A 调用 B。 如果是 同步 的,那么 A必须等待 B 返回之后再去做其它的事情, 假设 B 是个 IO 操作,那么 CPU 此时就是闲置的; 如果是 异步 的,A 调用 B 后,不用等待 B 完成, A 就可以直接返回,此...
2019-04-15 19:47:00 637
原创 (一) 深入 mysql----read repeatable与 read committed区别
1. 事务隔离级别分类事务隔离级别非为四种:1.1 Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirty Read)。1.2 Read Committed(读取提交内容) 这是大多数数据库系统的默认隔离级别(但不是...
2019-03-26 08:32:14 2122
原创 ES存储开销实验分析
ES 版本 6.6kibanna 版本与 ES 版本相同测试内容为随机字符串,一行大小约为1MBES mapping: es_user{ "es_user" : { "mappings" : { "es_user" : { &quot
2019-03-01 18:59:12 628
原创 (二)SpringBoot源码解析--自动注入过程 Autowired原理(1)
springboot 版本: 2.xspring 版本 5.x本篇文章主要分析下 Bean 属性的自动注入过程,并且会概要的分析下 Bean的实例化过程。在上一篇文章中介绍了 springboot启动过程,其中也介绍了 bean的创建时机。其创建代码为 AbstractApplicationContext类refresh()方法中的如下代码:Java bean 的初始化以及 field ...
2019-01-30 21:25:04 2334 1
原创 (一)SpringBoot源码解析----启动过程refresh()方法详解
spring版本: 5.0.6springboot版本: 2.0.2先祭出一张 spring 容器的核心接口图:spring 容器有两个核心接口:BeanFactory 和 ApplicationContext,其中 ApplicationContext是 BeanFactory的子类, 这两个类生成并管理 spring 容器中的 bean。但是大多数情况都是用ApplicationCon...
2019-01-30 21:23:38 935
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人