摘要:
printStackTrace 打印的是调用栈的轨迹 。调用栈显示了“把你带到异常的地点" 支持选择要输出的流。
它打印的是 方法调用的源头上下文
fillInStackTrace:用于在throwable内部记录栈针状态 阅读全文
摘要:
高可用存储架构:双机架构 阅读全文
摘要:
<logger>节点 分两种 1.是普通日志对象 2.根日志对象 appender:日志输出目的地 与log4j中的appender一样,logback中的<appender>节点也同样负责日志输出的目的地。 appender中有2个必填属性--name和class。name为<appender>节 阅读全文
摘要:
swap是干嘛的?
在Linux下,SWAP的作用类似Windows系统下的“虚拟内存”。当物理内存不足时,拿出部分硬盘空间当SWAP分区(虚拟成内存)使用,从而解决内存容量不足的情况。
SWAP意思是交换,顾名思义,当某进程向OS请求内存发现不足时,OS会把内存中暂时不用的数据交换出去,放在SWAP分区中,这个过程称为SWAP OUT。当某进程又需要这些数据且OS发现还有空闲物理内存时,又会把SWAP分区中的数据交换回物理内存中,这个过程称为SWAP IN。
当然,swap大小是有上限的,一旦swap使用完,操作系统会触发OOM-Killer机制,把消耗内存最多的进程kill掉以释放内存。 阅读全文
摘要:
HttpMessageConverter那回事 阅读全文
摘要:
浅拷贝:被拷贝对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。
比如举个例子,一个类A中有另外一个类B类型的变量。在A重写clone函数调用super.clone的时候,创建的新对象和原来对象中的类B类型的变量是同一个,他们指向了同一个B的类型变量。如果在A中对B的变量做了修改,在新的拷贝出来的对象中B的变量也会被同样的修改。
请记住,直接调用super.clone实现的clone方法全部都是浅拷贝。
(三)深拷贝
深拷贝:被拷贝对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。换言之,深复制把要复制的对象所引用的对象都复制了一遍。
通俗的说,如果说浅拷贝,开始的时候是两条线,如果在最后有一个其他类的变量,那么这两条线最后会合二为一,共同指向这变量,都能对他进行操作。深拷贝则是完完全全的两条线,互不干涉,因为他已经把所有的内部中的变量的对象全都复制一遍了 阅读全文
摘要:
最近笔者遇到一个问题 枚举值是1 发现不同类型的两这种写法居然成立,且结果为true 于是查了很多资料 ,发现官方API 有这种说法: If the operands of an equality operator are both of numeric type, or one is of num 阅读全文
摘要:
听大神耗子叔谈编程范式之面向对象编程 阅读全文