自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 EasyExcel的追加写入(新增POI、CSV)

2.将已有的excel通过FIleInputStream流读出来,加载到内存当中,然后获取对应sheet页的行数,进行追加操作。总结:目前市面上流行的2中EasyExcel和POI都不是真正的对物理excel文件进行追加导入。1.for循环查询数据,将数据写入缓存,最后一次性写入excel。唉~别急,我再写个POI的。

2024-01-05 17:41:29 7046 4

原创 分页实体类封装

【代码】分页实体类封装。

2023-11-29 09:29:23 577

原创 线程池配置

**线程池配置相关*/@Slf4jsuper(s);@Override= null) {

2023-11-28 17:21:42 547

原创 @FeignClient注解,fallback和fallbackFactory

对比参考:https://blog.youkuaiyun.com/weixin_44285713/article/details/133018382

2023-11-09 15:57:24 446

原创 redis查看执行的命令+配置文件命令

Slowlog 只会记录执行时间超过指定阈值的命令,默认阈值是 10 毫秒。同时,Slowlog 的记录是有限的,当记录数量达到设置的最大限制后,旧的记录会被新的记录替代。这个参数定义了 Slowlog 的最大长度,即 Slowlog 中可以记录的最多命令数量。当 Slowlog 中的记录数量达到这个值时,旧的记录会被新的记录替代。这个参数定义了一个执行时间的阈值,单位是微秒(μs)。你可以使用 SLOWLOG GET 命令来获取第 n 条记录的详细信息,其中 n 是记录的索引(从 0 开始)

2023-08-16 18:39:50 841

原创 rocketMQ知识点

8.RocketMQ的主从同步机制是怎样的?如何保证主从同步的可靠性?3.RocketMQ的消息消费模式有哪些?如何保证消息消费的可靠性?10.RocketMQ如何实现分布式事务消息?如何保证事务的一致性?4.RocketMQ的消息发送流程是怎样的?如何保证消息的可靠性?5.RocketMQ的消息队列数量如何设置?6.RocketMQ的消息过滤机制是什么?2.RocketMQ的消息存储方式是什么?7.RocketMQ如何处理消息的重复发送和重复消费问题?9.RocketMQ的延迟消息如何实现?

2023-04-26 17:56:30 172

原创 简单的enum转map

【代码】简单的enum转map。

2023-03-31 11:18:01 1105

原创 RocketMQ的一些使用理解

rocketMq

2023-03-01 10:55:37 266

原创 获取本机ip

ip

2022-12-12 10:26:13 132

原创 ElasticSearch笔记

es

2022-10-27 10:40:23 287

原创 熔断、降级 Sentinel

熔断、降级 Sentinel

2022-07-15 18:18:37 266

原创 通过AOP对接口进行并发控制(限流同理)

redis限流

2022-06-10 11:36:30 859

原创 Dubbo负载均衡的源码流程(2022.5.30)

默认负载均衡策略:RandomLoadBalance(随机策略)在 Dubbo 3.0 中,负载均衡策略存在以下几种:1.RandomLoadBalance (随机)2.RoundRobinLoadBalance (轮询)3.ShortestResponseLoadBalance (最短反馈)4.LeastActiveLoadBalance (最少活跃)5.ConsistentHashLoadBalance (一致性 hash)..................

2022-05-27 15:33:24 589

原创 eden区分配至s0、s1

1.eden如何分配给s0、s1由此图看出,eden区做第一次YGC时,放入s0、s1时是随机的。2.是否内存泄漏FGC次数很少,占用时间很少,YGC很频繁,但是每次清理完,eden区几乎为0,达到预期效果,没有内存泄漏问题......

2022-05-11 14:54:03 1106

转载 JAVA去除括号及里面的内容(正则表达式 && 代码算法)

转载:https://www.cnblogs.com/diehuacanmeng/p/13223334.htmlprivate static String clearBracket(String context, char left, char right) { int head = context.indexOf(left); if (head == -1) { return context; } else {

2022-05-06 11:20:34 4649 3

原创 重构项目(mq消费业务)

上周历时2个月,重构完了一个以消费mq为主的项目,一开始花了半年的时间来吃透该项目的业务逻辑,在重构的过程中,对业务类进行优化,封装工具类,移除没有必要的私有方法,引入两个线程池,一个主要进行mq业务消费,一个进行末尾的解耦业务操作(主要是mq推送),减少DB的调用,全部准备数据在业务开始时通过多线程进行准备,后续业务即拿即用,解决一些隐藏隐患,提升模板模式的覆盖率,引入xxl-job,定时拉取mq消息(这里没有用推送方式,是因为该项目一天的消费量是在4-5千万级别,但是线上只部署了3台,为了让其在周末以及

2022-04-28 14:57:54 555

原创 nginx配置(相关字段含义)

########### 每个指令必须有分号结束。##################user administrator administrators; #配置用户或者组,默认为nobody nobody。#worker_processes 2; #允许生成的进程数,默认为1#pid /nginx/pid/nginx.pid; #指定nginx进程运行文件存放地址error_log log/error.log debug; #制定日志路径,级别。这个设置可以放入全局块,http块,serv

2022-04-28 11:34:12 399

原创 加盐密码校验

过完年,因为业务,需要对采购单进行改价限制,通过密码去修改价格,做了一个加盐的方式,进行密码校验,现在刚好有时间进行整理,列举一下接口,和底层的代码逻辑。Controller/** * 密码 */@RestController@RequestMapping("/api/rest/password")@Api(tags = "密码")@Slf4jpublic class PasswordController { @DubboReference(version="0.1", time

2022-04-26 18:05:37 2892

原创 从spring容器中获取自动装配的bean

第一种:最常见工具类import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;import org.springframework.stereotype.Component;@Componentpublic class AppBea

2022-04-26 16:41:15 243

原创 使用Java 8的DateTimeFormatter取代传统的SimpleDateFormat

SimpleDateFormat和Calendar等传统日期类存在多个设计缺陷,以至于在Java中处理日期经常需要用到JodaTime等第三方工具库。Java 8已经提供新的日期工具类,和JodaTime是同一个作者,吸收了JodaTime的经验,基本涵盖了JodaTime的所有功能,所以不需要再引入JodaTime也不需要再使用传统日期工具类.Java8的java.time package主要提供了下面的类:● Instant:表示格林威治时间(UTC)开始的时间点,初始时间为1970-01-01 0

2022-04-15 18:07:46 3532

转载 搭建java脚手架

转载:https://www.cnblogs.com/sun-flower1314/p/15098057.html一、创建脚手架1.创建maven项目,引入脚手架依赖 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-archetype-plugin</artifactId

2022-03-17 17:28:45 3017

原创 重构项目,参考Ali规范

最近在重构整体负责,走的是dubbo服务,参考了阿里规范,进行了分层,如下的结构。

2022-03-17 16:28:12 516

原创 @FeignClient 实现简便http请求封装

我们一般在代码中调用http请求时,都是封装了http调用类,底层自己定义请求头,在写的时候,也是需要对返回的值进行json解析,很不方便。name:name属性会作为微服务的名称,用于服务发现url:host的意思,不用加http://前缀decode404:当发生http 404错误时,如果该字段位true,会调用decoder进行解码,否则抛出FeignException使用流程:(1)创建接口类(FeignApi),来统一规范需要调用的第三方接口@FeignClient(name =

2022-02-18 16:14:45 1429

原创 Identify and stop the process that‘s listening on port 11104 or configure ...

项目引入xxl-job,对应配置文件端口为11104,Application启动项的端口也为11104,即报错。修改默认端口即可。

2021-12-02 14:25:38 1005

原创 设计模式学习

设计模式单例模式单例模式定义:保证一个类只有一个实例,并且提供一个全局访问点。场景:重量级的对象,不需要多个实例,如线程池,数据库连接池。1.懒汉模式:延迟加载,只有在真正使用的时候,才开始实例化。1)线程安全问题2)double check 加锁优化3)编译器(JIT),CPU有可能对指令进行重排序,导致使用到尚未初始化的实例,可以通过添加volatile关键字进行修饰。2.饿汉模式:类加载的初始化阶段就完成了实例的初始化。本质上就是借助jvm类加载机制,保证实例的唯一性。3.静态内部类

2021-06-29 17:06:21 121

原创 多线程学习

在 java 中实现多线程有四种方式,如下:1.继承 Thread 类2.实现 Runnable 接口3.使用 FutureTask4.使用 Executor 框架

2021-06-22 16:54:09 716

原创 JVM学习

1.内存结构图2.类加载过程(1).(2).(3).(4).解析:可以通过javap -v Math.class > Math.txt 反编译成字节码文件,看看执行流程,会展示引用的操作方式。(5).3.类加载器

2021-06-18 13:43:45 241

原创 Docker学习

我选择了在linux安装,使用的系统是CentOS,下面先安装这个docker。一、安装CentOS(7|8)下载地址: https://mirrors.aliyun.com/centos/7.9.2009/isos/.1.有个得说一下,就是VM配置网关,先找到这个子网IP和子网掩码。2.以root身份进入虚拟机,输入以下命令:3.设置网络,wq保存退出。4.重启下即可,然后连xshell就行了,xshell就不讲了。二、安装docker官网教程: https://docs.docke

2021-06-15 23:04:05 210

原创 springboot日志使用笔记(logback,log4j2.log4j,jul)(slf4j,jcl)

springboot自动集成了logback,jul,log4j,并用logback-classic桥接器、jul-to-slf4j适配器、log4j-to-slf4j适配器集成与门面slf4j-api。

2021-06-12 22:19:33 1141

原创 mqsql底层实现及索引优化

数据结构可视化网站:链接: https://www.cs.usfca.edu/~galles/visualization/Algorithms.html.索引数据结构:·二叉树·红黑树·Hash表·B-Tree

2021-06-12 22:18:58 543 2

原创 idea Springboot热部署

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional></dependency>1.setting2.Ctrl + Shift + Alt + / 勾选后,关闭即可修改项目等待即

2021-06-10 22:55:28 76

原创 Springboot自动配置类(2021-06-10)

学习于徐庶老师。

2021-06-10 22:15:04 195

原创 Springboot清除缓存(2021-06-08)

maven:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> </dependency>注入:@SpringBootApplication@EnableCachingpublic class CacheApplication {

2021-06-08 12:50:26 3440

原创 写报表时,对生成数据进行阶梯式的计算方式(2021-06-04)

需求:一个产品有不同的订单,交付日期不同,现把所有的订单按照交付日期的先后依次展示出来,并找出此产品的库存,依次进行满足,将能满足的标记出来。预期样式:思路:红色方框标记的列是不存在的,是需要通过计算出来的,注意需要库存总数这列,是累加的。1.创建表,插入原始数据// 1.1创建产品库存表CREATE TABLE product_inventory( product_name varchar(20), inventory int(11))// 1.2插入产品及库存数据INSERT IN

2021-06-04 16:08:31 315

原创 ETL思想(2021-05-31)

工作中,接触到了数据处理,不过并没有直接使用到ETL在市面上的工具,部门中的一个小组基于kettle开发了一个可视化的便捷平台,我使用平台来进行数据的处理。1.定期需要清理的数据,写好sql脚本,定时任务去清理。2.不同库的数据,比如mysql,sybase,vector这三个数据库,我需要他们各自的数据,来做一个报表,这时推荐将临时表建于mysql中,因为mysql语法相对而言比较流行,更多的被熟知。3.需要进行逻辑运算的数据,要将数据做成一个报表,有一些情况是不需要写code,直接用临时表和sql

2021-05-31 15:29:35 172

原创 sql调优例1(当数据量大时,对WHERE条件进行分割)

今天对一个视图进行优化,数据量有百万以上,一共关联了7张表,其中有一张表 JOIN 了两次(假设为 a 和 b ),且两次 ON 的判断条件不一样,这就导致了会用到不同的索引,而且在 WHERE 条件的时候,a 用到了3个条件判断,b用到了4个条件判断,这样导致了sql执行的时候消耗过多,时间变慢。调优后查询时间从30s变为了6s,达到预期要求。假设上面说的jion两次的表为test表,看如下SQL:SELECT DISTINCT t.a, t.b, t.c, a.name, b.carF

2020-12-07 17:47:10 639

原创 JPA注解写sql语句(@Query(nativeQuery = true, value =...... )

创建实体类Log,接口LogService,接下来写具体代码说一下逻辑,这代码是对数据做删除,输入时间days,从当前时间开始,往前+days的时间,在这个期间外的数据,进行删除.public interface LogService extends JpaRepository<Log, Integer> { @Transactional @Modifying @Query(nativeQuery = true, value = "delete from DB.

2020-10-13 11:30:00 2737

原创 求jpa批量更新时,不先select再update的解决办法

jpa原生方法如下: jpa.saveAll();当我需要实现批量更新时,jpa会先去执行select一条一条的查询完,再一条一条的update,效率太低,请问有没有别的方法?(逻辑不变,框架不变)

2020-09-18 09:27:13 1146 6

原创 快俩月没更(2020.08.06)

这一个半月天天在搬砖,了解业务,学习了以下的技术:1.查询数据库的方式:(1)jpa(spring data)(2)JDBC2.发送请求(POST、GET)3.写单元测试,Mock这些,添加断言,预测响应结果。4.docker 启动项目,人造数据,给自动化测试提供数据。5.jenkins 将提交的业务代码和自动化测试代码一起build,验证代码可行性。6.搬砖搬砖,还是搬砖。有时间我打算把单元测试写一下,溜了溜了。...

2020-08-06 17:51:30 131

原创 Jmeter的压测报告展示在Grafana图形化界面的安装教程(安装window10版本的docker、配置influxDB)(2020.06.19)

最近在入门性能测试,首选的是jmeter的压测,想对其产生的报告进行一个图形化界面的展示,需要用到docker容器、influx数据库、grafance图形化界面。说一下总的流程:在jmeter里面进行接口的压测,然后设置后端监听器,指定influxDB运行的端口,将压测数据传至influxDB,然后grafance从influxDB中获取数据,进行图形化展示。influxDB和grafance都需要运行在docker容器中。1.jmeter这个直接去官网下载解压包,点击 /bin目录下的 jme

2020-06-19 13:42:14 982 2

13-Java并发编程学习宝典.zip

13-Java并发编程学习宝典.zip

2021-06-22

空空如也

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

TA关注的人

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