学习过程
文章平均质量分 79
Horizon_Zy
努力的小白。
展开
-
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 · 489 阅读 · 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 · 2226 阅读 · 0 评论 -
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 · 1085 阅读 · 0 评论 -
关于MySQL的一些零散的知识
索引下推:如果查询条件中有几个字段都命中了联合索引,根据联合索引里面的值提前进行判断条件,可以减少回表的次数。mysql的内存是基于页的缓存,每一个页是16kb.更新会涉及到change buffer,对于普通索引,如果要操作的页不在内存中,需要在change buffer中纪录当前的操作,并记录在WAL里。后续通过merge操作将数据同步到磁盘。后续读数据时,内存中有数据,直接从内存中返回,...原创 2019-11-26 13:19:25 · 284 阅读 · 0 评论 -
一篇文章带你走近zookeeper
1.zk是什么zk是apache下的一个开源项目,官方介绍为:"zooKeeper是一种集中式服务,用于维护配置信息,命名,提供分布式同步和提供组服务"。2.zk中的角色2.1 Leaderzk集群中同一个时间只有一个leader,它会和各个follower和observer发起进行心跳,来保证集群中各个节点是否是可用的。进行写操作,并且将写操作的结果同步到各个followe...原创 2019-09-12 04:04:27 · 499 阅读 · 0 评论 -
一篇文章带你走近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 · 360 阅读 · 0 评论 -
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 · 201 阅读 · 0 评论 -
关于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 · 1845 阅读 · 0 评论 -
代码整洁之道 总结
1.什么样的代码才是整洁的从字面意思上理解,整洁的代码,对于程序员来说非常的一目了然,简单、整洁,结构清晰,逻辑清楚。代码其实是一种语言,传递的是逻辑,如果这份代码可以像我们说话一样快速的将逻辑传递给读者,那么这样一份代码就是一份整洁的代码。可以借助沃德原则:"如果每段代码欧让你感到深合已意,那就是整洁代码"2.如何保持代码整洁首先便是要有保持代码整洁的意识,书中反复提到的提到的...原创 2019-05-19 17:31:15 · 7394 阅读 · 0 评论 -
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 · 990 阅读 · 0 评论 -
【转】进程间通信的几种方式
进程间通信的几种方式转载 2017-10-17 19:33:16 · 260 阅读 · 0 评论 -
servlet+mysql+jsp简单的登录注册功能。【详解,写得比较细,适合新手看】
最新开始学习Java ee了。现在写一个简单的登录注册的小应用。服务器使用的是tomcat在自己电脑构建的服务器。在src下面建立三个包,一个dao包处理业务逻辑,一个servlet包处理jsp传输过来的数据,一个util包帮助我们建立与数据库的联系。下图是数据库表单:下图是项目结构。 先贴上util里的代码,不懂原创 2017-07-18 18:59:17 · 14583 阅读 · 39 评论