随笔分类 - Java基础
摘要:1、 TCP/IP重传机制,如何保证消息读到一个完整内容再反序列化 2、 TCP四次回收比三次握手多了什么操作,什么时候会进入Time_await状态 3、
阅读全文
摘要:简单工厂模式 抽象工厂模式 代理模式 装饰者模式(Decorator):动态地给一个对象添加一些额外的职责,就增加功能来说,装饰着模式比生成子类更加灵活。 建造者模式:builder构建
阅读全文
摘要:相比CMS收集器有两个显著的改进: (1)、 G1收集器是基于“标记-整理”算法实现的收集器,不会产生空间碎片 (2)、 它可以精确地控制停顿,能让使用者明确指定在一个长度为M毫秒的时间片段内,消耗在垃圾收集上的时间不得超过N毫秒。 原理:G1将整个Java堆(包括新生代、老年代)划分为多个大小固定
阅读全文
摘要:HashMap 说明: 在详细介绍HashMap的代码之前,我们需要了解:HashMap就是一个散列表,它是通过“拉链法”解决哈希冲突的。还需要再补充说明的一点是影响HashMap性能的有两个参数:初始容量(initialCapacity) 和加载因子(loadFactor)。容量 是哈希表中桶的数
阅读全文
摘要:在ReentrantLock中包含了公平锁和非公平锁两种锁,通过查看源码可以看到这两种锁都是继承自Sync,而Sync又继承自AbstractQueuedSynchronizer,而AbstractQueuedSynchronizer又继承自AbstractOwnableSynchronizer,下
阅读全文
摘要:一、 ArrayList底层实现原理 对比 和Vector不同,ArrayList中的操作不是线程安全的!所以,建议在单线程中才使用ArrayList,而在多线程中可以选择Vector或者CopyOnWriteArrayList。 总结:(01) ArrayList 实际上是通过一个数组去保存数据的
阅读全文
摘要:public interface Serializable {} 该接口没有任何实现方法,是一种标志,instance of Serializable 会判断object类型 一、序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。 对
阅读全文
摘要:一、 抽象类和接口的特点 包含抽象方法的类称为抽象类,但并不意味着抽象类中只能有抽象方法,它和普通类一样,同样可以拥有成员变量和普通的成员方法。注意,抽象类和普通类的主要有三点区别: 1)抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方
阅读全文
摘要:理解 1、第二范式的侧重点是非主键列是否完全依赖于主键,还是依赖于主键的一部分。第三范式的侧重点是非主键列是直接依赖于主键,还是直接依赖于非主键列。 2、 反模式 范式可以避免数据冗余,减少数据库的空间,减轻维护数据完整性的麻烦。 然而,通过数据库范式化设计,将导致数据库业务涉及的表变多,并且可能需
阅读全文
摘要:1、 自旋锁的优缺点: 自旋锁 自旋锁原理非常简单,如果持有锁的线程能在很短时间内释放锁资源,那么那些等待竞争锁的线程就不需要做内核态和用户态之间的切换进入阻塞挂起状态,它们只需要等一等(自旋),等持有锁的线程释放锁后即可立即获取锁,这样就避免用户线程和内核的切换的消耗。 但是线程自旋是需要消耗CP
阅读全文
摘要:总结:1、For-Each循环的缺点:丢掉了索引信息。 当遍历集合或数组时,如果需要访问集合或数组的下标,那么最好使用旧式的方式来实现循环或遍历,而不要使用增强的for循环,因为它丢失了下标信息。增强for循环用法1.首先增强for循环和iterator遍历的效果是一样的,也就说增强for循环的内...
阅读全文
摘要:在java中有三个类负责对字符的操作:Character、String、StringBuffer。其中,Character类是对单个字符进行操作,String是对一个字符序列的操作,StringBuffer是对一串字符进行操作。1.Character的声明pubic final class Ch...
阅读全文
摘要:原文地址:http://www.cnblogs.com/liubiqu/archive/2008/08/14/1267867.htmljava.lang.string.splitsplit 方法将一个字符串分割为子字符串,然后将结果作为字符串数组返回。stringObj.split([separat...
阅读全文
摘要:/* * 测试HashMap的应用,判断 */import java.util.HashMap;public class HuaWeiTest { private static final Integer ONE = new Integer(1); public static void ...
阅读全文
摘要:JAVA 中两种判断输入的是否是数字的方法package t0806;import java.io.*;import java.util.regex.*;public class zhengzehua_test { /** * @param args */ public static void ...
阅读全文