- 博客(45)
- 收藏
- 关注
原创 springcloud(二)
1.自定义负载均衡规则接口的实现类:对剩下的服务进行测试更改规则@Configurationpublic class ConfigBean { @Bean @LoadBalanced // SpringCloud Ribbon 是基于客户端实现的一套负载均衡的工具 public RestTemplate restTemplate(){ ret...
2020-05-01 23:28:49 162
原创 JUC编程(二)
1.不安全的集合类只要是并发环境,你的集合类都不安全(List、Map、Set)list/** java.util.ConcurrentModificationException 并发修改异常 * * 导致原因:add方法没有锁! * * 解决方案: * * 1、List<String> list = new Vector<>(); //jdk1.0 ...
2020-03-06 13:09:51 102
原创 mybatis看源码
1.原生jdbc@SpringBootTestclass MybatisSourcesApplicationTests { @Autowired DataSource dataSource; @Test void contextLoads() throws SQLException { Connection connection = dataSource.getConnection(); System.out.println(conne
2022-02-20 22:32:37 930
原创 tomcat看源码
一.环境搭建1.官网下载tomcat92.idea打开新建pom文件<!-- pom.xml --><?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http
2022-02-05 22:09:17 1179
原创 实现连接池功能
获取连接package com.example.demo.conf;import org.springframework.context.annotation.PropertySource;import org.springframework.stereotype.Component;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;//"classpath:...
2021-05-30 14:35:49 198 1
原创 SpringBatch学习例子
1.建表sqlCREATE TABLE BATCH_JOB_INSTANCE ( JOB_INSTANCE_ID BIGINT NOT NULL PRIMARY KEY , VERSION BIGINT , JOB_NAME VARCHAR(100) NOT NULL, JOB_KEY VARCHAR(32) NOT NULL, constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY)) ENGINE=InnoDB;
2021-04-11 20:10:22 393
原创 mybatis
mybatis官网快速入门使用官方 mybatis框架的步骤1:导jar包 依赖2:复制官方的配置文件!!因为官方有约束!!全局文件或配置类3:创建构建工厂对象4: 获取一个关联配置文件的流.5: 通过工程队 创建工厂6:工厂调用 openSession功能获取 一个 sqlSession7:调用里面的功能selectList(sqlId)8:释放资源不完善例子 InputStream inputStream = Resources.getResourceAsStream("
2021-02-28 18:34:25 280
原创 Azkaban
Azkaban1.Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。2.组件webserverExecutorServermysqlazkaban-web-server-2.5.0.tar.gzazkaban-executor-server-2.5.0.tar.gzazkaban-sql-script-2
2021-02-19 22:39:23 153
原创 RabbitMQ入门
1.分布式消息队列架构设计分析1.1. 分布式消息队列(MQ)应用场景异步缓冲有些业务操作可以进行异步的,只要做到最终一致性即可,不用强一致性,这种业务场景就可以使用MQ来做场景举例:用户注册以后,需要发送注册邮件和注册的提示短信。串行的方式并行方式(1) 串行方式:(2) 并行方式在正常情况下,我们的邮件和短信都需要等待一个确认返回,才知道整个过程是否完成,目前的解决方式还是强一致性的,如果发邮件或发短信服务出现问题,这个时候服务就无法确保正常了如果引入了消息队列:正常
2021-01-09 19:22:37 195
原创 mvc源码
1.请求入口 DispatcherServlet流程:1、给Web项目中配置一个 DispatcherServlet,拦截 / 请求2、初始化的时候 DispatcherServlet 会启动IOC容器,而且会 初始化他底层的九大组件3、请求到来的时候,Tomcat找到 DispatcherServlet 能处理请求,交给他,DispatcherServlet调用底层的九大组件结合容器、自动装配、反射等功能进行请求处理2.九大组件protected void initStrategies(A
2021-01-06 22:05:37 1134
原创 spring(aop)
1.aop术语1.连接点: 那些方法可以增强,这些方法就是2.切入点: 实际增强的方法,就是切入点3.通知(增强): 增强写的逻辑就是前置通知后置通知环绕通知异常通知最终通知4.切面: 是动作 把通知应用到切入点过程2.aop操作1.spring基于AspectJ实现AOP(1)基于xml(2)基于注解2.引入依赖aspectj 3.切入点表达式execution([权限修饰][返回类型][类的全路径]方法名称)注解实现//创建被增强类@Componentpubl
2020-12-31 13:57:22 217 1
原创 spring(ioc)
1.核心基础1-1.基础注解注解作用备注@Bean容器中注册组件@Primary同类组件如果有多个,标注主组件@DependsOn组件之间声明依赖关系@Lazy组件懒加载(最后使用的时候才创建)@Scope声明组件的作用范围(SCOPE_PROTOTYPE,SCOPE_SINGLETON,)@Primary同类组件如果有多个,标注主组件@Configuration声明这是一个配置类,替换以前(beans.xml)理解p
2020-12-17 15:57:11 97
原创 随笔(1)
1.判断父子关系格式A10 A100同一字符串 俩个数组 分别遍历 彼此判断包含2.字符串拼接StringBuiderif(str.length()>0){str.append(",")}str.append("aaa")3.判断字符串非空 String str=""; if(Objects.equals(str,null)){ } if(StringUtils.isEmpty(str)){
2020-08-24 17:19:08 273
原创 k8s下载准备环境集群
1.买服务器按量付费 优惠区域选择下一步在远程连接1、所有节点前置环境配置centos 版本为 7.6 或 7.7、CPU 内核数量大于等于 2,且内存大于等于 4Ghostname 不是 localhost,且不包含下划线、小数点、大写字母任意节点都有固定的内网 IP 地址(集群机器统一内网)任意节点上 IP 地址 可互通(无需 NAT 映射即可相互访问),且没有防火墙、安全组隔离任意节点不会直接使用 docker run 或 docker-compose 运行容器。Pod
2020-07-16 23:24:16 789
原创 springmvc
官网:https://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-framework-reference/web.html#spring-web一个mvc项目 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifac
2020-07-14 16:49:43 125
原创 springboot常用注解
1.@RestController 相当@Controller+@ResponseBody@RestController只返回对象,对象数据直接以 JSON 或 XML 形式写入 HTTP 响应(Response)中,这种情况属于 RESTful Web服务,这也是目前日常开发所接触的最常用的情况(前后端分离)2.@Autowired@Component :通用的注解,可标注任意类为 Spring 组件。如果一个 Bean 不知道属于哪个层,可以使用@Component 注解标注。@Repos
2020-07-04 17:41:16 113
原创 mysql进阶(二)
1.表分区看是否支持分区mysql> show plugins;查看分区表是否创建成功mysql> explain partitions select * from customer_login_log;查询每个分区多少数据select table_name,partition_name,partition_description,table_rows from information_schema.PARTITIONS where table_name='customer_lo
2020-06-26 13:53:34 136
原创 mysql进阶(一)
1.linux下安装与卸载1.查rpm -qa | grep -i mysql2.删yum remove mysql-common-8.0.17-3.module_el8.0.0+181+899d6349.x86_643.查文件find / -name mysql4.删文件rm -rf /var/lib/mysql5.删除配置文件rm –rf /usr/my.cnfrm -rf /root/.mysql_sercret6.删除mysql开机自启动服务(我没设)ch
2020-06-21 22:13:55 241
原创 如何学习总结
1.最近看了如何学习公开课 把记住的总结一下自己列个表 总有懈怠的时候 不急不燥学习不是很容易的事情 掌握了学习方法 可以事半功倍 反复说明斗争 一旦方法习惯形成 学习就变得高效有意思的多加油...
2020-06-21 16:09:10 110
原创 CENTOS 8安装docker-ce出现requires containerd.io问题
CENTOS 8安装docker-ce出现requires containerd.io >= 1.2.2-3错误解决1.之前按照步骤完全没有问题买了一个服务器 用一下os8结果报错百度一圈下面2行命令可以搞定wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.13-3.1.el7.x86_64.rpmyum -y install ./containerd.io-1
2020-06-19 14:37:43 3389
原创 linux编写E325:ATTENTION错误
编译退出错误查询相关的资料发现是这是由于在编辑该文件的时异常退出,而vim在编辑文件时会创建一个交换文件swap file以保证文件的安全性。所以在再每次打开这个文件都会出现这个警告,为了去掉这个警告,我们只需要删除这个swap文件即可。该swap文件是隐藏的,我们可以通过ls –la命令查看到。使用rm命令进行删除即可。切换到该文件所在的目录下,在此是:rm -f /etc/.profile.swp先按下ESC键,再输入指令::q!,回车,就不保存修改强自退出vi了,若要保存修改,输入: :wq
2020-06-19 11:09:36 866
原创 基本使用(docker一)
1.卸载旧版本yum remove docker2.更新环境# gcc 环境yum install -y gccyum install -y gcc-c++
2020-06-08 16:24:25 107
原创 ActiveMq(二)
1.BrokerBroker:将 ActvieMQ … 以代码的形式内嵌到我们程序中。保证随时可以启动进行使用。官网地址:http://activemq.apache.org/how-do-i-embed-a-broker-inside-a-connection<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --><dependency> <
2020-06-07 15:41:20 415
原创 activemq(一)
一.理解消息队列1.什么是消息中间件类比 如生产者 消费者 zk发送消息方 通过mq 消息接收2.如何学学习mqa.消息如何发送,消息如何接收b.mq如何实现高可用c.mq集群容错d.mq持久化e.延迟投递,定时投递f.签收机制g.整合springbooth.jms规范j.死信队列 消息重发 异步投递k.mq好处,坏处异步 原来需要等待消峰解耦场景:系统接口耦合严重 一个系统对应对个业务 接入新的模块中间件大流量 秒杀设置一个缓冲池a调b
2020-05-31 15:23:27 131
原创 redis使用(二)
1.redis分布式集群1.我们前面讲主从,讲哨兵体现出Redis分布式缓存的特性没?背景:主从复制(哨兵),虽然主从能提升读的并发,但是单个master容量是有限的,内存数据达到一定程度就会有瓶颈,无论多少套主从,master的容量都是最终的瓶颈如果解决:需要支持内存的水平扩展了,这个时候就需要使用集群了集群解决的问题高可以高并发访问/存储水平扩展2.Redis集群配置环境准备# redis.conf# 单机配置daemonize yesdir /usr/local/cl
2020-05-24 23:28:15 833
原创 redis使用(一)
1.redis是什么 为什么用redis开始的时候单体应用 一个数据库1、数据量如果太大,一个机器放不下2、数据的索引,机器内存也不下3、访问导致一个数据库实例不能够承受升级a.Memcached (缓存) + MySQL + 垂直拆分使用缓存技术来缓解数据库的压力,顺便也需要优化数据库的结构和索引!开始的时候,是 使用文件缓存来缓解数据库的压力,如果访问量继续增加,我们要做多个缓存服务器,web机器通过文 件的缓存是不能共享的,大量的小文件会产生很多IO压力!Memcached 就成为这个时
2020-05-23 20:01:47 509
原创 redis安装与卸载
一.下载安装redis1.下载wget http://download.redis.io/releases/redis-4.0.9.tar.gz2.解压tar -xzvf redis-4.0.9.tar.gz3.安装make安装完可以make install看是否安装如果是最新6.0的 可能出现问题查看默认安装路径 /usr/local/bin在这里创建一个redis-config文件夹把opt里的配置文件复制过来方便操作mkdir redis-configcp /opt/re
2020-05-15 22:56:36 659
原创 springcloud(一)
1.微服务是一种架构思想1.1用好微服务要解决四个问题这么多服务,客户端怎么访问?这么多服务,服务之间如何通信呢?这么多服务,如何治理呢?这么多服务,服务挂了怎么办?参考:https://springcloud.cc/spring-cloud-netflix.html中文API文档:https://springcloud.cc/spring-cloud-dalston.htmlS...
2020-04-29 16:57:36 178
原创 代理模式
1.静态代理抽象角色 : 一般使用接口或者抽象类来实现真实角色 : 被代理的角色代理角色 : 代理真实角色 ; 代理真实角色后 , 一般会做一些附属的操作 .客户 : 使用代理角色来进行一些操作//抽象角色:租房 service接口public interface Rent { public void rent();}//真实角色: 房东,房东要出租房子 ...
2020-04-21 23:38:30 97
原创 poi
1.maven<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.14</version></dependency><dependency> <...
2020-04-18 08:56:22 119
原创 vue
第一部分:了解什么是Vuejs及入门官⽹网:https://cn.vuejs.org/入门:https://cn.vuejs.org/v2/guide/快速入门idea创建一个项目npm init -ynpm install vue --save-dev在新文件夹下见一个页面<!DOCTYPE html><html lang="en"><hea...
2020-04-16 23:39:38 419
原创 nginx简单配置
1.找到nginx.exe点击启动启动闪退用cmd2.访问页面默认80端口3.一般修改server下的4.添加监听可以修改错误页面5.保存重新加载nginx -s reload
2020-04-12 09:35:38 132
原创 MyBatis-Plus
1.特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求. 继承一个类就好了!支持 Lambda 形式调用:通过 Lambda 表达式,方便的...
2020-04-06 18:58:44 281
原创 HTML入门
1.格式<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <!-- 设置html页面的编码,今天最后讲解--> <title>标题</title> </head> <body> 正文 </body>...
2020-03-30 21:28:16 87
原创 vue准备阶段
1.准备开发软件及环境VsCode1、下载软件 https://code.visualstudio.com/2、无脑安装即可!一直下一步! 英文界面!3、安装中文插件!4.重启NodeJs安装nodejs之前需要先安装一下python! 安装nodejs,无脑下一步即可!自动把你配置环境变量基本使用1、创建文件夹 nodejs2、创建我们的 01-控制台程序.jsconso...
2020-03-29 16:57:05 139
原创 Thymeleaf及国际化使用
1.导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </depend...
2020-03-24 23:55:13 388
原创 springboot集成Druid与Mybatis
集成Druid1.1Java程序很大的一部分都是要操作数据库的,为了提高操作数据库的性能,所以一般会使用连接池! Druid 是阿里巴巴的开源组件之一,结合了C3P0,DBCP的优点,并且自带日志监控! Druid 可以天然的监控 SQL 和 数据库连接池的状况!要使用第三方数据源1、导入依赖2、看源码配置3、看官方解释4、测试使用!1、导入依赖 <depend...
2020-03-20 10:25:20 609
原创 springboot入门原理(一)
1.1.spring简化开发javaBean 要new一个个对象IOC 控制反转的思想,我们所有的对象都去容器中去 getBean 即可AOP 面向切面编程,降低入侵性xxxTemplate 手动编写步骤1.2.springbootJavaWeb:Tomcat + Serlvet + Jsp 【web.xml 自己配置大量的servlet 管...
2020-03-18 11:53:31 130
原创 JVM
!.从进阶到脑死亡的问题1.请你谈谈你对JVM的理解? java8 虚拟机有什么更新?1.1什么是jvmJVM是一种用于计算设备的规范,它是一个虚构出来的计算机使用JVM就是为了支持与操作系统无关,实现跨平台1.2JVM内存区域划分JVM的内部体系结构分为三部分,分别是:类装载器(ClassLoader)子系统,运行时数据区,和执行引擎。1.2.1类装载器JVM的两种类装载器包括:...
2020-03-14 15:43:14 212
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人