自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(129)
  • 资源 (1)
  • 收藏
  • 关注

原创 响应式编程 - 服务端持续向客户端进行数据流推送

响应式编程是一种编程范式,旨在处理异步和事件驱动的数据流。它强调通过数据流的变化来触发和处理操作,以实现高效、可伸缩和可响应的系统。

2023-07-10 18:03:15 263

原创 Linux服务器间文件发送、续传

SCP (Secure Copy) 是一种基于 SSH(Secure Shell)协议的文件传输工具,可以在本地计算机和远程计算机之间安全地传输文件。rsync 会自动检测目标主机上已经存在的文件和文件夹,并从中断处恢复传输。使用 rsync 续传文件夹与续传文件类似,只需要在命令中指定要传输的文件夹即可。使用 scp 命令续传:scp 命令可以通过指定传输的起始位置来实现续传。是要传输到目标主机上的路径。是要传输到目标主机上的路径。是要传输的本地文件夹的路径,是要传输的本地文件的路径,

2023-03-15 14:04:10 1447 1

原创 流程图存储的方案设计及数据结构设计

在后端数据结构中,每个节点可以用一个对象来表示,对象中应包含节点的ID、名称、类型(起始、结束、过程节点等)、位置(x和y坐标)、宽度、高度等属性。在后端数据结构中,每个连线可以用一个对象来表示,对象中应包含连线的ID、起始节点ID、结束节点ID、类型(直线、曲线、折线等)、控制点位置(如果有的话)等属性。在后端数据结构中,每个节点可以用一个对象来表示,对象中应包含节点的ID、名称、类型(起始、结束、过程节点等)、位置(x和y坐标)、宽度、高度等属性。

2023-03-09 16:16:24 1681

原创 minio文件存储 docker安装

docker pull minio/minio1.2 启动容器docker run --name minio -p 9000:9000 -p 9999:9999 -d --restart=always -e "MINIO_ROOT_USER=admin" -e "MINIO_ROOT_PASSWORD=admin123" -e "MINIO_SERVER_URL=http://127.0.0.1:9000" -v D:\p

2022-07-05 15:15:12 1702

原创 系统异常日志处理的思考

一、问题及解决思路1.错误码问题后端在编写代码,遇到异常处理时,常常纠结于错误码code的设置以及错误信息msg的处理。尤其在多人协作时常常遗忘之前定义的错误码、错误信息,从而导致重复定义错误码。因此错误码规则的合理设置,尤其重要。参考《阿里巴巴编码规约泰山版》以下简称《阿里规约》**强制 **错误码的制定原则:快速溯源、简单易记、沟通标准化。说明: 错误码想得过于完美和复杂,就像康熙字典中的生僻字一样,用词似乎精准,但是字典不容易随身 携带并且简单易懂。正例:错误码回答的问题是谁的错?错在

2022-04-15 14:54:24 513

原创 Mysql优化-CPU使用率达百分之400 处理

最近观察一个已上线系统,通过日志发现,总是会打印一个错误日志:页面响应时间超过1秒。问题的解决思路:简单来说就是 定位问题 -> 确定问题之后,寻找解决方案 -> 解决问题1.定位问题,页面响应慢一般有两种种可能 - 代码逻辑问题 - sql效率问题2.针对问题解决问题 - 优化代码 - 优化sql接下来是实际解决问题的方法:首先是先定位问题,通过日志打印和代码review发现代码本身不存在很复杂的业务逻辑。就是将数据库中数据selec...

2022-03-17 11:53:05 1993 1

原创 脑子是个好东西

脑子是个好东西,有脑子的人一定要用起来。写代码如此,做人做事也是如此。现在很多代码写起来都很僵硬,我称其为,没有灵魂。因为没过脑子,没走心。常常因为增删改查而认为简单,或者自认为透彻理解需求,随手敲起代码。三思而后行,代码就会少返工。没有思考的代码,必然会带来不断的返工。当然,三思过后,一定要记得后行。不然思考就没有意义。终日而思,不如须臾之所学也。要思考,要动脑,要写出有灵魂的代码。加油...

2021-08-17 23:28:02 137

原创 todo_list

TODO_LIST语言学习C# 基础语法学习 已完成 C# 高阶学习 进行中 C# DLL动态链接库开发 C# DLL使用待阅读书籍深入理解JAVA虚拟机第三部分 进行中 深入理解JAVA虚拟机第四部分 深入理解JAVA虚拟机第五部分待看视频框架源码分析模拟spring1 进行中...

2021-08-06 15:12:36 105

原创 Python之禅

Beautiful is better than ugly.Explicit is better than implicit.Simple is better than complex.Complex is better than complicated.Flat is better than nested.Sparse is better than dense.Readability counts.Special cases aren't special enough to break th

2021-06-24 15:02:51 83 1

原创 springboot java: -source 1.5 中不支持 diamond 运算符,不支持lambda表达式 解决办法

未指定maven编译的jdk版本。默认maven 使用的jdk版本时1.5。所以报错不支持diamond运算符,不支持lambda表达式指定maven 编译使用的jdk版本即可。springboot项目 修改如下: <properties> <java.version>1.8</java.version> <maven.compiler.source>${java.version}</maven.com

2021-05-10 15:02:51 467

原创 idea 启动 mvc 报错 class not found : org.springframework.web.servlet.DispatcherServlet

项目使用maven构建,已经添加了所有的依赖,并且 web.xml都可以点进去,说明也没有配错。网上搜了一些解决办法,配置project structure都没用。最终发现,自己 复制 依赖时,有些 依赖的scope 是 provided<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <.

2021-03-22 12:00:12 525

原创 动态数据源配置方式及事务处理汇总

参考链接如下:springboot 根据包名区分多数据源springboot 多数源事务管理机制使用dynamic-datasource-spring-boot-starter做多数据源及源码分析浅析动态切换数据源原理springboot2.0使用jta+atomikos解决分布式事务...

2021-03-09 15:20:27 363

原创 多线程--锁 详解

多线程–锁 Synchorized1 CAS1.1 CAS概念​ CAS 即 (Compare And Swap / Compare And Set /Compare And Exchange)比较并交换,一种实现并发算法时用到的技术,是 JAVA 很多底层并发包的实现原理。1.2 案例先做一个实验,示例如下:public static volatile int v1 = 0; //定义一个共享变量public staic void incease1(){ //自增 v1++;}

2021-03-08 20:46:49 500

原创 java命令

java -jar 参数前后位置说明springboot项目启动的时候可以直接使用java -jar xxx.jar这样。下面说说参数的一些讲究1.-DpropName=propValue的形式携带,要放在-jar参数前面  eg:java -Dxxx=test -DprocessType=1 -jar xxx.jar  取值:System.getProperty("propName")2.参数直接跟在命令后面  eg:java -jar xxx.jar processType=1 pr

2021-03-03 10:40:51 136 4

原创 springboot 自动配置

https://zhuanlan.zhihu.com/p/55637237https://blog.csdn.net/u011320740/article/details/105096461https://www.cnblogs.com/lifacheng/p/12971628.html

2021-02-22 16:51:23 72

转载 【知乎】为什么JAVA,wait()要放在while循环里?

作者:Aetherus链接:https://www.zhihu.com/question/439926072/answer/1687513977来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。因为Java有个叫“spurious wakeup”的神奇现象,即线程在不该醒过来的时候醒过来。Oracle官方API文档对java.lang.Object#wait(long, int)方法的描述里有这么一段:A thread can wake up without.

2021-02-22 09:49:09 322

原创 Hystrix 断路器状态转换逻辑

Hystrix 断路器状态转换逻辑–正常情况下,断路器关闭,可正常请求依赖的服务–当一段时间内,请求失败率达到一定阈值(例如失败率达到50%,或100次/分钟)等,断路器就会打开。此时,不会再去请求依赖的服务。–断路器打开一段时间后,会自动进入“半开”状态。此时,断路器可允许一个请求访问依赖的服务。如果该请求能够调用成功,则关闭断路器;否则继续保持打开状态。...

2021-02-03 16:24:46 313

原创 Eureka自我保护模式

默认情况下,如果Eureka在 一定时间内没有接收到某个微服务实例的心跳,Eureka Server 将会注销该实例(默认90秒)。但是当网络分区故障发生时, 微服务与Eureka Server无法通信,以上行为可能变得非常危险。--因为微服务本身其实是健康的,此时本不应该注销这个微服务。Eureka通过“自我保护模式” 来解决这个问题。当Server节点在短时间内丢失过多客户端(可能发生网络分区故障),那么这个节点就会进入自我保护模式。一旦进入该模式,Server将会保护服务注册表中的信息,不再删

2021-01-29 16:29:41 339

原创 Spring Cloud 整合Nacos学习笔记及集群搭建

Nacos1 什么是Nacos?Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。Nacos 无缝支持一些主流的开源生态,例如Spring CloudApache Dubbo and Dubbo MeshKubernetes and C

2021-01-29 15:51:48 323

原创 spring cloud 整合 zookeeper及zookeeper集群使用

ZooKeeper1 zookeeper简介ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。ZooKeeper包含一个简单的原语集,提供Java和C的接口。ZooKeeper代码版本中,提供

2021-01-27 17:06:07 1844

原创 springcloud consul 学习 及 consul集群搭建

Consul1 简介Consul 官方站点:https://www.consul.io/官方介绍是:Consul 是一种服务网格的解决方案,在 Consul 中,提供了服务发现、配置、分段等控制管理平台,Consul 中的每项功能都可以单独使用,也可以一起使用来构建完整的服务网格;在 Consul 内部,有一个简单的代理服务,所以在安装 Consul 后,马上就可以开始使用 Consul ;当然,Consul 也支持集成第三方代理,比如 Envoy。Consul 是一个服务组件,在用户下载

2021-01-26 20:34:41 902 5

原创 SpringCloud Eureka 学习 及 集群搭建

Eureka1 简介Eureka is a REST (Representational State Transfer) based service that is primarily used in the AWS cloud for locating services for the purpose of load balancing and failover of middle-tier servers.Eureka是一个基于REST的服务,主要用于AWS云中的服务定位,以实现负载均衡和中

2021-01-25 17:06:27 136

原创 金丝雀发布

金丝雀发布 这个说法其实来自欧美,以前旷工矿工开矿,在下矿洞时面临的一个重要危险就是矿井中的毒气,于是他们想到一个办法来辨别矿井中是否有毒气,矿工们下矿井时随身携带一只金丝雀(Canary)。由于金丝雀对毒气的抵抗能力比人类要弱,在毒气环境下会先挂掉起到预警的作用,这种风险控制背后的原理暗合灰度发布的根本需求,即:用较小的代价试错,即使出现了严重的错误(出现了毒气),对业务总体的影响也是可承受的或者是非常小的(失去了一只金丝雀)。...

2021-01-19 16:52:29 978

转载 SpringBoot过滤器过滤get及post请求中的XSS和SQL注入

https://www.jianshu.com/p/bec4936d6672

2020-12-11 16:23:50 2082 6

原创 Mybatis Plus 报错 invalid bound exception

项目未使用自动配置,手动配置了SqlSessionFactory,应该使用MybatisSqlsessionFactory。

2020-08-17 17:12:00 237 3

原创 mybatis-plus分页无效的问题

springboot+mybatisplus+Druid构建项目的时候,分页一直无效,后发现构建SqlSessionFactory的时候需要手动添加下分页插件拦截器,代码如下: @Bean(name = "mainSqlSessionFactory") @Primary public SqlSessionFactory mainSqlSessionFactory(@Qualifier("mainData") DataSource dataSource) throws Exception

2020-08-17 17:09:57 3460 3

转载 Linux配置免密登录的两种方式

https://www.jianshu.com/p/0522dc7c28d7在使用linux的过程中,为了省去每次连接输入密码的麻烦,通常会为服务器配置免密登录。配置免密登录的方式有两种:1、使用公钥(常用,安全);2、使用私钥(方便,有风险)。一、使用公钥配置免密登录使用公钥配置免密登录时最常用的配置方式,过程如下:本机生成ssh公钥 --> 将本机公钥copy到服务器的 ~/.ssh/authorized_keys 文件中(没有此文件则新建即可)上述过程类似git..

2020-07-30 15:23:15 8061

原创 ElasticSearch笔记02-文档操作

文档操作1 索引一个文档将数据存储至es。关于文档ID文档通过index API被索引——使数据可以被存储和搜索。但是首先我们需要决定文档所在。正如我们讨论的,文档通过其_index、_type、_id唯一确定。们可以自己提供一个_id,或者也使用index API 为我们生成一个。使用自己的ID如果你的文档有自然的标识符(例如user_account字段或者其他值表示文档),你就可以提供自己的_id,使用这种形式的index API:PUT /{index}/{type}/.

2020-07-27 20:45:13 156

原创 ElasticSearch笔记01-数据

数据1 如何存储对象对象(object)是一种语言相关,记录在内存中的的数据结构。为了在网络间发送,或者存储它,我们需要一些标准的格式来表示它。JSON (JavaScript Object Notation)是一种可读的以文本来表示对象的方式。它已经成为NoSQL世界中数据交换的一种事实标准。当对象被序列化为JSON,它就成为JSON文档(JSON document)了。Elasticsearch是一个分布式的文档(document)存储引擎。它可以实时存储并检索复杂数据结构——序列化的JSO

2020-07-27 20:44:45 140

转载 springboot 中CommandLineRunner接口的作用

https://www.jianshu.com/p/13980d3ee7fd先看CommandLineRunner接口的API:import org.springframework.core.annotation.Order;public interface CommandLineRunner { /** * Callback used to run the bean. * @param args incoming main method argument..

2020-07-23 16:48:34 416

原创 ES查询返回值详解

https://blog.csdn.net/qq_37174887/article/details/102783539

2020-07-22 16:53:26 3358

原创 通过LogStash 将mysql数据同步到elasticsearch

参考http://www.manongjc.com/detail/14-ittmigytnoothnc.html

2020-07-22 16:37:25 391

原创 待阅读博客记录

锁原理https://www.jianshu.com/p/e674ee68fd3f探索java同步机制https://www.ibm.com/developerworks/cn/java/j-lo-synchronized/hashMap源码解析https://www.cnblogs.com/lixuwu/p/10837227.htmlJava中的ConcurrentHas...

2020-03-30 09:24:17 110

原创 Mysql开发规范

一、基础规范1) 使用InnoDB存储引擎2) 数据库字符集使用UTF8,校对字符集使用utf8_general_ci3) 所有表、字段都尽量添加注释4) 库名、表名、字段名使用小写字母,禁止超过32个字符,须见名知意5) 非唯一索引以 “idx_字段1_字段2” 命名,唯一索引必须以 “uniq_字段1_字段2” 命名二、查询规范1) SQL语句尽可能简单,大的SQL想办法拆...

2020-03-23 14:02:30 109

原创 rabbitMq两种延时队列实现方式比较

https://blog.csdn.net/zhangyuxuan2/article/details/82986802?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

2020-03-10 10:22:02 470

原创 rabbitMq常用命令

http://www.360doc.com/content/17/1124/08/412471_706641186.shtml

2020-03-10 10:19:55 116

原创 springboot项目整合rabbitMq涉及消息的发送确认,消息的消费确认机制,延时队列的实现

https://www.cnblogs.com/yangxiaohui227/p/11331086.html观看过后收获很多。

2020-03-09 15:53:12 198

转载 如何用sql语句复制一张表

1、复制表结构及数据到新表CREATE TABLE 新表 SELECT * FROM 旧表这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable;来删除。不过这种方法的一个最不好的地方就是新表中没有了旧表的primary key、Extra(auto_increment)等属性。需要自己用"alter"添加,而且容易搞错。2、只...

2019-08-09 15:34:38 4462

原创 八月目标梳理

1.空余时间研究quatz框架2.实现 一个单点登陆 为服务(技术选型Spring Security、Shiro比较)3.学习文档输出

2019-08-09 10:36:34 135

原创 AOP中获取controller层 json参数

package com.ck.framework.basicframework.aop;import cn.hutool.core.bean.BeanUtil;import lombok.extern.slf4j.Slf4j;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.Ar...

2019-07-02 14:38:19 3688 3

空空如也

空空如也

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

TA关注的人

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