- 博客(73)
- 收藏
- 关注
原创 持续集成搭建
持续集成环境准备JDK官网下载,jdk8压缩包# 解压tar -xvzf /home/king/jdk-8u291-linux-x64.tar.gz# 系统环境变量配置,增加如下内容vim /etc/profile# 环境变量生效. /etc/profile# 测试java -versionGityum -y install gitMaven官网下载# 解压文件tar -xvzf /home/king/apache-maven-3.8.1-bin.tar.gz#
2021-07-13 17:18:58
198
原创 JVM相关命令
系统调试命令jpsjstackjmapjhatjstat基础参数以-XX:、-X和-开头,本质上-和-X只是简写,最终会转换为-XX:参数含义-XX:+PrintVMOptions打印设置过的JVM参数-Xms1024m等同于-XX:InitialHeapSize=1024m,设置初始堆大小-Xmx1536m等同于 -XX:MaxHeapSize=1536m,设置堆最大大小-Xmn200m新生代大小-Xss1m栈大小,默认1m-XX
2021-01-11 19:40:46
252
1
原创 Zookeeper安装
部署下载网址,下载版本apache-zookeeper-3.5.8-bin.tar.gz解压压缩包tar -xvf apache-zookeeper-3.5.8-bin.tar.gz进入conf目录添加名为zoo.cfg的配置文件,这里修改配置文件名的原因是在zkEnv.sh脚本里面配置的默认配置文件名为zoo.cfgcp zoo_sample.cfg zoo.cfg修改zoo.cfg配置内容(需创建对应目录)dataDir=/tmp/zookeeper/data(自定义
2020-11-27 22:18:27
155
原创 Nginx基础
文章目录概念特点配置文件结构变量自定义变量内置变量正则匹配规则默认配置内容负载均衡策略静态内容进程模型概念Nginx是一个异步框架的Web服务器,也可以作为反向代理,负载均衡器和HTTP缓存。特点单次请求会得到更快的响应Nginx 是基于模块化设计,由多个耦合度极低的模块组成,因此具有很高的扩展性低内存消耗,Nginx 支持的并发连接上限取决于内存热部署最自由的 BSD 许可协议配置文件结构简单指令 指令名 指令值;块级指令 {},如果包含简单指令则称为上下文处
2020-11-25 10:26:09
194
原创 Nginx安装
部署官网下载,最新linux下稳定版本 nginx-1.18.0执行以下命名,解压nginxtar -zxvf nginx-1.18.0.tar.gz在安装目录下,执行以下命令安装nginx./configure --prefix=/usr/local/nginx (在/usr/local/nginx目录安装)makemake install测试nginx是否安装成功:在/usr/local/nginx目录下执行 ./sbin/nginx -tnginx: th
2020-11-24 15:29:52
104
原创 Redis协议与数据结构
@Transactionalredis RESP协议及数据结构java序列化原理ObjectProviderjakson消息转换器 前端传入参数只能为小写才会匹配???满足对应的实体匹配规则 不一定小写
2020-11-20 15:46:57
134
原创 Redis基础命令
特点redis采用单线程多路复用模式所有操作都具有原子性定期删除+惰性删除+内存淘汰机制常用命令命令作用举例select index选择redis数据库select 1dbsize返回当前数据库的 key 的数量dbsizedel key1 key2删除指定key,返回删除数量del keyflushdb [ASYNC]清空当前数据库中的所有 keyflushdbflushall[ASYNC]清空整个 Redis 服务器的数据f
2020-11-13 13:14:29
374
原创 Redis安装
部署官网下载,地址tar xzf redis-6.0.9.tar.gz 命令解压tar包cd redis-6.0.9进入redis目录,输入make命令对redis文件编译进入redis的src目录下执行:make install进行Redis安装创建bin目录来管理redis常用命令,mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server /usr/local/redis
2020-11-09 22:25:54
99
原创 网络理解
物理层通过电缆、无线等方式将计算机连接起来,负责传输0,1信号链路层确定0,1信号的传输方式,以太网协议为主,规定链路层传输的数据结构为帧(标头+数据),发送方须知对方MAC地址帧结构6字节6字节2字节46~15004字节源MAC目标MAC类型:IP\APRDATA帧校验MAC地址表示网卡的地址,每个网卡都有唯一的MAC地址用来定位数据的发送和接受方。总长48bit,使用12位16进制表示,FF-FF-FF-FF-FF-FF,前6位表示厂商编码,后6位为流
2020-10-28 21:04:46
241
原创 Spring Security 认证流程
认证相关核心类理解1.GrantedAuthority:表示授予对象的权限,通过getAuthority获得String2.UserDetailsService接口:表示加载用户信息的服务,通过loadUserByUsername(String username)方法加载返回UserDetails类3.UserDetailsManager:是UserDetailsService的拓展,提供UserDetails的增删改等操作,实现类InMemoryUserDetailsManager(内存)和Jd
2020-10-13 10:41:05
188
原创 Spring Security
Spring SecuritySpring Security是一个提供身份验证、授权和防止常见攻击的框架。启动过程以与Spring Boot整合来介绍SecurityAutoConfiguration自动配置类classpath路径中存在DefaultAuthenticationEventPublisher类时才加载,加载了一个DefaultAuthenticationEventPublisher类到容器中导入SpringBootWebSecurityConfiguration(提供默认配
2020-10-13 10:40:17
159
原创 spring boot中如何加载servlet和filter
ServletContextInitializer用于程序化配置ServletContext的接口,用于往ServletContext容器中注册servlets, filters, listeners,context-params and attributes初始化tomcat服务器时,会初始TomcatStarter(实现ServletContainerInitializer接口)并在其中存放当前系统存在的ServletContextInitializer,在StandardContext的star
2020-09-21 21:30:53
694
原创 Spring Boot web原理
文章目录概述原理自动配置WebMvcAutoConfigurationEnableWebMvcConfigurationWebMvcAutoConfigurationAdapterDispatcherServletAutoConfigurationServletWebServerFactoryAutoConfiguration@EnableWebMvc+WebMvcConfigurer类继承图@EnableWebMvcWebMvcConfigurerWebMvcConfigurationSupport概述
2020-09-07 20:57:37
475
原创 spring boot 模块理解
文章目录模块spring-boot-starter-parent常用插件模块基于2.3.2的spring boot版本分析spring-boot-starter-parent这是一个特殊的starter,提供了以下功能。为子项目提供默认版本,可以省去常用包的版本号通过导入父依赖spring-boot-dependencies实现默认版本号,dependencies提供了常见maven配置的版本号默认使用1.8jdk版本 <properties>中定义默认编码UTF-8
2020-09-07 19:03:45
381
原创 VUE 环境搭建基础
文章目录npm包package.json模块常用命令安装npmCommonJSwebpackVuexVue-clinpmnpm(node package manager),是一个基于Node.js的包管理器,所以npm的安装基于Node.js包含有package.json描述文件并发布到npm仓库的文件package.json描述一个项目所需要用到的所有依赖包及其版本号,必须包含name和version属性。{ "name": "blog_web", "version": "1.0.0
2020-09-03 14:11:24
171
原创 Spring Boot 常用注解理解
文章目录ConditionConfigurationCondition@Conditional@ConditionalOnBeanOnBeanCondition@ConditionalOnClass@ConditionalOnWebApplicationCondition只有当对应的条件匹配的时候才注册组件@FunctionalInterfacepublic interface Condition { // ConditionContext持有beanFactory、Environment、加载器
2020-08-31 14:45:00
245
原创 Spring Boot 启动注解
@SpringBootApplication@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.cl
2020-08-28 19:37:49
457
原创 spring boot 启动过程理解
文章目录注解基本类SpringApplicationAnnotationConfigApplicationContext流程分析注解基本类SpringApplication用于启动Spring应用程序public class SpringApplication { // 项目类型 private WebApplicationType webApplicationType; // 监听器 private List<ApplicationListener<?>> lis
2020-08-26 13:58:09
153
原创 Spring ConfigurationClassPostProcessor
ConfigurationClassPostProcessorConfigurationClassPostProcessor继承BeanDefinitionRegistryPostProcessor接口,刷新IOC容器时调用postProcessBeanDefinitionRegistry方法实现注解的解析。order=Integer.MAX_VALUE具体流程processConfigBeanDefinitions获得所有BeanNames添加所有配置类到候选集合创建解析器来解析Config
2020-08-21 16:55:21
180
原创 mybatis核心组件及其流程
组件Executorsql执行器,三种类型SIMPLE(默认), REUSE, BATCHpublic interface Executor { // 结果集转换器 ResultHandler NO_RESULT_HANDLER = null; // 更新操作执行 Statement的executeUpdate int update(MappedStatement ms, Object parameter) throws SQLException; // 查询操作执行 Statement的e
2020-08-11 11:34:04
241
原创 IOC 单例Bean初始化
https://blog.csdn.net/javaxuexilu/article/details/100738670?ops_request_misc=&request_id=&biz_id=102&utm_term=spring%20ioc%E6%BA%90%E7%A0%81&utm_medium=distribute.pc_search_result.none-task-blog-2blogsobaiduweb~default-0-100738670https://j
2020-07-30 14:04:23
175
原创 Spring IOC容器初始过程
https://blog.csdn.net/javaxuexilu/article/details/100738670?ops_request_misc=&request_id=&biz_id=102&utm_term=spring%20ioc%E6%BA%90%E7%A0%81&utm_medium=distribute.pc_search_result.none-task-blog-2blogsobaiduweb~default-0-100738670
2020-07-23 16:53:44
190
原创 MYSQL安装
mysql部署下载地址:http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-8.0/解压tar包,tar -zxvf 文件名 ,解压后文件移动到/usr/local目录创建mysql用户 useradd 用户名初始化数据库:bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data配置mysql,/etc/my.cnf[cli
2020-07-19 10:05:38
139
原创 Spring MVC 消息转换器
HttpMessageConverter处理HTTP请求和响应的转换器。public interface HttpMessageConverter<T> { // 对于该Media类型是否可读 boolean canRead(Class<?> clazz, @Nullable MediaType mediaType); boolean canWrite(Class<?> clazz, @Nullable MediaType mediaType); // 获
2020-07-18 22:18:56
492
原创 Spring IOC理解
文章目录IOCDI基础概念BeanFactoryApplicationContext源码分析IOCinversion of control,将对象的生成交给第三方,通过DI(依赖注入)的方式提供参数给IOC容器生成对象。org.springframework.beans和org.springframework.context包是IOC的基础。DI通过set方法注入通过构造器注入通过接口注入基础概念https://docs.spring.io/spring/docs/5.3.0-SNAPS
2020-07-17 13:46:50
106
原创 Spring MVC 返回值处理
https://blog.csdn.net/f641385712/article/details/98989698HandlerMethodReturnValueHandler返回值解析选择返回值解析器,通过返回值解析器来处理返回值public void handleReturnValue(@Nullable Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeW
2020-07-13 22:19:12
233
原创 Spring MVC 参数解析
HandlerMethodArgumentResolverComposite适配方法参数解析器组件,保存所有参数解析器public class HandlerMethodArgumentResolverComposite implements HandlerMethodArgumentResolver { // 持有的参数解析器 private final List<HandlerMethodArgumentResolver> argumentResolvers = new Link
2020-07-10 14:58:55
314
原创 Spring MVC Handler处理流程
真实处理请求过程ha.handle(processedRequest, response, mappedHandler.getHandler());调用适配器处理请求,这里分析常用的RequestMappingHandlerAdapter。首先进入AbstractHandlerMethodAdapter的handle方法public final ModelAndView handle(HttpServletRequest request, HttpServletResponse response,
2020-07-07 12:08:06
207
原创 Spring MVC理解
文章目录Spring MVC核心类DispatcherServlet类继承图描述HandlerMappingHandlerExecutionChainHandlerAdapterViewResolver初始化流程执行过程Spring MVCSpring Web MVC是基于Servlet API构建的原始Web框架,从一开始就包含在Spring框架中。通过spring-webmvc引入。核心类DispatcherServlet在web.xml中只有配置DispatcherServlet一个serv
2020-06-29 22:47:27
121
原创 mybatis运行过程理解
mybatis构建流程mybatis使用过程try { String resources = "mybatis.xml"; // 获得配置文件流 InputStream resourceAsStream = Resources.getResourceAsStream(resources); // 通过构造者模式获得默认SqlSessionFactory SqlSessionFactory sqlSessionFactory = new SqlSessionFac
2020-06-22 16:15:00
286
原创 原子类
原子类对象的数据操作不可分割的。具有原子性,保证了并发下线程安全问题。https://juejin.im/post/5e4e40d551882549281bec01线程池数量如何配置?https://juejin.im/post/5e435ac3f265da57537ea7baReentrantLockConditionUnsafe锁消除锁粗化死锁原子类线程池生产者消费者数据库连接池线程池ThreadLocal+时间格式和随机数线程间的通信公平锁(按照申请锁的顺序)+非公
2020-06-01 15:14:53
113
原创 线程池理解
Exchanger线程间协作的工具类,用于线程间的数据交换Exchanger接口public class Exchanger<V> { // public Exchanger() { participant = new Participant(); }}
2020-05-30 18:03:32
140
原创 BlockingQueue&ThreadFactory&RejectedExecutionHandler
文章目录BlockingQueueArrayBlockingQueue成员变量构造方法重要方法enqueue(E x)dequeue()ThreadFactoryRejectedExecutionHandlerBlockingQueue阻塞队列接口,继承Queue接口,是一个先进先出的队列,提供阻塞获取和添加元素的方法public interface BlockingQueue<E> extends Queue<E> { //抛出异常的获取方法 boolean add(E
2020-05-29 11:08:44
160
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人