摘要:
一、问题背景 最近在某个项目的生产环境碰到一个数据库连接问题,使用的连接池是alibaba的druid_1.1.10,问题表现为:DBA监测到应用集群到oracle的连接数总会在半夜降低,并且大大低于每个节点druid配置的minIdle总和。 一开始怀疑此问题产生的原因是oracle侧主动关闭了连 阅读全文
摘要:
最近在做一个远程项目,应用在本地idea和远程同事的idea中能够跑起来,但是同事那边使用Jenkins打包部署到服务器之后,启动报错,日志报错信息如下图所示: 这个报错是类加载时的校验阶段出错,和字节码有关,不过既然本地能够启动,很自然的觉得应该是JDK版本有差异,从而导致字节码不兼容。查看了JD 阅读全文
摘要:
一、迭代器Iterator 集合接口Collection继承了接口Iterable,该接口提供了一个用于获取迭代器Iterator的方法,使用迭代器我们可以逐个访问集合中的元素。下面是迭代器接口源码: 1 public interface Iterator<E> { 2 3 boolean hasN 阅读全文
摘要:
本文讲述java中基本数据类型溢出的原理,在此之前,我们要先了解一下计算机补码的知识。 一、用补码表示数 计算机中,将补码作为实际数据的存储形式,其中正数的补码与原码(原始二进制编码)相同,负数的补码是在保持最高符号位不变的情况下将其余比特位按位取反,然后再加上1。以127和-127为例,它们的原码 阅读全文
摘要:
一、什么是classpath classpath,翻译过来就是类路径的意思,它是包含class文件的路径集合,用于指示虚拟机jvm在这些路径下搜索class文件。 类路径可以同时定义多个,多个类路径之间需要使用分隔符进行分隔,windows环境下使用“;”,linux环境下则使用“:”。下面我们对类 阅读全文
摘要:
本文假设你已经具备一些计算机的基本知识,包括但不限于: Linux系统运行基础知识,如用户态、内核态。 Linux内存管理相关知识,如虚拟地址、物理地址、页表。 汇编语言。 C语言。 参考书籍和博客列表如下: 《深入理解计算机系统》 《操作系统导论》 《计算机组成与结构(清华大学出版社)》 《新一代 阅读全文
摘要:
第七题 原题:在这道习题中,我们探讨CRC的某些性质。对于在6.2.3节中给出的生成多项式G(=1001),回答下列问题: a.为什么它能够检测数据D中的任何单比特差错? b.上述G能够检测任何奇数比特差错吗?为什么? 解题思路:本题思路很简单,将题目转换一下,就是一个能被G模2整除的数,如果突然增 阅读全文
摘要:
第8题 原题题目: 考虑在图7-34中显示的情形,其中有4个无线节点A、B、C、D。这4个节点的无线电覆盖范围显示为其中的椭圆形阴影;所有节点共享相同的频率。当A传输时,仅有B能听到/接收到;当B传输时,A和C能听到/接收到;当C传输时,B和D能听到/接收到;当D传输时,仅有C能听到/接收到。 假定 阅读全文
摘要:
第15题 原题题目: 考虑图8-18中的鉴别协议,其中Alice向Bob鉴别她自己,我们看来工作正常(即我们没有发现其中有缺陷)。现在假定当Alice向Bob鉴别她自己的同时,Bob必须向Alice鉴别他自己。给出一个情况,此时Trudy假装是Alice,向Bob鉴别她自己是Alice。(提示:该协 阅读全文
摘要:
最近在排查一个ORM层相关的生产BUG时,在网上查找资料,看到一些人反馈mybatis 3.3.0之前版本的一个空指针BUG,于是自己看源码研究了一下,还真有这种问题,下面以mybatis 3.1.1版本源码作为说明。 BUG产生的源头在OGNL表达式上,直接根据结论放上自己的一个测试类,断点选择在 阅读全文