1.适配器设计模式的定义,及其目的
2.MySql中的ROUND(x,y)函数在截取值的时候会四舍五入,而TRUNCATE(x,y)函数直接截取值,并不进行四舍五入。
3.DB2中SELECT * FROM OLD TABLE (DELETE FROM TABLE_NAME WHERE cloum is null) 表示的是获取要删除的数据。
4.JDK类包结构:
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.io.IOException
所以说一切的Exception类的父类是Exception,而Error和Exception的父类是Throwable。
5.常见的内存溢出异常:
• java.lang.StackOverflowError
• 栈的深度超过了虚拟机容许的最大深度
• 栈内存不够,-Xss
• java.lang.OutOfMemoryError: Java heap space
• 堆内存不够,内存泄露,-Xmx
• java.lang.OutOfMemoryError: PermGen space
• 方法区(持久代)使用过大,应用加载class过多,字节码生成技术使用过多
• -XX:PermSize,-XX:MaxPermSize
• java.lang.OutOfMemoryError:unable to create native thread
• 线程数超过了操作系统的限制
• 给虚拟机分配的内存过大(-Xmx,-MaxPermSize) ,导致创建线程的时候需要的native内存太少
6.JVM中以线程为粒度,每个线程独自拥有的有:虚拟机栈(VM Stack),程序计算器,本地方法栈
共享区有:堆,方法区
7.java代码中的try-catch代码块,当有多个catch块时,要注意catch顺序,先catch子类层级的异常,再catch父类层级的异常。
8.Redis事务相关指令:multi,exec,discard,watch。
exec:负责触发并执行事务中的所有指令
multi:开启一个事务
discard:清空事务队列,放弃执行事务
watch:为Redis事务提供CAS(check-and-set)行为