09 2018 档案

摘要:远程项目报错,但是通过日志等手段没法定位问题,只能提供远程调试的方式定位问题。 1. 步骤 1.1 启动调试端口 业务有自己的端口,而为了能够调试业务,需要另外开启一个端口用于调试。 在java虚拟机设置中增加如下配置: JAVA_OPS="$JAVA_OPS -Xrunjdwp:transport 阅读全文
posted @ 2018-09-20 17:06 小路不懂2 阅读(645) 评论(0) 推荐(0) 编辑
摘要:项目中,有时候要读取当前classpath下的一些配置文件,下面介绍下Class.getResourceAsStream和ClassLoader.getResourceAsStream两种方法以及两者的区别。 1. Class.getResourceAsStream 首先, 我们必须先了解根路径“/ 阅读全文
posted @ 2018-09-19 14:28 小路不懂2 阅读(439) 评论(0) 推荐(0) 编辑
摘要:1. 背景 线上内存OOM问题是最难定位的问题,最常见的原因: (1)本身资源不够 (2)申请的太多 (3)资源耗尽 某服务器上部署了Java服务,出现OutOfMemoryError,请问有可能是什么原因,问题应该如何定位? 解决思路: Java服务OOM,最常见的原因为: (1)有可能是内存分配 阅读全文
posted @ 2018-09-15 14:46 小路不懂2 阅读(5447) 评论(0) 推荐(0) 编辑
摘要:1. 背景 工程架构中有很多访问下游的需求,下游包括但不限于服务/数据库/缓存,其通讯步骤为: (1)与下游建立一个连接 (2)通过这个连接,收发请求 (3)交互结束,关闭连接,释放资源 2. 为什么需要连接池? 当并发量很低的时候,建立连接和关闭连接的过程是没问题的,但当服务单机QPS达到几百、几 阅读全文
posted @ 2018-09-15 10:56 小路不懂2 阅读(174) 评论(0) 推荐(0) 编辑
摘要:(1)解决java.lang.UnsatisfiedLinkError: no XXX in java.library.path -- 一般这是引入dll或者so的文件出现的,设置好java.library.path就好。在启动命令行中格式:java -Djava.library.path=/f/E 阅读全文
posted @ 2018-09-14 16:54 小路不懂2 阅读(184) 评论(0) 推荐(0) 编辑
摘要:1. 描述 jvisualvm是JDK自带的监控工具,位于JDK bin目录下面。 默认jvisualvm不能监控远程的JVM进程,需要进行一些配置。 2. 单独在应用上配置JVM启动参数 在Java启动时,配置如下参数: -Djava.rmi.server.hostname=192.168.23. 阅读全文
posted @ 2018-09-12 10:18 小路不懂2 阅读(4723) 评论(0) 推荐(0) 编辑
摘要:1. path path是个系统环境变量,声明命令的搜索路径,让操作系统找到指定的工具程序。 D:\Program Files\Java\jdk1.8.0_111\bin指定JDK工具路径,例如javac,java,jmap等,如果不配置就无法运行javac等命令。 2. -classpath cl 阅读全文
posted @ 2018-09-10 14:42 小路不懂2 阅读(5643) 评论(0) 推荐(0) 编辑
摘要:1. 代理模式 代理模式是常见的Java设计模式,特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的 阅读全文
posted @ 2018-09-06 15:16 小路不懂2 阅读(201) 评论(0) 推荐(0) 编辑