2018年6月2日
正文内容加载中...
posted @ 2018-06-02 09:23 西北野狼 阅读(10) 评论(0) 编辑
  2018年5月30日
摘要: 设计一个类,我们只能生成该类的一个实例。 其实就是单利模式的实现:阅读全文
posted @ 2018-05-30 10:12 西北野狼 阅读(12) 评论(0) 编辑
  2018年5月24日
摘要: 深入学习semaphore 控制同时访问资源线程数 访问特定资源前,先使用acquire(1)获得许可,如果许可数量为0,该线程则一直阻塞,直到有可用许可。 访问资源后,使用release()释放许可。 demo: 非公平策略 acquire实现,核心代码如下: java final int non阅读全文
posted @ 2018-05-24 10:10 西北野狼 阅读(15) 评论(0) 编辑
  2018年5月9日
摘要: @transactional注解在什么情况下会失效,为什么。 @Transactional的使用: 在xml中配置spring事务管理类DataSourceTransactionManager 调用含注解的方法并抛异常,执行有异常抛出,z1表新增记录、z2表无新增记录,事务失效 修改后: 在代理下(阅读全文
posted @ 2018-05-09 11:12 西北野狼 阅读(41) 评论(0) 编辑
摘要: ArrayList中的remove方法(注意ArrayList中的remove有两个同名方法,只是入参不同,这里看的是入参为Object的remove方法)是怎么实现的: 执行System.arraycopy方法,导致删除元素时涉及到数组元素的移动。 删除方法1: modCount+1,涉及到ite阅读全文
posted @ 2018-05-09 08:50 西北野狼 阅读(174) 评论(0) 编辑
  2018年5月8日
摘要: Hashmap在并发环境下,可能出现的问题: 1、多线程put时可能会导致get无限循环,具体表现为CPU使用率100%; 原因:在向HashMap put元素时,会检查HashMap的容量是否足够,如果不足,则会新建一个比原来容量大两倍的Hash表,然后把数组从老的Hash表中迁移到新的Hash表阅读全文
posted @ 2018-05-08 14:57 西北野狼 阅读(55) 评论(0) 编辑
  2018年5月7日
摘要: 主要优化堆,堆内存分为一个伊甸园区(Eden Space)两个幸存区(Survivor Space)。 伊甸园区为new出来的对象; 幸存区为伊甸园区满gc minorGC后进入幸存区; 幸存区 Full gc 后进入养老区 Fenure Generation Space; 最后进入永久存储区 Pe阅读全文
posted @ 2018-05-07 00:34 西北野狼 阅读(17) 评论(0) 编辑
  2018年4月24日
摘要: 正确截取List指定位置的内容阅读全文
posted @ 2018-04-24 09:22 西北野狼 阅读(80) 评论(0) 编辑
  2018年3月25日
摘要: ArrayList 总体介绍 ArrayList 实现了 List 接口,是顺序容器,即元素存放的数据与放进去的顺序相同,允许放入 元素,底层通过 数组实现 。除该类未实现同步外,其余跟 Vector 大致相同。每个 ArrayList 都有一个容量(capacity),表示底层数组的实际大小,容器阅读全文
posted @ 2018-03-25 22:56 西北野狼 阅读(30) 评论(0) 编辑
  2018年3月21日
摘要: 1.一个类只能进行单继承,但可以实现多个接口。 2.有抽象方法的类一定是抽象类,但是抽象类里面不一定有抽象方法; 接口里面所有的方法的默认修饰符为public abstract,接口里的成员变量默认的修饰符为 pulbic static final。 关系 1. 接口可以继承接口 2. 抽象类实现接阅读全文
posted @ 2018-03-21 00:06 西北野狼 阅读(27) 评论(0) 编辑