不体系
文章平均质量分 74
一些不成体系的,无法分类的,http,依赖工具包等
优惠券已抵扣
余额抵扣
还需支付
¥39.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
九师兄
可免费问问题,可以一次订阅,终身免费问问题。工作多年遇到的问题,与一些总结,注意事项等,有些是源码级别的讲解,同时整个博客是成体系的,里面有很多连接互相连接,问题都是拆开的,能让大家遇到问题的时候方便的解决问题,或者提供思路。也可以单独找我解决问题。
展开
-
【Guava】Guava双向Map、HashBiMap的使用、根据值获取keys、根据keys获取values
我们知道我们经常使用hashMap,然后根据key获取value,但是有时候我们会想根据value获取相关的key,我们一般是新生成一个Map,Map的key与value交换。但是有没有什么数据结构是已经支持了这个呢?有的那就是HashBiMap。下面看一个案例这个看起来很好,但是却是优缺点的,如果我们的value事相同的,key不相同,那么会报错的额,如下。原创 2024-09-20 00:15:00 · 17 阅读 · 0 评论 -
【https】https调用报错 Unrecognized SSL message, plaintext connection
今天用Https远程调用,然后报错Unrecognized SSL message, plaintext connection。详情错误如下大概得调用逻辑如下这个异常通常在使用HTTPS时出现,可能是由于网络问题或SSL证书配置不正确导致的。建议按照以下步骤进行排查和解决:检查网络连接:确保网络连接正常,并且没有任何中断或代理问题。如果可能,请尝试在其他网络环境下运行代码,然后观察是否仍然出现相同的异常。检查SSL证书配置:确保所使用的SSL证书是正确配置的,并且与远程服务器的证书匹配。原创 2024-09-17 00:15:00 · 117 阅读 · 0 评论 -
【Arthas】记录一次使用Arthas优化接口速度的经历
一般这里都都比较快,但是本次我们是测试高可用,然后故意宕机了一台,因此我这里如果宕机了太耗时,我们这里查看相关的源码发现这里可以优化一下。这样去判断端口是否通畅,但是如果断开的机器比较多,或者总条数比较多,或者网络比较慢,都会导致这里耗时,这里可以进行异步并行处理。然后继续查看下面的耗时方法,发现这个方法会循环调用,查看代码果然发现是循环调用,而且是在循环中调用一个耗时的方法,调用模式如下。然后查看这个方法的耗时,发现主要耗时在KafkaConsumer:partitionsFor方法上。原创 2024-09-16 00:30:00 · 186 阅读 · 0 评论 -
【okio】Parameter specified as non-null is null: method okio.Buffer.writeUtf8, parameter string
通过这样的空值检查,您可以避免将null字符串传递给okio.Buffer.writeUtf8方法,从而避免java.lang.IllegalArgumentException异常的发生。您可以添加适当的空值检查,以避免出现这个异常。另外,还可以查看相关输入数据,确认是否存在意外的null值导致了该异常的出现。然后如果你的项目中如果已经引入了http,那么你要先排除okio-jvm,不然你会引入冲突。我写了一个程序如下,实际上比这个复杂,但是核心就是writeUtf8写数据,然后报错。原创 2024-09-16 00:15:00 · 127 阅读 · 0 评论 -
【aviator】aviator 99.99 临界值的问题
本章主要讲解aviator临界值的问题,下面将用几个案例来说明这种特殊的情况。原创 2024-08-15 00:30:00 · 676 阅读 · 0 评论 -
【zookeeper】zookeeper 事务、leader选举、数据同步
zookeeper 采用了递增的事务 Id 来标识,所有的 proposal(提议)都在被提出的时候加上了 zxid,zxid 实际上是一个 64 位的数字,高 32 位是 epoch(时期;纪元;世;新时代)用来标识 leader 是否发生改变,如果有新的 leader产生出来,epoch 会自增,低 32 位用来递增计数。当新产生 proposal 的时候,会依据数据库的两阶段过程,首先会向其他的 server 发出事务执行请求,如果超过半数的机器都能执行并且能够成功,那么就会开始执行。原创 2024-08-06 00:15:00 · 39 阅读 · 0 评论 -
【MyBatis】mybatis settings 相关设置
这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。下表描述了设置中各项设置的含义、默认值等。原创 2024-08-01 00:30:00 · 57 阅读 · 0 评论 -
【java】java使用JSqlParser如何解析、格式化、生成SQL
JSqlParse的总体代码量不大,结构也很简单,其项目整体结构图如下:包含表达式相关的类和接口,可以简单看做sql解析后的组成对象之一。如果需要对sql进行一些更改变换,基本都会涉及到这个包。JSqlParse最核心的包,这个包里的类实现了sql的解析,进而我们才可以对解析后的sql(“java类”)做各种自定义处理。虽然这个包是最核心的包,但如果纯粹从使用角度上来说可以不必太在意它,除非我们想深入了解sql解析的过程。原创 2024-08-01 00:15:00 · 173 阅读 · 0 评论 -
【MyBatis】MyBatis 与 MyBatisPlus 基础
MyBatis是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射,而实际开发中,我们都会选择使用,它是对MyBatis框架的进一步增强,能够极大地简化我们的持久层代码,下面就一起来看看中的一些奇淫巧技吧。说明:本篇文章需要一定的MyBatis与基础MyBatis-Plus 官网地址 : https://baomidou.com/。原创 2024-07-28 00:30:00 · 67 阅读 · 0 评论 -
【Mybatis】数据库timestamp使用Mybatis String取值多了.0问题
Mybatis中Model使用String接收后显示时尾巴多了个。注意,时间取值时,尽量在数据库sql语句中格式化一下。原创 2024-07-26 00:30:00 · 225 阅读 · 0 评论 -
【Mybatis】#{}与${}区别、传参作为字段/表名
上面的第一个sql,非常有意思,执行居然不会抛错,可以正常执行(注意,这个与数据库版本有关,并不是所有的版本都可以正常执行)上面这个问题的关键原因在于 $ 与 #的本质区别,有过一点了解的小伙伴会知道$最终的效果是替换,而#则是占位。核心的依赖mybatis-spring-boot-starter,至于版本选择,到mvn仓库中,找最新的。上面的演示中,本来是希望根据传参进行排序,最后的执行结果会发现都是按照id进行排序。一个简单的demo来演示下使用姿势,根据传参,来指定排序的字段;原创 2024-07-09 00:30:00 · 143 阅读 · 0 评论 -
【zookeeper】Unable to read additional data from server sessionid 0x
报错信息报错原因可能是由于整个集群超过半数机器宕机(或有些机器实际并未启动),zookeeper会认为集群处于不可用状态由于配置文件zoo.cfg配置错误,导致机器实际没有起来,zk服务不可用。排查查看存活zk节点数量,检查zoo.cfg配置文件,避免因为配置文件错误导致zk节点宕机。原创 2024-06-20 00:30:00 · 290 阅读 · 0 评论 -
【zookeeper】zookeeper FileNotFound /data/zookeeper/version-2/acceptedEpoch.tmp
的权限为777就好了,实际上是改成zk启动需要用户的权限,不过我懒,直接777。原创 2024-06-15 00:00:00 · 54 阅读 · 0 评论 -
【kerberos】kerberos 报错合集
Kerberos 票证标志备注KILE ** (Microsoft Kerberos 协议扩展) ** – Microsoft 操作系统中使用的 Kerberos 协议扩展。这些扩展为授权信息提供了额外的功能,包括组成员身份、交互式登录信息和完整性级别。结果代码 [Type = HexInt32]: TGT 问题操作的十六进制结果代码。“表 3. TGT/TGS 发出错误代码。包含此事件最常见的错误代码列表。原创 2024-06-01 00:45:00 · 238 阅读 · 0 评论 -
【Zookeeper 】Zookeeper 常用命令介绍
功能:创建普通节点,如果创建节点中的内容中有空格需要用双引号包起来。- s:创建带编号的节点 - e:创建临时节点t ttl:生存时间data:节点的值acl:权限控制pZxid = 0x7 # 更新子节点zxidnumChildren = 2 #子节点数量更新为2#创建带编号的节点#创建临时节点#退出后重新查看#创建临时带编码节点#退出后重新查看顺序编号会紧跟在节点后面,节点最终名称为:节点名+序号,如app20000000001顺序编号是一个递增的计数器。原创 2024-05-23 00:45:00 · 91 阅读 · 0 评论 -
【Flink】Flink 使用Arthas的trace命令排查问题 不打印方法栈
Flink 使用Arthas的trace命令排查问题,不打印方法栈,只打印了如下 Affect class count 1 method count 1。后面突然想我们这个流任务是没开启规则是不消费数据的,如果不消费数据,那么方法就不会执行,然后这里就无法监控到。开始遇到这个问题,我第一眼以为是我打错字了,然后来来回回排查了好几次都是正常的。然后有的迷糊了,后面我尝试其他pipline的类,执行发现是可以的。然后我尝试把所有的机器都测试一遍,发现结果是一样的。再次确认了,我找的机器确实是对的呀。原创 2024-03-19 23:30:00 · 189 阅读 · 0 评论 -
【hadoop】为什么大数据NoSQL采用LSM树结构
近年来,像Cassandra这样的NoSQL数据库流行起来。一个驱动因素是从越来越多的来源(如移动应用程序和物联网设备) 获取大量数据的永无止境的需求。许多NoSQL数据库背后的秘诀是一种称为LSM树的数据结构。要了解LSM树的工作原理,我们首先看一下数据通常如何存储在关系数据库中。关系数据库通常由称为B+树的数据结构支持。B+树针对读取进行了优化。写入B+树相对代价更高,因为它涉及随机IO,并且可能包括更新磁盘上的多个Page。原创 2024-05-15 00:45:00 · 437 阅读 · 1 评论 -
【http】10,000 milliseconds timeout on connection http-outgoing-0 [ACTIVE]
经过测试最后发现是超时时间配置的太低了,改成50*1000就好了。原创 2023-09-17 10:01:42 · 878 阅读 · 0 评论 -
【IDEA】启动项目错误:Error:java: System Java Compiler was not found in classpath
Settings > java compiler > 将javac 改成 eclipse;以上操作完毕后发现都不行。最后重新修改了jdk的位置才可以。原创 2023-09-17 09:59:48 · 567 阅读 · 0 评论 -
【kafka】kafka 在 zookeeper中的元数据不对 broker漂移与缺失
kafka 在 zookeeper中的元数据不对 broker漂移与缺失,主要是说kafka中的节点元数据与zk中的元数据信息不对应,导致kafka出问题。原创 2023-09-17 09:59:14 · 298 阅读 · 0 评论 -
【IDEA】IDEA通过live template 对单行或者多行注释进行改写
我最近有个需求,我想在我注释的时候,对源码添加一些自己的标记,比如九师兄原创之类的,但是我不想自己每次都自己打字,因此想有一种快速添加的方法,然后就找到了这个方法。直接在设置里面搜索live新建组,再新建模板。原创 2023-09-17 09:58:22 · 274 阅读 · 0 评论 -
【Zookeeper】Unable to read additional data from client sessionid xx likely client has closed socket
异步创建节点的时候总是闪退,然后服务端报错 Unable to read additional data from client sessionid xxx, likely client has closed socket ,我们先看下代码 这里我把同步跟异步的代码一起贴了出来便于学习。网上还有很多关于这个错误的解决方案,场景不同,但大多数的原因都是因为网络中断,有的可能是超时时间不够,我这里的原因是在异步通知返回结果之前就人为的结束了连接。原创 2023-09-04 20:33:53 · 1839 阅读 · 0 评论 -
【zookeeper】fsync-ing the write ahead log in took which will adversely effect operation latency
在这篇博客中出现了如下。我想知道这个是在干嘛,会不会对我上面的那个问题造成影响。因此去查看了一下。原创 2023-08-26 11:54:22 · 748 阅读 · 0 评论 -
【不体系】log4j2.xml 配置详解
2、在web.xml中配置log4j2的信息3、配置mybatis,中使用log4j2打印sql日志。原创 2023-07-21 20:14:35 · 388 阅读 · 0 评论 -
【算法】LSM-tree 基本原理及应用
LSM-tree 在 NoSQL 系统里非常常见,基本已经成为必选方案了。今天介绍一下 LSM-tree 的主要思想,再举一个 LevelDB 的例子。LSM-tree起源于 1996 年的一篇论文《The Log-Structured Merge-Tree (LSM-Tree)》,这篇论文 32 页,我一直没读,对 LSM 的学习基本都来自顶会论文的背景知识以及开源系统文档。今天的内容和图片...原创 2020-07-04 11:42:10 · 2946 阅读 · 2 评论 -
【RocksDB】RocksDB -- MANIFEST 浅析
RocksDB 是文件系统与存储介质无关的。文件系统的操作不具有原子性,可能会由于意外情况,导致 RocksDB 出现不一致的问题。即使打开了日志记录,文件系统也不能保证不洁重启的一致性。POSIX 文件系统也不支持原子的操作批处理。因此,在 RocksDB 重新启动时,仅仅依赖 RocksDB 数据存储文件中的元数据来重建最后的一致状态是不现实的。RocksDB 拥有一个内置的机制来克服上述 POSIX 文件系统的限制,即 MANIFEST。转载 2023-03-27 13:11:13 · 829 阅读 · 0 评论 -
【zookeeper】一台机器上最多能启动多少个ZooKeeper客户端
在zk客户端上可能会运行一个Java开发的零碎去应用zk,比如说Kafka(尽管是Scala写的,也是JVM类的语言),HBase,Canal,HDFS,比如说Canal比方部署在一台机器上,此时他会去应用zk,他就是一个zk的客户端。所以如果咱们本人开发一个零碎去应用zk的话,一台机器上,你个别是就用一个zk客户端去跟zk servers进行交互就能够了,不要无限度的搞很多的zk客户端,会连贯不下来的,他zk servers最多只能容许你的一台机器跟他建设60个连贯。这个是有限度的,默认来说60;原创 2023-02-25 09:59:21 · 774 阅读 · 0 评论 -
【Docker】 docker 命名空间(namespaces)
Docker 的出现一定是因为目前的后端在开发和运维阶段确实需要一种虚拟化技术解决开发环境和生产环境环境一致的问题,通过 Docker 我们可以将程序运行的环境也纳入到版本控制中,排除因为环境造成不同运行结果的可能。但是上述需求虽然推动了虚拟化技术的产生,但是如果没有合适的底层技术支撑,那么我们仍然得不到一个完美的产品。本文剩下的内容会介绍几种 Docker 使用的核心技术,如果我们了解它们的使用方法和原理,就能清楚 Docker 的实现原理。原创 2023-01-28 08:17:56 · 1095 阅读 · 1 评论 -
【zookeeper】zookeeper 简单介绍
Zookeeper 是一个分布式协调服务,可用于服务发现,分布式锁,分布式领导选举,配置管理等。Zookeeper 提供了一个类似于 Linux 文件系统的树形结构(可认为是轻量级的内存文件系统,但只适合存少量信息,完全不适合存储大量文件或者大文件),同时提供了对于每个节点的监控与通知机制。原创 2023-01-25 20:51:15 · 400 阅读 · 0 评论 -
【Hbase】Hbase 一些面试题
经历过这些事的人都知道过程是多么的折腾。② HFile HFile 是数据底层存储文件,在每个 memstore 进行刷新时会生成一个 HFile,当 HFile 增加到一定程度时,会将属于一个 region 的 HFile 进行合并, 这个步骤会带来开销但不可避免,但是合并后 HFile 大小如果大于设定的值,那么 HFile 会重新分裂。就会存储到一个 region中,这样一个 region 的数据变多,其它的 region 数据很少,加载数据就会很慢, 直到 region 分裂,此问题才会得到缓解。原创 2023-01-21 19:53:04 · 466 阅读 · 0 评论 -
【zookeeper】zookeeper源码 zookeeperz中Kerberos认证流程
本次想做zk的kerberos认证,打算调试一下测试案例的代码如下try {//设置 zk 的 principal System . out . println(System . getProperty("java.security.auth.login.config"));try {System . out . println("准备添加监听");System . out . println("添加监听完毕");} }添加监听。原创 2022-11-03 09:53:55 · 365 阅读 · 0 评论 -
【zookeeper】zookeeper 如何 关闭 kerberos认证 Exception while determining if ZooKeeper is secure
【zookeeper】zookeeper源码 zookeeperz中Kerberos认证流程我们设置了.jaas文件和keytab文件。然后就认证成功了};.};.};.};.};.};然后后来要关闭zk认证。【zookeeper】zookeeper源码 zookeeperz中Kerberos认证流程设置了如下参数,然后别人的服务就可以了但是我的服务不可以。查看报错是经过查看是kafka报错这里首先获取系统变量是不是为true。然后获取是不是Client,如果。原创 2022-10-30 19:16:22 · 817 阅读 · 0 评论 -
【zookeeper】zookeeper 性能优化与配置详解 一些踩坑建议
ZooKeeper的功能特性通过ZooKeeper配置文件来进行控制管理( zoo.cfg配置文件)。ZooKeeper这样的设计其实是有它自身的原因的。通过前面对ZooKeeper的配置可以看出,对ZooKeeper集群进行配置的时候,它的配置文档是完全相同的(对于集群伪分布模式来说,只有很少的部分是不同的)。这样的配置方使得在部署ZooKeeper服务的时候非常地方便。另外,如果服务器使用不同的配置文件,必须要确保不同配置文件中的服务器列表相匹配。转载 2022-09-15 22:12:29 · 5608 阅读 · 0 评论 -
【FastJson】fastjson序列化保持字段顺序、集合类型乱序
在使用 fastjson 将对象序列化成字符串时,发现字段顺序乱了,百度搜了一下,发现原因是将字符串反序列化(即转成JSON对象)时,被默认规则处理了。如果不想使用默认规则,就需要我们指定需要的规则,这里我们可以使用 Feature.OrderedField 来使其保持原有字段顺序。,字面意思就是 以最快速度为字段进行排序。原创 2022-08-20 10:43:18 · 4985 阅读 · 1 评论 -
【guava】guava 范围集合查询 RangeMap
RangeMap是。和RangeSet不一样,RangeMap不可以将相邻的区间合并,即使这个区间映射的值是一样的。和RangeSet一样,实现RangeMap也是一个接口,实现它的也只有两个类,分别为和。用的多的还是,下面主要以TreeRangeMap来说明RangeMap。从结果中可以看出,RangeMap中的每一个Range都对应一个value。注意观察运行的结果,是没有被合并的!这是RangeMap和RangeSet的一个区别。原创 2023-07-01 09:59:41 · 262 阅读 · 0 评论 -
【缓存】一种新的缓存 Caffeine Cach 介绍
GuavaCache,他的优点是封装了get,put操作;提供线程安全的缓存操作;提供过期策略;提供回收策略;缓存监控。当缓存的数据超过最大值时,使用LRU算法替换。。本篇博文主要介绍CaffineCache的使用方式,以及CaffineCache在SpringBoot中的使用。...转载 2022-07-16 12:06:17 · 405 阅读 · 0 评论 -
【zookeeper】ZooKeeper常见问题
命名服务就是」**命名服务是指通过「指定的名字」来获取资源或者服务地址。Zookeeper可以创建一个「全局唯一的路径」,这个路径就可以作为一个名字。被命名的实体可以是「集群中的机器,服务的地址,或者是远程的对象」等。一些分布式服务框架(RPC、RMI)中的服务地址列表,通过使用命名服务,客户端应用能够根据特定的名字来获取资源的实体、服务地址和提供者信息等。「配置管理」实际项目开发中,我们经常使用.properties或者xml需要配置很多信息,如数据库连接信息、fps地址端口等等。哈哈,...转载 2022-07-15 22:19:17 · 913 阅读 · 0 评论 -
【zookeeper】zookeeper的ACL权限控制
1.概述ACL:Access Control List 访问控制列表关联文章:【zookeeper】ZooKeeper 权限管理与Curator增加权限验证关联文章:【kafka】kerberos client is being asked for a password not available to garner authentication informa1.1 简介ACL 权限控制,使用:scheme:id:perm 来标识,主要涵盖 3 个方面: 权限模式(Scheme):授权的转载 2022-05-10 20:53:41 · 2485 阅读 · 0 评论 -
【zookeeper】ZooKeeper 权限管理与Curator增加权限验证
在ZooKeeper中,可以为节点设置权限,这样只有用户对应权限的客户端才能访问到指定的节点。原创 2022-03-02 21:00:32 · 807 阅读 · 0 评论 -
【zookeeper】raft 共识算法 动画演示 网站
1.概述地址:https://cyberdak.github.io/thesecretlivesofdatacn/raft/原创 2022-02-09 23:05:41 · 2136 阅读 · 0 评论