自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 资源 (2)
  • 收藏
  • 关注

原创 不要轻易去改一个 public static 的方法签名,有人可能直接使用了,改签名会带来兼容性问题

不要轻易去改一个 public static 的方法签名,有人可能直接使用了,改签名会带来兼容性问题

2023-03-20 12:16:29 235

原创 查看 jvm 堆外内存大小

java.nio.Bits#reservedMemor 该值为对外内存占用大小。可以通过 arthas attach 后用 ognl 进行输出。ognl @[email protected]

2022-01-21 10:32:41 1974

原创 分布式系统关于时间的注意点

一旦分布式系统中依靠时间来做一些判断时,需要考虑各个机器时间不一致的情况,NTP可能会存在时间误差。全局时间来解决这个问题。

2021-04-16 15:20:24 385

原创 Nacos AP模型原理。

Nacos主题分享自我介绍:赵延Java爱好者开源爱好者(Apache Dubbo Commiter, Alibaba Nacos Commiter)Github ID @horizonzy一、微服务架构的由来单一架构应用当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。垂直应用架构当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,提升效率的方法之一是将应用拆成互不相干的几

2021-04-13 10:15:58 3674 3

原创 jdk中nio源码解析

java NIO基于selector实现。首先创建一个Selector.Selector selector = Selector.open();Selector.open的实现.public static Selector open() throws IOException { //通过SelectorProvider来开启selector return SelectorProvider.provider().openSelector();}SelectorProvider

2021-02-10 01:31:41 419 2

原创 记一次关于tomcat关闭时,清理线程时的警告日志问题排查。

近期有使用nacos的小伙伴在使用时遇到一个tomcat警告内存泄漏的问题。相关警告信息:2020-11-03 16:59:46.088 [main] WARN o.a.c.loader.WebappClassLoaderBase [173] - The web application [ROOT] appears to have started a thread named [com.alibaba.nacos.naming.beat.sender] but has failed to stop it

2021-01-11 15:31:26 2011

原创 关于NACOS服务端假死的问题

最近NACOS社区有小伙伴服务端运行着运行着就假死的情况,端口在,进程也在,但是无法处理http请求了,通过jmap -histo之后手动触发了一次gc后恢复正常。经过反复排查,后确认是linux操作系统的内核问题。更多信息见:https://groups.google.com/g/mechanical-sympathy/c/QbmpZxp6C64`It's fixed for me in RHEL 6.7, withkernel-2.6.32-504.16.2.el6 or later. Fo..

2020-11-13 23:22:50 2701 2

原创 当ZK集群反复在启动和宕机交替时,Dubbo Consumer端可能会丢失对zk节点的订阅

issue:https://github.com/apache/dubbo/issues/6810

2020-10-16 22:27:01 360

原创 java nio在windows下的坑。导致CPU飙升

堆栈信息:"I/O dispatcher 16" #137 prio=5 os_prio=0 tid=0x000000002139f000 nid=0x58d0 runnable [0x000000002e58f000] java.lang.Thread.State: RUNNABLE at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method) at sun.nio.ch.WindowsSelectorImpl$Sub

2020-10-16 21:53:46 3588 3

原创 zookeeper-3.4.13版本bug导致too many files open

3.4.13的zk版本存在问题。当使用域名作为connectionStr时。并且域名无法解析成功。zk会一直发起重试连接,一个重试连接其实就会占用一个socket文件。zk的逻辑存在问题,老的socket文件没有清理,导致linux下too many files open.本质问题是,zk清理老的socket file是在 org.apache.zookeeper.ClientCnxnSocket#doTransport方法中。但是如果当域名无法解析时,无法进入到这个方法中,去将cancelkeys对应

2020-09-29 17:09:04 941

原创 zk子节点过多时获取字节点报错.org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = Conn

当zk字节点过多时,通过client.getChildren().forPath("/path"); 获取子节点时报错。org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /path。跟这代码捋了一下。发现最终问题是zk客户端默认数据传输大小为4M.而子节点太多了,导致数据大小超过该大小,通过-Djute.maxbuffer = 10485760,设置大小

2020-06-22 16:44:01 835 1

原创 Dubbo使用Zookeeper作为配置中心的动态配置原理

利用TreeNodeCache监听/dubbo/config下的字节点的变化,TreeCacheListener的实现类为org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperClient.CuratorWatcherImpl,这个类中封装了org.apache.dubbo.configcenter.support.zookeepe...

2020-03-17 16:57:45 1043

原创 关于MySQL的一些零散的知识

索引下推:如果查询条件中有几个字段都命中了联合索引,根据联合索引里面的值提前进行判断条件,可以减少回表的次数。mysql的内存是基于页的缓存,每一个页是16kb.更新会涉及到change buffer,对于普通索引,如果要操作的页不在内存中,需要在change buffer中纪录当前的操作,并记录在WAL里。后续通过merge操作将数据同步到磁盘。后续读数据时,内存中有数据,直接从内存中返回,...

2019-11-26 13:19:25 231

原创 一篇文章带你走近zookeeper

1.zk是什么zk是apache下的一个开源项目,官方介绍为:"zooKeeper是一种集中式服务,用于维护配置信息,命名,提供分布式同步和提供组服务"。2.zk中的角色2.1 Leaderzk集群中同一个时间只有一个leader,它会和各个follower和observer发起进行心跳,来保证集群中各个节点是否是可用的。进行写操作,并且将写操作的结果同步到各个followe...

2019-09-12 04:04:27 464

原创 一篇文章带你走近RocketMq

1.相关模块1.1 Producer将消息发送到Broker1.2 Producer组发送同一种消息的Produder就可以构成一个Producer集群。同一种消息指的是消息的Topic和Tag相同1.3 ConsumerBroker将消息投递到Consumer1.4 Consumer组同一个GroupName,并且订阅同一个Topic下的同中Tag的Consume...

2019-06-20 01:46:39 329

转载 JDK1.6版本关于synchronized的优化

摘自周志明《深入理解JAVA虚拟机第二版》JDK1.6 对锁的实现引入了大量的优化,如偏向锁、轻量级锁、自旋锁、适应性自旋锁、锁消除、锁粗化等技术来减少锁操作的开销。锁主要存在四中状态,依次是:无锁状态、偏向锁状态、轻量级锁状态、重量级锁状态,他们会随着竞争的激烈而逐渐升级。注意锁可以升级不可降级,这种策略是为了提高获得锁和释放锁的效率。①偏向锁引入偏向锁的目的和引入轻量级锁的目的...

2019-05-23 23:59:22 1051

原创 git相关操作(后续慢慢补充)

本地分支关联远程分支: git branch --set-upstream-to=origin/my-test通过本地分支创建远程分支: git push origin localBranch:remoteBranch删除远程分支:git push origin --delete remoteBranch在本地目录下关联远程:git remote add origin git@gith...

2019-05-21 11:48:09 187

原创 代码整洁之道 总结

1.什么样的代码才是整洁的从字面意思上理解,整洁的代码,对于程序员来说非常的一目了然,简单、整洁,结构清晰,逻辑清楚。代码其实是一种语言,传递的是逻辑,如果这份代码可以像我们说话一样快速的将逻辑传递给读者,那么这样一份代码就是一份整洁的代码。可以借助沃德原则:"如果每段代码欧让你感到深合已意,那就是整洁代码"2.如何保持代码整洁首先便是要有保持代码整洁的意识,书中反复提到的提到的...

2019-05-19 17:31:15 7109

原创 关于HashMap(JDK 1.8) 初始容量设置

1.如果是执行putAll操作,之前map中没有数据的话。可以设置初始容量,可以不设置初始容量。如果map已有数据,然后执行putAll操作,那么在初始化map时指定初始容量。知道最终要put的数据总量,初始容量设置为 (int) ((float) expectedSize / 0.75F + 1.0F)。不知道初始容量,设置为16.2.如果是put操作,而且是知道最终要put的数据总量,初始容...

2019-05-09 21:58:58 1806

原创 spring cloud gateway转发服务报错。

错误如下:javax.net.ssl.SSLHandshakeException: error:1000009c:SSL routines:OPENSSL_internal:HTTP_REQUEST 在spring cloud gateway项目中,使用了SSL验证后,为了增加系统性能,引入了netty-tcnative-boringssl-static依赖来增加性能后,在项目中一些h...

2018-12-20 15:20:54 5094

原创 spring cloud gateway中Path Predicate规则类似/A/B/** /A/B/C/**时,无法定位到/A/B/C/**的问题

配置文件如下:发现请求中的path为 /brs/render/image/**  时请求不会走到BRS2中去。 跟踪源码:匹配规则在PathRoutePredicateFactory的apply方法中定义。匹配逻辑在图中红框中定义。输入请求/host/brs/render/image/aaa。断点如图:发现在上面请求时请求已经被拦截为true,不会再去匹配/...

2018-11-23 15:16:49 7568 2

原创 springboot自定义Tomcat接受https的post请求时失败,报错信息内容中所示:

报错:Could not parse multipart servlet request; nested exception is java.lang.IllegalStateException: The multi-part request contained parameter data (excluding uploaded files) that exceeded the limit fo...

2018-11-20 16:15:51 922

转载 Nginx中的正则表达式

1、正则表达式匹配~ 区分大小写匹配~* 不区分大小写匹配!~和!~*分别为区分大小写不匹配及不区分大小写不匹配^ 以什么开头的匹配$ 以什么结尾的匹配转义字符。可以转. * ?等* 代表任意字符2、文件及目录匹配-f和!-f用来判断是否存在文件-d和!-d用来判断是否存在目录-e和!-e用来判断是否存在文件或目录-x和!-x用来判断文件是否可执行...

2018-04-28 21:54:23 919

原创 Nginx反向代理400错误

错误:使用Nginx的反向代理访问tomcat时400错误。upstream配置:       upstream java_test{         server 127.0.0.1:8080;       }原因:nginx中upstream后面的名称不能使用下滑线,Nginx不能识别。解决:将java_test改成java-test后问题解决。...

2018-04-28 21:52:52 9641 18

原创 使用SparkStreaming整合Flume时使用pull模式报错及解决

错误信息如下:2018-02-19 20:27:19,451 (Spark Sink Processor Thread - 2) [WARN - org.apache.spark.streaming.flume.sink.Logging$class.logWarning(Logging.scala:59)] Spark was unable to successfully process the ...

2018-02-19 21:14:52 792

原创 大数据环境构建【hadoop】【spark】【hive】

一.背景:Hadoop环境:2.6.4Python环境:3.5.XSpark环境:2.2.0Hive环境:1.2.2JDK版本:1.8二.集群环境:关于Hadoop集群环境:我自己使用三台机器,一台本地电脑,两台虚拟机。本地:192.168.60.194  hadoop00(Mac Os)  用户名:zhaoyan 密码:xxx虚拟机1:192.168.60.6...

2018-01-22 17:23:33 558

转载 Redis事务

Redis事务

2017-10-30 22:40:05 312

转载 Redis发布订阅

Redis发布订阅

2017-10-30 22:19:11 405

转载 Redis有序集合

Redis有序集合

2017-10-30 21:44:44 430

转载 Redis集合

Redis集合

2017-10-30 17:02:22 342

转载 Redis列表

Redis列表

2017-10-30 16:03:04 312

转载 Redis哈希

Redis哈希

2017-10-30 15:58:05 329

转载 Redis字符串

Redis字符串

2017-10-30 15:57:27 310

转载 Redis 键(Key)

Redis 键(Key)

2017-10-30 15:02:13 314

转载 Redis命令

Redis命令

2017-10-30 14:59:02 289

转载 Redis数据类型

Redis数据类型

2017-10-30 14:38:14 327

转载 Hbase中的Filter

Hbase中的Filter

2017-10-27 10:30:43 430

转载 LeaderElection选举算法

LeaderElection选举算法

2017-10-26 11:06:07 1237

转载 正则表达式

正则表达式

2017-10-26 11:00:54 241

转载 Hbase架构与原理

Hbase架构与原理

2017-10-25 22:29:41 379

Dubbo小案例

Dubbo小案例。以前自己找Demo的时候其他都是15分。。。现在自己做了一个,大家2分去下载吧。。。

2017-11-07

SSM项目中所有的jar包。

SSM项目中的所有jar包都在,有的没的都有,不用为jar包的问题而烦恼了

2017-08-08

空空如也

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

TA关注的人

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