技术
在上一篇 像本服一样调用远程代码(跨进程远程方法直调)中,我们已经详细讲解了跨服方法调用的原理。但示例代码里有一些实现方式是自己实现的方式,相对比较原始。这里对其中2点的实现进行优化优化1:本地方法直调改为reflectam
目前项目中主流的都是使用maven等构建工具,当然在使用过程中也会遇到各种各样的疑惑或问题,比如:maven生命周期到底有啥用jar包下载不了怎么办不知道配置怎么配,下载jar包的顺序是什么jar包冲突又是怎么解决问的人多了,也就形成了大家的共性问题,这里基于这些问题
在调tomcat的shutdown命令,或者在编辑器里点关闭web服务,可能会出现关不掉的情况,控制台可能也不报错。 我这里总结下:不是tomcat关不掉,而是tomcat启动的应用某些线程没正常关闭, 再明确点就是:项目中有非daemon的线程没关闭。具体原因大家再百度百度吧。
火焰图就是CPU的抽样图。 系统定期抽样(通常频率是99Hz,即每秒99次),基于函数调用堆栈来画抽样图。 - y轴代表方法的调用栈,越高代表方法堆栈深度越深; - x轴代表被抽样的次数(注意:不是时间),越宽代表该方法栈消耗的CPU次数越多。
想要调用远程方法,传统的方式需要以下几个步骤: 需要先判断是否是本服请求。如果是本服,则执行本服逻辑;如果是跨服,则需要把请求发到对应服务器上; 跨服务之间的消息通信; 消息发送到跨服之后,如何根据参数来调用对应的代码?
去年花了一段时间阅读了《深入理解Java虚拟机》周志明版。读之前记得有一段评论说,这本书是Java虚拟机里面写的最经典的一本。整体读下来感觉评论还算中肯,这种理论型的书,一般看起来都会感觉枯燥乏味,但周志明这版逻辑清晰,叙述部分生动。尽管与平时业务开发不太相关,有些理论看起来还有点难以理解