- 博客(167)
- 资源 (3)
- 收藏
- 关注
原创 Docker部署Minio
修改脚本如下,增加了MINIO_ACCESS_KEY和MINIO_SECRET_KEY。启动成功,访问127.0.0.1:9000端口进行测试。
2024-03-13 11:28:26
909
原创 LambdaQueryWapper与QueryWapper的一些特殊用法
这个方式是在其他网站看到的,有个问题,没有找到Functions.max这个方法。LambdaQueryWapper的group by方法。LambdaQueryWapper的多表连接查询。QueryWrapper的group by方法。生成的sql是这样的(未验证)
2023-10-10 09:59:04
551
原创 org.springframework.core.io.buffer.DataBufferLimitException: Exceeded limit on max bytes to buffer :
org.springframework.core.io.buffer.DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144的问题。由于在 Gateway 的自定义过滤器中重写了请求 ServerRequest,后面因为升级了架构,原本旧版本未对请求参数的大小进行限制(默认取-1),后面升级了新版修改为 256KB 的限制。方案一跟二对于我当然版本的 SpringBoot 不生效,大家可以都尝试一下,有可能可以。
2023-08-04 16:52:46
2050
原创 【无标题】
一,创建ServerBootstrap实例:ServerBootstrap是Netty服务端的启动辅助类,它提供了一系列的方法用于设置服务端启动相关参数,这里用到了Faced设计模式(降低和过多底层API打交道);另外ServerBootstrap在创建时,是无参的,只需要后边设置对应的参数即可,这边其实是用到了Builder设计模式(只需要关心多个简单的对象构建,不需要关心对象创建的内部细节)。类名:ServerBootstrap二,设置并绑定Reactor线程池:b.group(bossGroup,
2022-05-19 16:39:19
164
原创 netty client步骤
1.启动类2.添加EventLoop3.选择客户端channel实现4.添加处理器5.连接到服务器6.向服务器发送数据
2022-05-19 16:21:09
240
原创 es入门
查看es的健康状态http://10.1.18.37:8211/_cat/health?v查看所有的索引get http://10.1.18.37:8211/_cat/indices?v创建索引,在postman执行的时候需要设置为json数据格式PUT /test_index?pretty索引内容{ "settings":{ "number_of_s...
2019-12-19 18:36:33
165
原创 ES 自己做的例子汇总
首先初始化数据POST /forums/articles/_bulk{ "index": { "_id": 1 }}{ "articleID" : "XHDK-A-1293-#fJ3", "userID" : 1, "hidden": false, "postDate": "2017-01-01" }{ "index": { "_id": 2 }}{ "articleI...
2019-12-19 11:38:52
410
原创 缓存常见算法
LFU(Least Frequently Used) 最久未用算法淘汰最后被访问时间最久的元素。缺点:可能会由于一次冷数据的批量查询而误导大量热点的数据。LRU(Least Recently Used) 最近最少使用淘汰最近访问频率最小的元素。缺点:1. 最新加入的数据常常会被踢除,因为其起始方法次数少。2. 如果频率时间度量是1小时,则平均一天每个小时内的访问频率1000...
2019-09-17 23:31:15
191
原创 kafka提交消息offset
自动提交手动同步提交while (true) { ConsumerRecords<String, String> records = consumer.poll(Duration.ofSeconds(1)); process(records); // 处理消息 ...
2019-07-27 21:39:47
203
原创 nginx修改webservice的WSDL
原项目的webservice,使用的是标准的http协议,最近进行安全检查,网站在负载均衡前面放置了证书完成了HTTPS改造,安全部门把目标盯在了还在用http协议传输的webservice接口。网站改造了没问题,从HTTP、HTTPS协议上来看改成变更协议应该没问题,在webservice前端也放置了,证书,改走HTTPS协议,访问webservice地址,没有问题,执行报错了查找...
2019-04-02 14:46:38
3389
转载 吃饭前看面试题:ScheduledThreadPoolExecutor 线程池浅析
https://mp.weixin.qq.com/s/7O6vftzkIT_xANYmUuFJcA
2019-03-04 14:07:50
595
转载 阿里员工都是这样排查Java问题的,附工具单
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxe730920d465a6732&redirect_uri=https%3A%2F%2Ftech.meituan.com%2Fsalon%2F%23%2F44241&response_type=code&scope=snsapi_userinfo&...
2018-11-26 13:07:52
318
原创 zookeeper学习一 状态
KeeperState中的几种状态Disconnected (0) 客户端处于断开连接状态 - 未连接SyncConnected (3) 客户端处于连接状态 - 已连接AuthFailed (4) 验证失败状态ConnectedReadOnly (5) 客户端连接到只读服务器,读/写客户端不允许连接到r / o服务器(read-only server)SaslAuthent...
2018-10-15 17:09:26
288
转载 深入浅出HTTPS
前言在之前的文章《深入浅出密码学(上)》、《深入浅出密码学(中)》与《深入浅出密码学(下)》中,沉思君为大家介绍了密码学中一些重要的概念,例如:加密、单向散列函数、消息认证码与数字签名等,如果不太清楚的朋友可以点击文章链接进行阅读。今天我们要讲的是密码学的一个非常广泛且重要的应用——HTTPS。在讲解HTTPS前,我们先来讲下HTTP。HTTP的名称是超文本传输协议,其特点是无状态性、不安全、...
2018-10-08 10:18:53
250
原创 踩坑JVM溢出-----mybatis一二级缓存
根据需求开发了生产者消费者功能,生产者从Oracle数据库读取数据后,通过kafka发送给消费者,消费者从kafka中读取数据后,写入到mysql数据库中,功能需求就这样,比较简单,总量5000W数据,通过3个生产者读取写入到kafka中。代码写完后经过简单的功能测试没问题,开始在测试环境上运行,大概运行了不到1小时发送了不到200万的数据时出现OOM GC overhead limit ...
2018-09-17 18:03:36
2103
原创 战斗 7月24 关于CPU cache 与内存的讲解
happen-before的读读、读写、写读、写写四种情况倒是列了个很清晰的清单jsr133 花了很大篇幅讲hb 。在多核环境下如何保证? 计算机的内存模型:寄存器、高速缓存 (最多L3目前,l1/l2 cpu独占,l3多核共享),然后是共享主存以前单核CPU的时候,写有两种方式写通和写回write through和write back写通是写缓存,然后缓存更新内存,这种效率太差了,...
2018-07-24 11:16:30
316
原创 JVM知识
判断对象存活的算法1.引用计数法 缺点:很难解决对象之间相互循环引用的问题。2.根搜索算法(可达性分析算法)以下几种可以判定为GC roots的对象1.虚拟机栈中的引用的对象2.方法区中的类静态属性引用的对象。3.方法区中的常量引用对象。4.本地方法栈中JNI(即一般说的Native方法)的引用的对象。注意:根搜索算法中不可达的对象,不是非死不可,它现在处于缓刑阶...
2018-07-22 19:05:06
233
原创 Java文件拷贝方式
第一种使用FileInputstream读取,使用FileOutputStream写入到文件中 FileInputStream input = null; FileOutputStream output = null; String path="D:\\java\\"; String fileName="test.txt"; String newFilename=Syste...
2018-07-19 20:35:23
170
原创 从Executor接口设计看设计模式之最少知识法则
首先说一下设计模式的六大原则:1、单一职责原则一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。2、开闭原则对修改关闭,对扩展开放。3、依赖倒转原则依赖倒转原则,指高层模块不应该依赖低层模块,两个都应该依赖抽象;抽象不应该依赖细节,细节应该依赖抽象。说白了就是要针对接口编程,不要对实现编程。4、里氏代换原则里氏代换原则,子类型必须能...
2018-07-19 20:05:06
1038
1
原创 OKhttp之Call接口
OKhttp在实际使用的时候都是通过Call.execute();执行发送request,今天来看一下Call这个接口。Request request();返回当前的requestResponse execute() throws IOException;同步执行request,返回response。void enqueue(Callback responseCallback); 同步执行...
2018-07-19 19:11:22
2068
1
原创 HTTP缓存
HTTP缓存1.Expires(过期时间)HTTP头信息Expires(过期时间) 属性是HTTP控制缓存的基本手段,这个属性告诉缓存器:相关副本在多长时间内是新鲜的。过了这个时间,缓存器就会向源服务器发送请求,检查文档是否被修 改。几乎所有的缓存服务器都支持Expires(过期时间)属性;大部分Web服务器支持你用几种方式设置Expires属性;一般的:可以设计一个绝对时间间隔:基于客...
2018-07-19 11:44:36
182
转载 ThreadLocal
https://www.cnblogs.com/dolphin0520/p/3920407.htmlpublic class UnsafeTask implements Runnable { private Date startDate; @Override public void run() { startDate = new Date(); System.out.printf("...
2018-07-15 15:57:52
199
原创 序列化与自定义序列化
https://www.cnblogs.com/yoohot/p/6019767.htmlhttps://www.cnblogs.com/chenfei0801/archive/2013/04/06/3002146.htmlhttp://www.cnblogs.com/dukc/p/4817822.html
2018-07-09 19:03:54
1020
原创 RedisTemplate的key默认序列化器问题
redis的客户端换成了spring-boot-starter-data-redis,碰到了一个奇怪的问题,在同一个方法中1.先hset,再hget,正常获得数据。在不同的方法中 先hset,再hget获取不到数据,通过redis的monitor监控发现了命令的问题:实际我的key为JK_HASH:csrk,hashkey为user,但是根据上图所示,实际执行的命令多了好多其他字符,这是什么原因呢...
2018-06-19 18:01:57
36992
1
原创 MySQL主从复制不一致的原因以及解决方法
今天继续讨论,MySQL主从复制什么原因会造成不一致,如何预防及解决?1.人为原因导致从库与主库数据不一致(从库写入)2.主从复制过程中,主库异常宕机3.设置了ignore/do/rewrite等replication等规则4.binlog非row格式 5.异步复制本身不保证,半同步存在提交读的问题,增强半同步起来比较完美。 但对于异常重启(Replication Crash Safe),从库写数...
2018-06-07 10:23:22
9529
1
原创 Java深入理解IO NIO在文件复制过程中的应用
第一种,传统的IO模式 private static void copyByIO(String srcPath, String dstPath) { byte[] buffer = new byte[bufferSize]; FileInputStream fis = null; FileOutputStream fos = null;...
2018-06-04 23:28:51
9060
原创 InputStream与OutputStream 的基本方法说明
InputStream ◇ 从流中读取数据: int read( ); //读取一个字节,返回值为所读的字节 int read( byte b[ ] ); //读取多个字节,放置到字节数组b中,通常读取的字节数量为b的长度,返回值为实际读取的字节的数量 int read( byte b[ ], int off, int len ); //读取len个字节,放置到以下标off开始字节数组b中,返回值...
2018-06-02 09:55:10
6422
原创 spring cloud zuul性能测试全记录
首先写了一个简单的controller@RestControllerpublic class HiController { @Value("${server.port}") String port; @GetMapping("/hi") public String home(@RequestParam String name) { return "...
2018-05-11 17:46:05
5918
1
原创 hash哈希冲突的解决
哈希冲突的解决有两种办法1.拉链法,其实就是把冲突的对象放入一个单链表中,java中的hashmap就是使用的这种办法2.开地址法 就是通过一定的算法二次指定位置 https://blog.csdn.net/lyp_558/article/details/49499035...
2018-04-19 10:37:19
233
原创 kafka Producer详解
Producer1.发送并忘记 这种情况下可能会丢数据。2.同步发送 它会返回一个Future对象,使用get()方法进行等待,就可以知道它是否发送成功。3.异步发送 指定一个回调函数,服务器在进行响应时调用public Future<RecordMetadata> send(ProducerRecord<K, V> record);publi...
2018-04-17 11:47:52
1480
原创 kafka性能测试
版本0.10.1.1kafka broker的JVM默认是使用1G的内存./bin/kafka-producer-perf-test.sh --topic test-pati3-rep2 --throughput 500000 --num-records 1500000 --record-size 1000 --producer.config config/producer.properties...
2018-04-16 18:13:21
622
转载 微博计数器的设计
http://blog.cydu.net/weidesign/2012/09/09/weibo-counter-service-design-2/
2018-04-16 11:10:22
458
转载 hash之压缩字典zipmap
https://blog.csdn.net/u012658346/article/details/51329360关键点zipmap中的数量如果超过254的时候需要遍历才能得到key-value对的个数。1)zmlen:1个字节 ,记录当前zipmap中key-value对的数量。由于zmlen只有1个字节,因此规定其表示的数量只能为0~254,当zmlen>254时,就需要遍历整个zipm...
2018-04-16 10:54:40
681
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人