摘要: 环境:下面只有JDK(内含jre),没有外在的jre 读取的两个文件都是存在的,只是文件名不同 运行结果1 运行结果2 切换JDK 运行结果3: 运行结果4: 请留意:C:\windows\system32\是一个特殊的目录 阅读全文
posted @ 2018-11-22 11:59 梁桦 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 打开开发环境服务器(我的服务器应用是单独部署的,几乎没有人访问),偶然间看到命令窗口报异常,java.lang.OutOfMemoryError:heap space,还包括一大堆的其他错误——后面发现其他错误都是内存溢出引起的 用jconsole和jvisualvm尝试打开服务器,行不通——堆内存 阅读全文
posted @ 2018-11-16 10:15 梁桦 阅读(1366) 评论(0) 推荐(0) 编辑
摘要: instanceof,两个单词组成,instance of,意为, "… 是 …的实例"。 本身包含null值的判断。但是有不少人,先来个 obj != null,然后来个 obj instanceof Type 阅读全文
posted @ 2018-10-12 10:04 梁桦 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 反序列化的过程: 读取二进制文件; 读取序列化的对象,读取过程中虚拟机会在当前工程当中寻找序列化的目标类(反序列化类): 如果没找到报ClassNotFoundException; 如果找到了目标类(立即加载该类),但是反序列化类的ID和序列化类的ID不同,则报InvalidClassExcepti 阅读全文
posted @ 2018-10-11 11:36 梁桦 阅读(418) 评论(1) 推荐(0) 编辑
摘要: 系统监控: 服务器监控:检测服务器是否存活; 磁盘监控:检测磁盘是否不足 监控方式: 主动定时定期报平安:对外指定邮箱发邮件 被动发出声音警报:服务器播放声音 服务器监控:检测服务器是否存活; 磁盘监控:检测磁盘是否不足 监控方式: 主动定时定期报平安:对外指定邮箱发邮件 被动发出声音警报:服务器播 阅读全文
posted @ 2018-09-29 12:01 梁桦 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 在异常调用链当中:异常对象创建顺序(栈内进行),和异常堆栈链显示顺序恰好相反(出栈顺序) 源码: 执行结果: 以上:上半部分是栈内正常执行顺序;下半部分的异常信息顺序。 阅读全文
posted @ 2018-09-27 23:12 梁桦 阅读(498) 评论(0) 推荐(0) 编辑
摘要: 日志分割建议 建议:按时间但不按大小分割,理由: 按时间并按大小分割,存在少量因服务器重启而混乱的风险; 按时间不按大小分割,根据日志大小列表及时段,就可以知道应用访问的高峰期在哪个时段,也能在一定程度上观测到某些异常访问(例如高频的恶意访问)。 阅读全文
posted @ 2018-09-26 17:04 梁桦 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 异常处理的优势【存在意义】:异常检测者有检测出异常的能力,但不知道在出现该异常的情况下应该怎么处理。故库方法一般会抛出异常给调用者来处理。所以总结而言,异常处理的优势就是,将处理错误(调用者处理)从检测错误(被调用者检测)中分离出来。 异常的分类: 系统错误:内部系统错误,虚拟机抛出。免检。 异常: 阅读全文
posted @ 2018-09-25 01:11 梁桦 阅读(1547) 评论(0) 推荐(0) 编辑
摘要: package lsh.element.algrithom; import java.util.Scanner; public class CountLetterIgnoreCase { public static void main(String[] args) { Scanner input = new Scanner(System.in); ... 阅读全文
posted @ 2018-09-23 19:04 梁桦 阅读(462) 评论(0) 推荐(0) 编辑
摘要: package lsh.element.numbersystem; import java.util.Scanner; /** * * @desc 有意思的地方:两种思想得到的结果都是正确的,但是超出int类型最大之后,错误值却不同 * * @author * LSH * 2018年9月23日 */ public class HexToDecimalC... 阅读全文
posted @ 2018-09-23 18:34 梁桦 阅读(1046) 评论(0) 推荐(0) 编辑