- 博客(62)
- 问答 (1)
- 收藏
- 关注
原创 手写一个深拷贝工具
深拷贝(Deep Copy)是指在复制对象时,不仅复制对象本身,还递归地复制对象中引用的所有子对象。这样可以确保新对象与原对象完全独立,修改新对象不会影响原对象。浅拷贝的不足// 输出 30,而不是 25这里,person2 只是 person1 的浅拷贝,它们指向同一个内存地址。当修改 person2 的属性时,person1 的属性也随之改变,因为它们本质上是同一个对象。
2024-11-23 21:57:13
800
原创 Spring Boot 动态数据源切换
随着互联网应用的快速发展,多数据源的需求日益增多。Spring Boot 以其简洁的配置和强大的功能,成为实现动态数据源切换的理想选择。本文将通过具体的配置和代码示例,详细介绍如何在 Spring Boot 应用中实现动态数据源切换,帮助开发者高效应对不同业务场景下的数据管理需求。无论是读写分离还是数据隔离,都能轻松搞定。
2024-11-23 21:55:55
870
原创 状态模式之状态机
IDLE, // 空闲状态,等待投币或操作COIN_INSERTED, // 已投币状态,可选择商品SELECTING_PRODUCT, // 正在选择商品状态DISPENSING_PRODUCT, // 正在出货状态OUT_OF_STOCK, // 缺货状态ERROR // 故障状态INSERT_COIN, // 投币事件SELECT_PRODUCT, // 选择商品事件DISPENSE_PRODUCT, // 出货事件REFILL_STOCK, // 补货事件。
2024-11-19 21:52:28
1067
原创 SQL 优化之路:让你的查询秒杀竞争对手
SARGable 是一个术语,源自于“Search ARGument ABLE”的缩写,指的是能够利用索引进行高效搜索的表达式。在 SQL 查询中,SARGable 表达式可以在 WHERE 子句中高效地使用索引,从而加快查询的执行速度。简单来说,SARGable 表达式是指那些在 SQL 查询中可以有效利用索引的条件。使用简单的比较操作符,如 =, >, =, 10。
2024-09-10 21:57:45
1069
原创 MySQL 任何有效分表?
理想情况下我们已知一个id,不管是根据哪种规则,我们都能很快定位到该读哪个分表。但很多情况下,我们的查询又不是只查主键,如果我的数据库表有一列name,并且加了个普通索引。由于name并不是分片键,我们我们没法定位到具体要到哪个分表上去执行sql,于是就会对所有分表进行查询,随着我的表越来越多,次数会越来越多,这就是所谓的读扩散问题。
2024-06-06 14:27:42
321
1
原创 你真的了解SQL语句的执行过程?
可以通过设置 binlog_group_commit_sync_delay 和 binlog_group_commit_sync_no_delay_count 来实现。如果没有命中缓存,就开始真正执行语句了。
2024-06-06 11:46:21
1225
1
原创 快速搭建全套ELK日志分析系统
ELK:Elasticsearch 搜索引擎、Logstash 日志收集、Kibana 视图展现安装Elasticsearch 搜索引擎1.mac安装方式安装:brew install elasticsearch 或者启动:brew services start elasticsearch停止:brew services stop elasticsearch前台启动:elasticsearch2.官方下载包方式启动:cd 进入elasticsearch文件夹bin目录 sh elas.
2020-05-22 10:24:50
1258
原创 spring boot 微服务多模块配置
首先创建一个springboot项目dubbo-demo在pom.xml中添加<packaging>pom</packaging>指定为父项目接着右键项目选择New->Model,选择以maven的方式创建一个名为api的子项目,并将父项目中的java和resources文件夹复制覆盖掉子项目中的文件夹,将Appilication文件修改为apiAppli...
2019-12-17 11:07:09
1267
原创 spring boot netty整合websocket 即时通讯系统之解决netty中注入bean为null(十二)
import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;import org.springframework.stereo...
2019-07-22 10:00:51
682
原创 spring boot netty整合websocket 即时通讯系统之用户群聊(十一)
前端使用vue和elementui通过websocket连接后端,使用reconnecting-websocket.min.js封装类保证断线重连。loginMore.vue<template> <el-form :model="form"> <el-form-item label="用户名称"> <el-input v-...
2019-07-22 09:55:16
976
原创 spring boot netty整合websocket 即时通讯系统之用户一对一单聊(十)
loginOne.vue<template> <el-form> <el-select v-model="value" multiple placeholder="请选择需要发送的用户"> <el-option v-for="item in others" :key="item.value" ...
2019-07-22 09:48:46
603
原创 spring boot netty 即时通讯系统之用户与用户之间聊天(九)
在ChatReqHandler.java中指定用户,这里使用set集合,单个的话就发送给单个用户,多个就发送给多个用户,群聊也可以使用ChannelGroup实现群聊,原理是一样就是将多个用户的channel塞入一个ChannelGroup中,当其中一个用户向ChannelGroup中发送消息时,ChannelGroup会广播给ChannelGroup中当其他所有用户,其实也可以直接操作遍历...
2019-07-21 17:35:02
943
原创 spring boot netty 即时通讯系统之客户端与服务端聊天(八)
通过客户端发送信息给服务端进行消息的推送,推荐从前面的章节开始看。ChatReqHandler.javaimport com.fyrt.fyrtim.util.*;import io.netty.channel.ChannelHandlerContext;import io.netty.channel.ChannelInboundHandlerAdapter;import lomb...
2019-07-21 17:19:35
637
原创 spring boot netty 即时通讯系统之心跳机制(七)
netty心跳机制,通过userEventTriggered方法进行心跳检测,用户超时长时间未操作时则会触发,通过发送ping/pong的指令来保持客户端与服务端之间的连接不中断,推荐从前面的章节开始看。HeartBeatReqHandler.javaimport com.alibaba.fastjson.JSONObject;import com.fyrt.fyrtim.util...
2019-07-21 17:17:57
5427
1
原创 spring boot netty 即时通讯系统之登录认证(六)
通过MessagePack框架将用户信息进行JSON格式数据传输给服务端,进行账号密码验证登录,推荐从前面的章节开始看。LoginAuthReqHandler.javaimport com.alibaba.fastjson.JSONObject;import com.fyrt.fyrtim.util.*;import io.netty.channel.ChannelHand...
2019-07-21 17:15:14
5231
原创 spring boot netty 即时通讯系统之MessagePack加解码器(五)
netty之MessagePack编码器特点:编解码高效,性能高;序列化之后的码流小;支持跨语言;结合LengthFieldPrepender和LengthFieldBasedFrameDecoder解决粘拆包:在MessagePack编码器之前增加LengthFieldPrepender,它将在ByteBuf之前增加2个字节的消息长度字段,在MessagePack解码器之前增...
2019-07-21 17:09:13
587
原创 spring boot netty 即时通讯系统之传输消息体和用户表类(四)
user.javaimport lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import org.msgpack.annotation.Message;@Data@NoArgsConstructor@AllArgsConstructor@Messagep...
2019-07-21 17:04:47
440
原创 spring boot netty 即时通讯系统之utils工具类(三)
Attributes.javaimport io.netty.util.AttributeKey;/** * 通道中的自定义属性 */public interface Attributes { /** * 用户控制用户是否登录 newInstance创建一个给定名称为login的key,如果已存在则会报错 */ AttributeK...
2019-07-21 16:58:19
1179
原创 spring boot netty 即时通讯系统之客户端与服务端(二)
NettyClient.java 客户端import com.fyrt.fyrtim.util.MessagePackDecoder;import com.fyrt.fyrtim.util.MessagePackEncoder;import com.fyrt.fyrtim.util.NettyConstants;import io.netty.bootstrap.Boot...
2019-07-21 16:54:11
2385
原创 spring boot netty 即时通讯系统之主体结构介绍(一)
首先我们看一下主体的一个结构:maven:<properties> <java.version>1.8</java.version> <netty.version>4.1.37.Final</netty.version> <fastjson.version>1.2.46</fastjs...
2019-07-21 16:48:12
2063
原创 spring cloud hysrix断路器
Hysrix 断路器首先引入依赖<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId></dependency>修改appl...
2019-06-12 19:44:23
206
原创 spring cloud zipkin 链路追踪
Zipkin 链路追踪引入依赖<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-sleuth-zipkin</artifactId></dependency>随后使用docker 启动 zip...
2019-06-12 19:44:08
174
原创 spring boot logback日志管理
建立logback-spring.xml<?xml version="1.0" encoding="UTF-8" ?><configuration><appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch....
2019-06-12 19:43:54
246
原创 spring cloud之eureka 注册中心
Eureka 注册中心注: spring boot 项目 需要引入当前版本号所对应的spring cloud 版本<dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><art...
2019-06-11 19:54:13
250
原创 spring cloud zuul 网关配置
Zuul 网关配置首先引入依赖<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-zuul</artifactId></dependency><depend...
2019-06-11 19:51:01
251
原创 spring cloud ribbon 负载均衡
Ribbon 负载均衡首先引入依赖<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-ribbon</artifactId></dependency>修改appl...
2019-06-11 19:49:15
173
原创 spring cloud feign 负载均衡
Feign 负载均衡首先引入依赖,依赖根据版本号来决定<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency>在...
2019-06-11 19:45:50
172
原创 spring cloud config 统一配置中心
Config 統一配置中心server端首先我们引入依赖,需要根据当前版本而定。<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-config-server</artifactId></depend...
2019-06-11 19:42:21
414
原创 spring cloud admin分布式监控
Admin 分布式监控server端首先引入依赖<dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-server-ui</artifactId><version>2.1.1</version>...
2019-06-11 19:35:05
861
原创 flowable 单节点跳转
<?xml version="1.0" encoding="UTF-8"?><definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org...
2019-06-11 19:10:50
2474
1
原创 flowable 动态多实例
<?xml version="1.0" encoding="UTF-8"?><definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/20...
2019-06-11 19:02:57
3230
6
原创 flowable 多实例流程
<?xml version="1.0" encoding="UTF-8"?><definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001...
2019-06-11 18:58:18
4248
原创 flowable 生成流程图高亮追踪
public ProcessEngine processEngine() { return ProcessEngines.getDefaultProcessEngine(); }/** * 生成流程图 * * @param processId 流程部署id */public void genProcessDiagram(HttpServletResponse ...
2019-06-10 23:52:07
6542
5
原创 flowable 流程图部署
/** * 发布模型为流程定义 * * @return * @throws Exception */public String deployModel(String id) throws IOException { org.flowable.ui.modeler.domain.Model modelData = modelService.getModel(id); /...
2019-06-10 23:50:59
3659
2
原创 flowable 并行节点跳转以及驳回
bpmn流程图<?xml version="1.0" encoding="UTF-8"?><definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3...
2019-06-10 23:50:28
3547
2
原创 flowable 获取当前以及下一任务节点
/** * 获取任务节点 * * @param node 查询节点选择 * @param taskId 任务id */public void nextFlowNode(String node, String taskId) { Task task = processEngine().getTaskService().createTaskQuery().taskId(tas...
2019-06-10 23:49:44
24452
4
原创 flowable 获取流程图所有属性
/** * 获取模型所有节点属性 */public Collection<FlowElement> getProcessNodes(String modelId) { org.flowable.ui.modeler.domain.Model modelData = modelService.getModel(modelId); //获取模型 BpmnMo...
2019-06-10 23:49:08
5415
原创 Oracle错误——ORA-03113:通信通道的文件结尾
原因:归档日志存储空间已满,可设置归档日志存储空间大小。设置空间参考博客:https://blog.youkuaiyun.com/zwk626542417/article/details/39667999也可以关闭归档模式。开关归档模式参考博客:https://blog.youkuaiyun.com/e_wsq/article/details/78577218...
2019-05-21 12:58:03
922
原创 ORACLE 新建用户无法登陆 ORA-01017: invalid username/password; logon denied
一、 修改密码alter user 用户名 identified by 新密码;二、账号大小写如果账号小写需要加入双引号:“userName”
2019-05-21 12:56:22
3700
空空如也
创建been失败,求大佬解答
2017-08-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人