自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 浅谈Spring-Mvc

Spring mvcSpringMvc调用Controller的原理,加载配置文件web.xml 加载spring mvc.xml扫描整个项目 根据配置文件给定的目录来扫描,扫描所有加了@Controller注解的类当扫描到加@Controller注解的类之后遍历所有的方法,拿到方法对象之后,解析方法嗓门是否加了@RequestMapping注解,定义一个map集合把@RequestMa...

2021-06-30 11:31:05 78

原创 springboot热部署

java文件编译为class文件,经过classLoader(类加载器加载成class对象),对象就会存在JVM中,所谓的调用class对象其实就是去JVM中找那个引用。热部署就是将这个对象改了,也能让JVM动态感知道,让JVM中的对象成为一个新的对象。之前改了不起作用是因为JVM已经存在这个对象就不会再去加载更新的class文件。java自带的类加载器BootStrapClassLoade...

2021-06-30 11:30:28 88

原创 第三方登陆

1 执行第三方登陆2 重定向到一个页面 引导第三方服务器登陆3 验证账号密码 cilentID callbock 验证啥方式4 第三方返回授权码code 会过期 只能使用一次(为了多一次认证。如果此时放回token就会暴露)5 调用方那code换取token 严重callbock6 第三方返回token7 调用方使用token换取用户信息 在后台通过网络请求去拿取用户信息tok...

2021-06-30 11:30:12 79

原创 浅谈MVCC

MVCC就是当查询sql 时会生成一致性试图read-view,它由执行查询时所未提交事务id数组(数组中有最小事务id)和已创建最大的事务id,查询需要跟read-view做对比从而得到快照结果。版本链1 如果trx_id(查询的事务id)<min_id(最小事务id),表示这个版本已经是提交的事务生成的,这个事务可见2 如果trx_id(查询的事务id)>max_id(最小事...

2021-06-30 11:30:03 105

原创 浅谈mybatis

先拿到mybatis对应的config然后通过流拿到文件放入SqlSessionFactoryBuilder.biud。通过buid方法先解析配置文件判断配置问价你是否解析过如果解析过则不解析。解析消耗性能。解析先去解析别名,别名就是你指定的的别名对应的class存入一个map中开始注册...

2021-06-30 11:29:44 52

原创 mybaits-spring

首先在spring配置类中配置 SqlSessionFactoryBean ,配置configuration,解析配置文件中指定的xml路径,加载映射文件,构建SqlSessionFactory通过MapperScan注解中的@import方法MapperScannerRegistrar#registerBeanDefinitions#registerBeanDefinitions中使用mybaits的扫描器MapperScannerConfigurer实现了BeanDefinitionRegistr.

2021-06-30 11:29:16 82

原创 spring-aop

aop 先标记你要不要代理,然后bean初始化后开始搞事(循环依赖也可能做),把这个增强bean指定的切面东西全部出来了,就是那些注解的方法,然后根据前置 后置 后置返回 环绕通知 取出来他们几个,然后排序默认 给了一个作为下标0也就是第一个try。下标1是异常通知第二个try,下标2是前置通知但是也是在try里面的还做了取返回值为了给下标3使用同时这个try的finally里面执行后置通知下标3返回通知开启注解@Import AspectJAutoProxyRegistrar

2021-06-01 09:26:02 94

原创 spring启动流程、bean生命周期

首先我们现有一个容器,笔者使用的是注解的new AnnotationConfigApplicationContext(SpringConfig.class);作为入口;1、容器初始化,先调用构造方法创建2个BeanDefinition,1)AnnotatedBeanDefinitionReader 主要是为了将传入的config.class变为BeanDefinition,提供一个register的注册方法。2)ClassPathBeanDefinitionScanner 提供api扫描注解 (doS

2021-05-07 21:09:50 271

原创 spring初始

spring的IoC Container, Events, Resources, i18n, Validation, Data Binding, Type Conversion, SpEL, AOP.中章节1.10.9生成静态组件索索引会加快spring扫描速度

2020-12-31 09:56:59 152

原创 ThreadLocal注意

private final static ThreadLocal threadLocal = new ThreadLocal<>;try{threadLocal.get();}cathch(Exception e){}finally{threadLocal.remove()}ThreadLocal 内存泄露问题,使用完调用remove()方法

2020-10-06 09:22:52 48

原创 Java并发之synchronized(一)

synchronized是java关键字,用于给对象枷锁,保证单机的并发情况下线程安全。锁的状态|--------------------------------------------------------------------------------------------------------------|| ...

2020-02-20 21:38:45 331

原创 redis专题

Redis是什么Redis是C语言开发,一个单线程、高性能(key-value)内存数据库,基于内存运行并支持持久化的数据库。做什么Redis不单单能做缓存,还可以做分布式锁 ,队列,会话缓存等。安装windows下解压就可以用单机的。linux解压 检查下有没有gcc ,先安装下yum install gcc -c++,gcc安装好后执行make,端口#Accept connec...

2020-02-20 15:17:52 186

原创 分布式微服务

分布式系统微服务就是原来臃肿的项目拆分为多个模块互不关联。如:按照子服务拆分、数据库、接口,依次往下就更加细粒度,当然运维也就越来越难受了。分布式则是偏向与机器将诺大的系统划分为多个模块部署在不同服务器上。微服务和分布式就是作用的“目标不一样”。微服务与Cloud微服务是一种概念,spring-cloud是微服务的实现。微服务也不一定必须使用cloud来实现,只是微服务中有许多问题,如...

2020-02-19 15:10:12 353

原创 MYSQL自定义指定数字查询

MYSQL自定义指定数字查询sql// An highlighted block```select a.class_id ,ifnull(b.score,0) as score from (SELECT 0 class_id UNION ALL SELECT 1 class_id UNION ALL SELECT 2 class_id UNION ALL SELECT 3 c...

2019-12-09 13:37:30 202

原创 取出字符串中不重复的字段

方法String a ="1,2,3,4,4,5,5,1,2,8,9,7,10,11"; String arr[] = a.split(","); List<String> list =new ArrayList<String>(); for (int i = 0; i < arr.length; i++) { int count...

2019-07-07 15:00:18 330

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除