摘要:
问题描述: 本地开发环境idea中能正常运行项目,而idea打war包到Linux服务器的Tomcat下却不能正常运行,报如下错误: 问题排查: IDEA 打包环境JDK版本和Linux生产环境JDK版本不一致,导致线上Tomcat无法正常运行 解决方案: 1、确保两边环境安装相同的jdk版本 2、 阅读全文
摘要:
1、Netty 是怎么创建服务端Channel的呢? 我们在使用ServerBootstrap.bind(端口)方法时,最终调用其父类AbstractBootstrap中的doBind方法,相关源码如下: 我们继续跟进initAndRegister()这个方法,发现是使用channelFactory 阅读全文
摘要:
指数退避 可以理解为每次重连失败时,就把重连时间设置为之前的指数级别。例如 2 秒,4 秒,8 秒...... 亚马逊AWS关于指数退避的两篇文章介绍 "AWS 中的错误重试和指数退避" "Exponential Backoff And Jitter" Netty客户端中使用指数退避方式重连 客户端 阅读全文
摘要:
一、什么是Google Protocol Buffer( "protobuf官方网站" ) 下面是官网给的解释: Protocol buffers are a language neutral, platform neutral extensible mechanism for serializin 阅读全文
摘要:
解码器Decoder和ChannelHandler的关系 netty的解码器通常是继承自ByteToMessageDecoder,而它又是继承自ChannelInboundHandlerAdapter,其实也是一种ChannelHandler和我们自定义的ChannelHandler一样都是来处理进 阅读全文
摘要:
什么是Netty Netty是一个基于Java NIO的编写客服端服务器的框架,是一个异步事件框架。 官网 "https://netty.io/" 为什么选择Netty 由于JAVA NIO编写服务器的过程过于复杂且不易掌控,所以我们选择Netty框架进行开发。 具有很高的的性能。 且比NIO更容易 阅读全文
摘要:
传统同步阻塞I/O(BIO) 在NIO之前编写服务器使用的是同步阻塞I/O(Blocking I/O)。下面是一个典型的线程池客服端服务器示例代码,这段代码在连接数急剧上升的情况下,这个服务器代码就会不好使了,因为serverSocket.accept(),以及IO的read(),write()方法 阅读全文
摘要:
需求分析 要通过PostgreSQL实现类似Google搜索自动提示的功能,例如要实现一个查询海量数据中的商品名字,每次输入就提示用户各种相关搜索选项,例如淘宝、京东等电商查询 思路 这个功能可以用 PostgreSQL的实时全文检索和分词、相似搜索、前模糊匹配等特性实现。具体策略是,定义一个搜索提 阅读全文
摘要:
配置yum源 卸载旧版本docker 使用存储库安装docker 安装所需的包 使用以下命令设置稳定存储库。 安装DOCKER CE 安装最新docker 或者yum列出docker再进行安装 建立 加入docker 用户组 启动Docker List Docker CLI commands 查看版 阅读全文
摘要:
JDK 1.8 HashMap是数组+链表+红黑树实现的,在阅读HashMap的源码之前先来回顾一下大学课本数据结构中的哈希表和红黑树。 什么是哈希表? 在存储结构中,关键值key通过一种关系f和唯一的存储位置相对应,关系f即哈希函数,Hash(k)=f(k)。按这个思想建立的表就是哈希表。 当有两 阅读全文