自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

huskyui

回首往昔,更进一步

  • 博客(162)
  • 资源 (1)
  • 收藏
  • 关注

原创 线程池使用案例一

前题刚入职的公司,要求接口压测要通过,发现在业务中需要接口需要使用多线程的使用,由于入参动态输入会员id数组,我们需要创建数组size的线程数,来请求db(其实应该用一个sql来写的,但是公司分片数据库不支持)。需求:多线程中,每个线程执行的时间都不能超过一个固定值,如果返回不了,可丢弃方案一使用CompletableFuture的allOf join 来实现,但又缺点,我们需要在规定时间200ms内获取所有Future的结果,但是好像这样的代码并不适合// multiple task

2021-06-19 00:38:37 320

原创 InnoDB数据页结构

整体结构一个表很大时,会创建很多数据页,这些数据页就是一个双向链表。数据页结构一个数据页分为![image.png](https://img-blog.csdnimg.cn/img_convert/7e7fd2e4ba8bd8865f56b8d233813ab2.png#clientId=u6ce51ca4-ff71-4&from=paste&height=1920&id=u0743e322&margin=[object Object]&name=image.

2021-06-11 00:35:06 160

原创 ThreadLocal种种问题

为什么需要在拦截器删除threadLocal中的数据因为在实际中的使用的时候,我们使用的tomcat的线程池时候,如果使用完不删除threadLocal里面数据,会导致数据可能在下次请求时,被其他线程可见。 ThreadLocal<String> threadLocal = new ThreadLocal<String>(); @RequestMapping("/test") public Map<String,String> test(){

2021-05-31 01:09:01 1021

原创 springcloud整合seata1.3实现分布式事务

seata下载seata-server在github里面的seata仓库的release里面有链接切换github里面的seata的branch,寻找配置选择branch 1.3.0参数信息我们切换到script里面server我们需要选择我们的数据库版本,并新建database seata,将数据库脚本导入数据库client将client端的sql导入到我们需要提交的数据库里面(用于at模式的undo.log)config下载config.txt到seata-server根目录,

2021-05-28 18:59:07 669

原创 AsyncEventBus在Spring中的应用,处理异步任务

前言最近在看线程池,就全局搜了之前公司代码,关键字 Executors,一下子就看见了在使用guava的AysncEventBus,在我使用的感觉来就是单个jvm里面的异步执行框架。它并没有每次都让我们显式让我们直接调用线程池的执行任务,而是帮助我们有封装了一层。简单案例package org.example.eventbus;/** * @author huskyui */public class EventBusDemo { public static void main

2021-05-08 01:19:17 698 2

原创 LRU缓存-least recent use

LRULRU:least recently use 最近最长使用这是bilibili里面的一个最常访问。当然他们的数据结构肯定不是这样实现的了。但这是一个比较好理解的LRU。长度固定,经常访问的放在前面。由于长度固定,那么多余的肯定像后排了。当然,bilibili这个肯定不是的,有可能是用Redis zSet来实现的。class LRUCache { class DLinkedNode { int key; int value; DLinke

2021-04-23 14:58:08 123

原创 导出csdn博客

工具简介将csdn中博客导出,导出成markdown形式支持将图片导出七牛云中,需要导出到其他的图床,需要自己提供对应的实现,文件中的(upload_file)方法导出格式,支持hexo中格式配置七牛云配置(如果不换,也可以继续使用csdn image url ? )本地保存路径个人昵称仓库导出博客到本地,github仓库地址...

2020-11-22 19:12:48 228 1

原创 leetcode147-Insertion Sort List

//Sort a linked list using insertion sort. //// // //// //A graphical example of insertion sort. The partial sorted list (black) initial//ly contains only the first element in the list. //With each iteration one element (red) is removed from the in

2020-11-20 11:35:28 81

原创 java常见BUG持续更新中

String类型的equalsString a = 未知;// 不知是null还是字符串String b = "abc";// 下面写法空指针异常// String a = null;// String b = "abc";// System.out.println(a.equals(b));// 我们应该这么写 String a = null; String b = "abc"; Syste

2020-11-01 22:45:47 214

原创 leetcode-234回文链表

本题重要点反转链表快慢指针,一个二倍速,一个一倍速,可以获取一个链表的中间节点1->2->3-4->null=> 3->4->null1->2->3->4->5->null=> 3->4->5->null后半段反转后,依次和总的链表进行比较,如果不同就false,这里就是一个长链表和一个短链表的对比了,大可不必担心,这个链表是奇数还是偶数//请判断一个链表是否为回文链表。 //

2020-10-25 23:33:26 112

原创 maven optional dependencies and dependency exclusions

开篇最近看到mybatis的pom文件里面的dependency都多了一个选项optional.发现了项目中引入mybatis的依赖,但并没有将mybatis的依赖传递过来。下面以图为证 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4

2020-10-22 01:18:48 158

原创 leetode 52 N皇后

思考1.对于回溯算法,和之前的生成括号是一样的,不要想着自己用for循环去解决这个问题,而是需要用递归解决。2.要注意到的是,在递归时,不要用java的list这种传递,最好用int[][]类型属性来传递。3.这一题有个限制条件,①皇后数目(当最后一个棋子已经下完)②横竖,斜线,这个斜线有点恶心的地方是是45°和135°都要考虑。//n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 //// //// 上图为 8 皇后问题的一种解法。 //

2020-10-20 00:17:21 96

原创 mybatis中sqlNode

mybatis中sqlNodeTextSqlNodeHashMap<String,String> parameterObject = new HashMap<>();parameterObject.put("id","123");parameterObject.put("name","huskyui");TextSqlNode textSqlNode = new TextSqlNode("select * from blog where id = #{id} and nam

2020-10-17 00:29:38 391

原创 leetcode-24两两交换链表中的节点

//给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 //// 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 //// //// 示例: //// 给定 1->2->3->4, 你应该返回 2->1->4->3.// // Related Topics 链表 // ???? 676 ???? 0//leetcode submit region begin(Prohibit modification and delet

2020-10-13 23:21:11 85

原创 leetcode142-环形链表

//给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 //// 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,po//s 仅仅是用于标识环的情况,并不会作为参数传递到函数中。 //// 说明:不允许修改给定的链表。 //// 进阶: //// // 你是否可以不用额外空间解决此题? // //// //// 示例 1: //// ////

2020-10-12 22:32:59 100

原创 leetcode-141环形链表

//给定一个链表,判断链表中是否有环。 //// 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的//位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。 //// 如果链表中存在环,则返回 true 。 否则,返回 false 。 //// //// 进阶: //// 你能用 O(1)(即,常量)

2020-10-11 12:35:24 93

原创 leetcode-22括号生成

//数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 //// //// 示例: //// 输入:n = 3//输出:[// "((()))",// "(()())",// "(())()",// "()(())",// "()()()"// ]// // Related Topics 字符串 回溯算法 // ???? 1356 ???? 0import j

2020-10-10 16:20:35 103

原创 google protobuf

google protobuf下载工具https://github.com/protocolbuffers/protobuf/releases/tag/v3.13.0由于我使用的是windowsX64,我选择win64版本下载后,解压将bin目录放入环境变量里面编写proto文件新建文件AddressBook.proto文件syntax = "proto2";package tutorial;option java_package = "com.example.tutorial";o

2020-09-08 14:46:46 171

原创 maven指定运行main函数

maven指定运行main函数背景最近自己写的小项目,打包的时候会出现问题,总是提示缺少主类或者打包好后报classNotFoundException错误,最后才发现在这个问题<build> <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --> <pl

2020-09-06 22:06:19 3373 2

原创 java中foreach和iterator

java中foreach入门今天闲来无事,师父让我看一下,迭代器在一个循环里面连续两次iterator.remove()的问题,因为今天看一个离职人员的代码,里面写了这个。我们看一下测试代码:List<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(3);list.add(4);for (Integer value:list){ logger.debug(value);}

2020-08-07 13:45:07 483

原创 JVM类加载子系统

在约翰·冯·诺伊曼的计算机模型中,任何程序都需要加载到内存才能与CPU进行交流。加载过程load根据一个类的全限类名来获取此类的二进制流(此处并没有说是特指的本地class文件)将这个class文件所代表的静态存储结构转化为方法区中的运行时结构在内存中生成一个java.lang.Class 对象,这个对象将作为程序访问方法区中的类型数据的外部接口其中此类的二进制流,不仅仅是本地的.class文件,也可以是从jar,war包中的,或者使用java自带的基于接口的动态代理,或者基于cglib.

2020-07-13 01:29:25 189

原创 反射与注解

获取Class类的实例a) 若已知具体的类,通过类的class属性获取,该方法最为安全可靠,程序性能最高Class clazz = Person.class;b) 若已知某个类的实例,调用该实例的getClass()方法获取Class对象Class clazz = person.getClass();c)已知一个类的全类名,且该类在类路径下,可以通过Class的静态方法forName()获取,可能会抛出ClassNotFoundExceptionClass clazz = Class.for

2020-07-09 22:14:18 139

原创 虚拟机栈的局部变量

public class LocalVariableTest { private int count = 0; public static void main(String[] args) { method(); } public static void method() { LocalVariableTest localVariableTest = new LocalVariableTest(); Date date =

2020-07-01 19:11:59 156

原创 RabbitMQ-延迟队列

RabbitMQ延迟队列介绍官网上的介绍实现方式:混合使用message TTL 和 Dead Letter Exchanges使用RabbitMQ Delayed Message Plugin来实现混合使用Message TTL和Dead Letter Exchanges利用dead letter exchange的规则The message is negatively acknowledged by a consumer using basic.reject or basic.n

2020-05-13 18:43:36 271

原创 RabbitMQ-Publisher Confirms

Publisher ConfirmsPublisher confirms are a RabbitMQ extension to implement reliable publishing. When publisher confirms are enabled on a channel, messages the client publishes are confirmed asynchron...

2020-05-07 17:57:50 862

原创 zookeeper-简介

简介ZooKeeper: A Distributed Coordination Service for Distributed ApplicationszooKeeper:一个分布式应用的分布式协调服务ZooKeeper is a distributed, open-source coordination service for distributed applications. It ex...

2020-04-24 18:15:35 206

原创 springboot线程池

配置一个ExecutorService@Configuration@EnableAsyncpublic class BeanConfig { @Bean public ExecutorService getAsyncExecutor(){ ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor...

2020-04-20 17:12:01 162

原创 spring cloud gateway

在写之前,想写一下感受,之前有对接过springcloud的项目,有以下几个感受1.我们请求所有接口,都是请求同一个端口,路径不同,都会加一个token来验证权限我感觉是这么实现的,服务器对外访问只开放gateway项目端口,然后加一个token来全局filter当然,我不是这个项目的设计师,这是凭空想象而已。简介This project provides an API Gatewa...

2020-04-17 10:42:54 388

原创 SpringCloud-config

Spring Cloud Config简介Spring Cloud Config provides server-side and client-side support for externalized configuration in a distributed system. With the Config Server, you have a central place to mana...

2020-03-30 15:59:08 195

原创 SpringCloud-Hystrix

HystrixHystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in compl...

2020-03-24 16:22:18 177

原创 SpringCloud-Eureka

categories: springcloudEureka简介Eureka是一种基于REST(Representational State Thransfer表现层状态转移)的服务,主要用于AWS的定位服务,以便实现中间层服务器的负载均衡和故障转移。单个注册中心整合pom配置 <dependency> <groupId>org...

2020-03-20 16:53:22 120

原创 SpringBoot整合RabbitMQ

SpringBoot配置RabbitMQ配置maven <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> ...

2020-03-19 14:14:26 149

原创 RabbitMQ-topic

Topic在之前的一篇教程中,我们改进了日志系统。我们使用direct直接广播,而不是使用fanout,从而获得了选择性接收日志的可能性。虽然使用direct exchange改进了我们的系统,但它任然有局限性–它不能基于多个标准进行路由。Topic exchange消息发送到topic exchange不能是一个随意的routing-key。它必须是一个由.分割单纯列表。例如stock...

2020-03-13 14:01:21 154

原创 RabbitMQ-routing

routing在之前的导航中,我们创建了一个简单日志系统,我们能够将日志信息广播到很多接受者。在本篇导航中,我们将为其添加一个特性-我们将使订阅消息的一个子集成为可能。例如,我们能够将错误信息定向写入错误日志文件,同时能够在控制台打印所有信息。binding在之前的例子中我们能够创建绑定,你可能会回想起这样的代码channel.queueBind(queueName, EXCHANGE_...

2020-03-11 14:58:19 100

原创 RabbitMQ-发布订阅

发布与订阅在上一个教程中,我们创建一个工作队列,我们将每个人物,最终恰好分配到一个工人。然而,在这个部分,我们希望每个消息能分配给多个消费者。这种叫发布订阅模式。举例,注册时需要同时发送短信和发送email,我们会将用户注册的信息发给两个消费者,一个专门发送短信消费者,一个专门发送email消费者。RabbitMQ消息传递模型的核心思想是,生产者不直接想消息队列发送信息。实际上,生产者并不知道...

2020-03-09 18:35:29 106

原创 RabbitMQ-工作队列

介绍RabbitMQ是消息代理。它接收信息和转发信息。你可以把他考虑成一个邮局。当你讲邮寄的信放在邮局时,你可以确定邮差先生或者女士会把邮件最终送到你的收件人手中。当然邮局和RabbitMQ最大的区别,RabbitMq不接受纸张,它只接收,存储,转发二进制的数据消息快。下面讲一些RabbitMQ中的术语:Producer生成只不过意味着发送信息。发送信息的程序是生产者Queue...

2020-02-29 22:15:17 235

原创 git修改远程仓库

起因公司用的托管仓库是coding,然后今天仓库地址换了,更新项目时,提示报错,遂更新远程仓库Coding 提示: Public key expired.此公钥已经超过有效期,要继续使用请到 https://coding.net/user/account/setting/keys 更改设置。fatal: Could not read from remote repository.Plea...

2020-02-10 16:08:23 867

转载 sql replace

sql替换起因七牛云上传图片的返回时,前端拼接了域名,导致图片保存时,是全域名,例如http://example.com/a.jpg出现一个问题,域名快要到期了,需要更换域名,数据库中保存的数据需要更换成新的域名找到的答案UPDATE your_tableSET your_field = REPLACE(your_field, 'articles/updates/', 'article...

2020-01-18 15:51:42 122

原创 springcloud中结合actuator不支持/actuator/refresh

起因因为springcloud config 里面需要获取刷新配置时,在访问浏览器http://localhost:13000/actuator/refresh时,发现出错。排查Whitelabel Error PageThis application has no configured error view, so you are seeing this as a fallback....

2020-01-17 10:55:46 2237

原创 2019年年度总结

今年大致做了什么2018.12-2019.02这段时间在上海一家20个人的游戏公司,早上吃罗森的包子,喝豆浆,参与了红包项目。公司架构是后端springboot+Netty,前端Unity3D.工作到2月底。印象比较深的是,公司有只兔子,每天就是吃吃,而且离我们近,好臭,有几次,周末没人在,兔子竟然就没吃,星期一去的时候,兔子和疯子一样,最后也不知道,兔子有没有成红烧兔子。学校让回去毕业设计,...

2019-12-18 18:06:19 725 1

demot

maogai

2017-05-30

空空如也

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

TA关注的人

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