零碎笔记录
zero__007
这个作者很懒,什么都没留下…
展开
-
零碎笔记(二)
列举一些常用的算法,希望能有一定的参考价值.1.判断一个正整数是否事2的幂boolean is2Power(int x){ return (x &(x-1))==0;}x&(x-1)就是把x的最右边的一个1位变为0位,如果x为2的幂,那么就只有一个位为1,返回的结果就是0了.注意:x必须为正整数,0也不可以.2.判断一个正整数是否是2^n-1的形式boolean原创 2016-01-01 13:43:52 · 468 阅读 · 0 评论 -
《Effective Java》笔记(一)
如果类的构造器或者静态工厂中具有多个参数,设计这种类时,应该考虑使用Builder模式。public class NutritionFacts { private final int servingSize; // required private final int servings; // required private final int colo...原创 2016-01-12 22:16:21 · 444 阅读 · 0 评论 -
零碎笔记(一)
TCP的发送缓冲区中的数据,如果收不到接收方的ACK就不会删除,导致发送缓冲区溢出。如果接收方的缓冲区满了,收到数据后会不会向发送方发ACK呢?答案: 1. 只要收到了包,就会ACK。 2. TCP在ACK的同时会带有window大小值,表示这边能接受的数据量。发送方会根据这个调整数据量。 3. 接收方缓冲区满时,回给发送方的window值就是0。 4.原创 2015-12-05 17:32:59 · 384 阅读 · 0 评论 -
零碎笔记(三)
平时数据库处理时,总要接触关于数据同步修改的问题,有时候需要在业务处理时保证业务数据同步(一般这种情况都包含统计字段,也就是说需要根据前面的值算出后面的值的字段),例如,两个人同时查询出1条记录后,先后对其加1,保存入数据库中,这样就可能造成保存问题,因此,需要对该数据进行同步。这里有3种方法可以采用: 1.增加一个版本字段,查询时得到该字段,修改后增加1,以后其他的修改需要进行比原创 2016-03-10 17:24:51 · 412 阅读 · 0 评论 -
零碎笔记(四)
JAVA中,当需要把一个类序列化的时候,显示提供一个serialVersionUID有什么用呢? a)小幅性能提升,免除JVM运行时对这个值的计算。 b)避免java.io.InvalidClassException,不同的JVM对serialVersionUID的计算方法可能不一样,就算类的定义和序列化后的对象是一致的,也可能从JVM-A里序列化后的对象到达JVM原创 2016-05-13 23:29:24 · 459 阅读 · 0 评论 -
零碎笔记(五)
Java内存泄露引起原因,内存泄露是指无用对象(不再使用的对象)持续占有内存或无用对象的内存得不到及时释放,从而造成的内存空间的浪费称为内存泄露。导致Java内存泄露一个场景:长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄露,尽管短生命周期对象已经不再需要,但是因为长生命周期对象持有它的引用而导致不能被回收。 对于语句String s = new String(原创 2016-06-17 20:52:29 · 459 阅读 · 0 评论 -
零碎笔记(六)
防止JVM吃异常堆栈的参数 -XX:-OmitStackTraceInFastThrow Java将为每个线程维护一个堆栈,堆栈里将为每个方法保存一个栈帧,栈帧代表了一个方法的运行状态,也就是方法栈,最后一个为当前运行的栈帧。 那么每一次方法调用会涉及: 1.为新调用方法的生成一个栈帧 2.保存当前原创 2016-08-03 21:27:22 · 288 阅读 · 0 评论 -
零碎笔记(七)
web.xml中classpath和classpath*的区别: classpath:只会到指定的class路径中查找文件; classpath*:不仅在指定的class路径中查找文件,还包括在jar文件中(class路径)进行查找. java.util.LinkedList是双向链表,理论上说,双向链表的删除的时间复杂度是O(1),但实际上Li原创 2017-04-11 19:42:22 · 462 阅读 · 1 评论 -
零碎笔记(八)
java程序启动时添加参数-XX:+AlwaysPreTouch 启动时就把参数里说好了的内存全部舔一遍,可能令得启动时慢上一点,但后面访问时会更流畅,比如页面会连续分配,比如不会在晋升新生代到老生代时才去访问页面使得GC停顿时间加长。ElasticSearch和Cassandra都打开了它。 Thread#setUncaughtExceptionHandler()方法可用来设置...原创 2018-12-19 21:47:33 · 255 阅读 · 0 评论