自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 多线程原理(一)--ReentrantLock实现原理

ReentrantLock实现原理 ReentrantLock lock=new ReentrantLock(); lock.lock(); System.out.println("lock"); lock.unlock();1 ReentrantLock底层是基于AQS(AbstractQueuedSynchronizer)的。AbstractQueuedSynchronizer包含的属性包括int成员变量state表示同步状态、一个n

2020-11-30 17:42:38 4940 1

原创 SpringBoot原理(二)--自动装配

SpringBoot自动装配原理1 在上一文提到的启动流程中prepareContext准备上下文环境中的load方法会加载启动类 private int load(Class<?> source) { if (isGroovyPresent() && GroovyBeanDefinitionSource.class.isAssignableFrom(source)) { // Any GroovyLoaders added in beans{} DSL can c

2020-11-29 21:04:36 6106

原创 SpringBoot原理(一)--启动流程

SpringBoot启动流程以下将从springboot的入口类SpringApplication.run(TestApplication.class,args);开始分析1 进入run方法会先调用new SpringApplication()构造方法进行初始化操作 public SpringApplication(ResourceLoader resourceLoader, Class<?>... primarySources) { this.resourceLoader = res

2020-11-29 18:53:25 1781

原创 Spring Boot实战(二)--集成Shiro

springboot集成shirospringboot集成shiro实现权限控制文章目录springboot集成shiro1 pom2 jwt工具类-JwtUtil3 jwt类-JwtToken4 自定义拦截器-JwtFilter5 AuthRealm6 ShiroConfig7 全局异常处理8 OAuthConstant9 RestResponse10 登录controller11 资源controller1 pom<?xml version="1.0" encoding="UTF-8"?&

2020-11-29 17:09:59 1794

原创 Spring Boot实战(一)--集成ElasticSearch

1 ElasticSearch简单使用1 简介Lucene是一个信息检索工具包,不包含搜索引擎系统。包含索引结构、读写索引的工具、排序,搜索规则等工具类。ElasticSearch是基于Lucene做了一些封装和增强。是一个高扩展的分布式的全文搜索引擎。可以当作数据库,可以建立索引(库)、文档(库中的数据)2 安装1 elasticsearch --解压 --解决跨域 config/elasticsearch.yml: http.cors.enabled: true h

2020-11-28 20:41:17 1738

原创 Spring原理(二)--循环依赖原理

此篇文章建立在已经了解bean创建原理之上,若不了解,请先阅读本人上一篇文章Spring原理(一)–IOC原理1 场景@Componentpublic class X { @Autowired Y y; public X(){ System.out.println("X"); }}@Componentpublic class Y { @Autowired X x; public Y(){ System.o

2020-11-28 18:48:51 4948

原创 Git常用命令

Git常用命令1全局配置git config --global user.name ""git config --global user.email ""2 克隆代码1 因为在window系统中,clone代码下来,会自动把换行符LF(linefeed character) 转换成回车符CRLF(carriage-return character)。这时候我们本地的代码都是回车符。所以eslint会报错。解决:克隆代码前git config --global core.autocrlf fal

2020-11-22 19:57:39 1754

原创 HashMap原理

HashMap底层原理jdk1.8HashMap底层基于数组+链表+红黑树map的put操作: public V put(K key, V value) { return putVal(hash(key), key, value, false, true); }1 这里会根据map的key,计算一个hash值,然后和数组的最大索引进行&操作,算出在数组的位置,如果key为null,放入数组下标0位置。这里并不是直接使用key.hashCode(),而是使用进

2020-11-19 16:09:15 3823

原创 Spring原理(一)--IOC原理

1 环境搭建1 pom: <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.6.RELEASE</version> </dependency>2 Appconfig: @ComponentScan("com.s

2020-11-14 18:12:02 6091

原创 SpringMVC(二)--手写框架

手写SpringMVC框架1 依赖<dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <

2020-10-19 20:47:39 1771

原创 SpringMVC(一)--执行原理

SpringMVC原理1 框架搭建(xml方式)1 依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.8.RELEASE</version> </dependency>2 webapp/WEB

2020-10-19 20:34:05 3714

空空如也

空空如也

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

TA关注的人

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