在使用某RPC框架过程中,遇到两个因使用 ByteToMessageDecoder
不当而导致的两个小问题,如下列示例代码所示:
protected void decode(ChannelHandlerContext ctx, ByteBuf byteBuf, List\
在使用某RPC框架过程中,遇到两个因使用 ByteToMessageDecoder
不当而导致的两个小问题,如下列示例代码所示:
protected void decode(ChannelHandlerContext ctx, ByteBuf byteBuf, List\
在SpringBoot项目引入的依赖的代码中发现下面这样问题,最终确定是由RestartClassLoader导致的,由此展开一步一步探索
// 类名一致,但加载出的类却不相等
Class.forName(paramClassNames) == paramClass // false
起因是公司 SVN 服务器老歇机,有些代码放GitHub 又不怎么合适,且近来 GitHub被墙的贼厉害。只需要简单几步即可搭建自己私有的 Git Server,并通过 Git Web 进行浏览查看。
环境: Debian 9 ,Nginx/1.10.3
在今年九月正式发布的 Java9 版本中,其 /bin 目录中多个一个交互工具 JShell(据说 Java8 已有测试版)。众所周知,许多编程语言都提供称作 Read-Evaluate-Print Loop (REPL)的命令行工具,它们能够在输入声明、语句及表达式时计算,并立即给出结果。
以 Python 为例,运行整个工程、项目可能需要很长时间,但是你可以使用此工具执行一些需要确定的表达式,就能立即得到他们返回的值。这对于哪些开始学习语言或者接触语言新功能的程序员来说是个便捷好用的工具。
然而没 JShell 之前的 Java 来说,你需要编写一个测试类新建 main 方法来打印结果,并且每次修改后需要重写编译、运行。
最近在各个服务器提供商中尝试适合的服务器,然而给多个服务器初始配置确实很是繁琐无聊。
索性自己写个脚本,这样一接手新的服务器就能自动配置,省下时间来好好折腾别的。
目前适用环境:CentOS 5+、Ubuntu、Debian
在逛同性交友网站GitHub的时候看到一个解析线程池异常处理的Issue,正好是曾经自己遇到过的问题。在此记录下来,并将其拓展到其他类型的线程池。
本文因篇幅省略了诸多AQS相关知识,可以查看博客中另一篇博文 一行一行源码分析清楚AQS 以保证清楚理解本文。