- 博客(39)
- 收藏
- 关注
原创 复习笔记JAVA
数组的工具类Arrays1)toString(数组名) : 打印数组中所有的元素2)sort(数组名) :对数组中的元素进行排序3)copyOf(原来数组的名字,新数组的长度)如果新长度=旧长度–普通复制如果新长度>旧长度–扩容如果新长度<旧长度–缩容注意:本方法并不会改变原来数组,而是创建指定长度的新数组冒泡排序1)如果有n个数,最多比较n-1轮2)每一轮中如何比较?从头开始,把所有数过一遍【相邻比较,位置不对就互换】3)之前轮中比较出来的最大值,不需要参与下一轮的比.
2021-12-22 21:49:45
555
1
原创 操作ElasticSearch--项目中添加ES搜索
使用SpringAPI操作ES添加依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency> <dependency>
2021-12-06 11:24:35
1290
原创 redis架构
主从架构:启动主服务器docker run -d --name redis6379 \--restart=always --net=host redis启动从服务器docker run -d --name redis6380 \--restart=always --net=host \redis redis-server --port 6380 --slaveof 192.168.64.150 6379启动从服务器docker run -d --name redis6381 \--r
2021-12-02 11:52:17
946
原创 Rocketmq应用订单项目实践
订单通过Rocketmq1.父项目添加rocketmq依赖2.yml配置neame server地址,生产者需要设置生产者组名3.添加新的数据表:tx_table,用来保存本地事务的执行状态4.添加实体类:TxInfo封装事务状态数据5.添加TxMapper4.新建AccountMessage对象,用来封装账户的调用数据5.添加JsonUtil工具类,用来处理json格式转换6.修改OrderServiceImpl不在直接执行业务代码发送事务消息实现事务消息监听器,发送消息后会出发这
2021-11-30 12:01:44
781
原创 roketmq安装与启动,测试收发消息
安装roketmq启动name server命令:# 进入 rocketmq 目录cd /usr/local/rocketmq/# 启动 name servernohup sh bin/mqnamesrv &# 查看运行日志, 看到"The Name Server boot success."表示启动成功tail -f ~/logs/rocketmqlogs/namesrv.log启动broker命令:# 启动 broker, 连接name server: localhost
2021-11-29 14:37:32
1319
原创 TCC第二阶段处理幂等性问题,可靠消息最终一致性事务
文章目录三个模块都添加添加ResultHolderOrderTccActionImpl添加代码,另外两个模块同理添加三个模块都添加添加ResultHolderpackage cn.tedu.tcc;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;public class ResultHolder { private static Map<Class<?>, Map<Str
2021-11-29 10:02:34
433
原创 seata—TCC事务
文章目录有侵入的事务方案TCC--两个阶段的三个事务操作1.seata依赖2.三个配置文件3.修改Mapper,添加新的数据操作4.按照seata的规则,添加TccAction接口和实现,使用Mapper完成TCC数据库操作5.修改业务方法,调用TccAction的第一阶段方法来冻结数据6.在第一个模块上添加:@GlobalTransactional 启动全局事务有侵入的事务方案TCC–两个阶段的三个事务操作Try–预留资源,冻结Confirm–确认资源,使用第一阶段冻结的数据来完成业务数
2021-11-26 11:17:31
682
原创 seata事务协调器,seata—AT事务
seata介绍文档1.下载或者解压缩seata-server-1.3.02.修改三个配置文件registry.conf向eureka注册file.confseata server运行过程中产生的日志数据,存储到什么位置seata-server.bat修改占用内存3.运行seata-server.bat启动服务JAVA_HOME环境变量JDK必须用1.8bin目录中执行:seata-server.bat...
2021-11-25 16:26:10
453
1
原创 springboot中使用rabbitmq的几种模式
简单模式设置启动类//消息的简单模式@SpringBootApplicationpublic class Main1 { public static void main(String[] args) { SpringApplication.run(Main1.class,args); } @Bean public Queue helloworld(){ return new Queue("helloworld",false,false,
2021-11-24 11:36:21
896
原创 SpringBoot中使用rabbitmq收发消息
消息生产者启动类上添加配置类@Bean public Queue orderQueue(){ return new Queue("orderQueue",true,false,false); }注入AmqpTemplate@Autowired private AmqpTemplate t; public String saveOrder(PdOrder pdOrder) throws Exception { String orderId = generateId(); pd
2021-11-23 16:34:31
1318
原创 sleuth 链路跟踪,zipkin 链路分析
sleuth 链路跟踪随着系统规模越来越大,微服务之间调用关系变得错综复杂,一条调用链路中可能调用多个微服务,任何一个微服务不可用都可能造整个调用过程失败spring cloud sleuth 可以跟踪调用链路,分析链路中每个节点的执行情况微服务中添加 spring cloud sleuth 依赖修改以下微服务的 pom.xml,添加 sleuth 依赖sp02-item-servicesp03-user-servicesp04-order-servicesp06-zuul<depe
2021-11-23 14:41:35
797
原创 BUS配置刷新,Eureka注册IP不注册主机名
02、03、04、09添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</gro.
2021-11-22 15:17:54
1061
原创 turbine抓取多日志,配置中心服务,从gitee获取配置
从多台服务器或网关抓取日志新建turbine服务添加依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dep
2021-11-18 11:37:33
372
原创 Eureka配置中心
添加依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency>启动类注解@EnableEurekaServer 触发eureka服务器的自动配
2021-11-17 14:38:56
1939
原创 zuul网关,Hystrix,Hystrix dashboard 仪表盘
文章目录添加依赖配置yml启动类添加注解自定义zuul过滤器添加依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-zuul</artifactId> </dependency>配置ymlzuul: rout
2021-11-17 14:02:08
417
原创 网关层面添加sentinel限流
查询我的资源时,在网关层面添加限流操作.第一步:确保网关项目,已经添加了如下依赖:<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency><dependency> <groupId>com
2021-11-06 20:52:19
178
原创 日期格式传值方式
日期格式传值方式pojo层package com.jt.pojo;import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.TableName;import
2021-11-04 16:14:24
138
原创 在系统服务中添加—自动写入日志
业务层需要在方法上加注解@Asyncpackage com.jt.service;import com.jt.dao.LogMapper;import com.jt.pojo.Log;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.scheduling.annotation.Async;public class LogServiceImpl implements
2021-11-04 15:24:53
90
原创 网关层面添加sentinel限流
网关层面添加sentinel限流启动sentinel服务命令在sentinel对应目录,打开命令行(cmd),启动运行sentineljava -Dserver.port=8180 -Dcsp.sentinel.dashboard.server=localhost:8180 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.1.jar网关服务添加依赖 <!--假如网关层面进行限流,添加如下依赖-->
2021-11-04 11:39:01
305
原创 sentinel服务--自定义异常处理--springMVC拦截器--拦截器流程模拟
安装Sentinel服务在sentinel对应目录,打开命令行(cmd),启动运行sentinel使用1.8.1版本的java -Dserver.port=8180 -Dcsp.sentinel.dashboard.server=localhost:8180 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.1.jar1.添加sentinel依赖 <!--sentinel依赖,添加完此依赖以后,会在底层添加一个拦
2021-10-27 14:52:02
1108
原创 nacos读写锁
nacos底层读写配置悲观写;乐观读public class RegistryTests { private static Map<String,String> registryMap= new HashMap<>();// public static void doRegist(String serviceId,String host){// registryMap.put(serviceId, host);// }// pub
2021-10-27 11:21:46
300
原创 线程安全测试--共享nacos配置--线程池定时心跳
CopyOnWriteArrayList集合是一个线程安全的List集合,允许多个线程执行并发更新,但是只能有一个更新成功双重校验锁机制:package com.jt.common.thread;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.Vector;import java.util.concurrent.CopyOnWriteArrayList;p
2021-10-26 14:41:10
2324
原创 微服务—负载均衡—Feign
将controller配置为多服务,动态选择服务器从consumer通过远端访问provider,从provider动态选择服务器进行服务loadBalancerClient.choose(“sca-provider”)占位符:%s//访问地址:http://localhost:8090/consumer/doRestEcho2 @Autowired private LoadBalancerClient loadBalancerClient; @GetMapping("/co
2021-10-22 10:52:19
151
原创 微服务-远端服务调用
文章目录父子类配置依赖父类pom子类pomsca-provider配置文件sca-consumer配置文件实现远端服务调用sca-consumer启动类中添加@Beansca-consumer中配置controller父子类配置依赖父类pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w
2021-10-21 17:56:46
134
原创 Linux-项目部署
Linux配置安装JDK1.拖入jdk到src目录下2.执行解压命令:tar -xvf jdk-8u51-linux-x64.tar.gz3.删除安装文件4.修改解压后目录jdk-8u51-linux-x64名称为jdk1.85.检查JDK是否有效 java -versionJDK配置#设定jdk环境export JAVA_HOME=/usr/local/src/jdk1.8export PATH=JAVAHOME/bin:JAVA_HOME/bin:JAVAHOME/bin:PA
2021-10-19 21:01:21
72
原创 nginx反向代理服务器—前端部署
Nginx—反向代理服务器图片回显修改nginx,配置conf,将image.jt.com映射为E:/images# 配置图片代理 记得保存 server { listen 80; server_name image.jt.com; location / { root E:/images; } }修改hosts文件位置: C:\Windows\System32\drivers\etc因为没有买域名,只能从本地配置#配置图片服务器127.0.0.1 ima
2021-10-18 15:16:46
1061
原创 京淘项目前后端4-上传文件-删除文件
图片上传新建编辑controller层@RestController@CrossOrigin@RequestMapping("/file")public class FileController { @Autowired private FileService fileService; @PostMapping("/upload") public SysResult upload2(MultipartFile file){ ImageVO imag
2021-10-15 15:42:07
53
原创 京淘项目前后端3-获取商品列表-用MP实现分页-扩展作业:商品修改
获取商品列表接口文档编辑controller@RestController@CrossOrigin@RequestMapping("/item")public class ItemController { @Autowired private ItemService itemService;// 请求路径: /item/getItemList?query=&pageNum=1&pageSize=10// 请求类型: get// 请求参数
2021-10-14 19:33:49
327
原创 京淘项目前后端2-商品分类-MP自动填充时间
文章目录商品分类编辑controller层根据parentId封装成map商品分类编辑controller层 @GetMapping("findItemCatList/{level}") public SysResult findItemCatList(@PathVariable Integer level){ List<ItemCat> list = itemCatService.findItemCatList(level); return
2021-10-13 18:43:52
61
原创 MybatisPlus
MybatisPlus导入jar包导入后不需要添加Mybatis依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.3</version> </dependency>
2021-10-12 15:30:14
102
原创 京淘项目前后端1
路由导航守卫//路由导航守卫!!!!!!!//路由对象定义const router = new VueRouter({ routes})/**路由导航守卫实现 说明:beforeEach用户的每次请求在访问目标网址之前都会被拦截 * */router.beforeEach((to,from,next) => { if(to.path === '/login'){ return next() } let token = window.sessionStorag
2021-10-09 15:57:13
211
原创 ajax-restful方式/ajax-post方式
ajax-restful方式<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <script src="../js/axios.js"></script> </head> <body> <h1>restful</h1> <script>
2021-09-30 10:36:56
135
原创 spring三大框架整合
框架目录1.先pojo层package com.jt.pojo;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import lombok.experimental.Accessors;import java.io.Serializable;@Data@Accessors(chain = true)@AllArgsConstructor@NoArgsConst
2021-09-28 15:44:33
159
原创 Mybatis关联查询
Mybatis关联查询1.一对一查询员工表pojo@Data@Accessors(chain = true)@NoArgsConstructor@AllArgsConstructorpublic class Emp implements Serializable { private Integer id; private String name; private Integer age;// private Integer deptId; private
2021-09-27 11:53:56
176
原创 mybatis笔记
配置别名 <typeAliases><!-- <typeAlias type="com.jt.pojo.DemoUser" alias="DemoUser"></typeAlias>--><!-- package别名包--><package name="com.jt.pojo"/> </typeAliases>抽取公共sql <sql id="demo
2021-09-26 15:14:57
66
原创 Mybatis语法练习
#mybatis案例练习##查询age<100岁的女性用户.###测试代码:public class TestMybatis { SqlSessionFactory sqlSessionFactory; @BeforeEach public void before() throws IOException { String resource="mybatis\\mybatis-config.xml"; InputStream inp.
2021-09-25 17:04:25
86
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人