- 博客(37)
- 资源 (4)
- 收藏
- 关注
原创 手动实现HashMap
public class HashMap { private static final int DEFAULT_INITIAL_CAPACITY = 16; private static final float DEFAULT_LOAD_FACTOR = 0.75f; private int threshold; private int size;
2017-05-29 21:59:03 9725
原创 Cas 总结
锁机制存在以下问题:(1)线程上下文切换代价(2)线程竞争锁发送的阻塞(3)扰乱线程优先级,高优先级线程等待低优先级线程释放锁CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。CAS是硬件CPU提供的元语,它的原理:我认为位置 V 应该包含值 A;如果包含该值,则将
2017-05-26 16:25:17 2251
原创 MySql 存储过程
存储过程跟普通Sql相比的优点1、比普通Sql功能更加强大,使用更加灵活2、执行速度快,除了第一次执行跟Sql处理时间相同外,以后再次调用少了语法分析和编译的时间消耗3、减少网络带宽,普通Sql有可能比较长,网络传输占用更多的带宽
2017-05-26 09:35:09 2163
原创 Mybatis 总结
Mybatis核心组件SqlSessionFactoryBuilder:用于创建SqlSessionFactorySqlSessionFactory:用于创建SqlSessionSqlSession:用于发送Sql语句去执行并返回结果,也可以获取Mapper接口SqlMapper:由Sql和Java接口组成,用于发送Sql去执行和返回结果关键图:
2017-05-25 16:50:55 2195
原创 简单工厂、工厂方法、抽象工厂
简单工作:由静态工厂方法通过输入的参数创建不同的产品工厂方法:由工厂实例方法创建具体某个产品抽象工厂:由工厂示例方法创建多个产品
2017-05-24 22:34:09 2111
原创 Spring 设计模式之策略模式应用
Resource的实现类有6个,分别是UrlResource、ClassPathResource、FileSystemResource、ByteArrayResource、InputStreamResource、SevletContextResource
2017-05-23 22:37:58 2572
原创 Spring 设计模式之适配器
关键类:AdvisorAdapterAfterReturningAdviceAdapterMethodBeforeAdviceAdapterThrowsAdviceAdapter
2017-05-23 22:19:43 2472
原创 Spring 设计模式——观察者|事件驱动模型
Spring观察者驱动模型几个关键的类ApplicationEvent:事件ApplicationListener:事件监听器,方法void onApplicationEvent(E event)ApplicationEventPublisher:事件发布器,方法void publishEvent(ApplicationEvent event)Application
2017-05-23 21:48:29 2885
原创 设计模式之回调模式
类A中有类B的应用,类A实现一个CallBack接口类B中有一个方法f,f有一个参数的类型是CallBack,方法f中调用CallBack方法public interface Callback {public void getName(String name);}public class B {public void fB(Callback clallback)
2017-05-23 17:26:13 2537
原创 七大 阻塞队列
1、ArrayBlockingQueue:一个由数组结构组成的有界阻塞队列2、LinkedBlockingQueue:一个由链表结构组成的有界阻塞队列3、PriorityBlockingQueue:一个支持优先级排序的无解阻塞队列4、DelayQueue:一个使用有限级队列实现的无界阻塞队列5、SynchronousQueue:一个不存储元素的阻塞队列6、LinkedTrans
2017-05-23 17:01:21 3471
原创 十二大 原子类型
1、AtomicBoolean:原子更新boolean变量2、AtomicInteger:原子更新int变量3、AtomicLong:原子更新long变量4、AtomicIntegerArray:原子更新整型数组的元素5、AtomicLongArray:原子更新长整型数组的元素6、AtomicReferenceArray:原子更新引用类型数组的元素7、AtomicRefer
2017-05-23 16:55:53 3569
转载 Paxos算法总结
Paxos算法一、基本概念算法的参与者有三个角色,每个参与者可以兼多个角色提议者(proposer),负责提案,提案包括编号和提议的value接收者(acceptor),负责批准议案学习者(learner),学习议案算法一致性的语义决议只有被提议者提出后才能被批准(没有批准的称为提案)在一次Paxos算法执行中,只能批准一个决议学习者只能获取被批
2017-05-22 14:28:27 2643
原创 LeetCode 2
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution { public List
2017-05-21 22:18:40 2378
原创 单点登录框架Cas
1.什么是单点登录用户访问不同应用中的受保护的资源,只需登录一次。即通过一个应用的安全验证后,再访问其他应用中受保护的资源时不需要重复登录验证。2.单点登录的优点用户不必记忆多个登录名和密码,提高提高用户使用效率。开发人员新建项目不必考虑开发用户体系,提高开发人员效率。运维人员不必维护管理多个用户账号表,提高运维管理效率。3.CAS体系结构 1).
2017-05-21 19:38:51 2999
原创 共享变量可见性
可见性:多线程环境下,一个线程修改共享变量,能够及时被其他线程所感知共享变量:一个变量在多个线程的工作内存都存在副本,这个变量就是共享变量线程对共享变量的操作只能在自己的工作内存中进行,不能主内存中操作不同线程之间无法访问其他线程工作内存中的变量,线程间变量值的传递通过主内存完成共享变量的可见性实现原理:线程1修改共享变量后,立刻更新主内存,然后线程2立刻从主内存把
2017-05-21 19:28:09 3810
原创 Java NIO 总结
一、Java NIO与标准IO的区别1、channels和buffer,标注IO基于字节流和字符流操作,NIO基于通道和缓存操作2、异步IO,NIO支持异步操作,标准IO只能同步操作3、Selector,NIO的选择器可以监听多个通道二、Java NIO由Channel和Buffers和Selectors几个核心部分组成Channel实现FileChannel、Datagr
2017-05-21 13:20:17 718
原创 Dubbo标签解析
Dubbo标签总共有十个,分别是、、 、 、、、、、、。其中application标签用ApplicationConfig解析,module标签用ModuleConfig解析、registry用RegistryConfig解析、monitor标签用MonitorConfig解析、provider标签用ProviderConfig解析、consumer标签用ConsumerConfig解析、prot
2017-05-21 09:10:51 3266
原创 ServiceLoader 使用
ServiceLoader服务提供者模式,实现动态插件加载,类责任链模式ServiceLoader的功能比ClassLoader简单,它可以帮我们获取所有实现了某接口或基类的类。当然前提是ClassLoader已经加载过的类。举个例子:定义一个接口:public interface IService { public String sayHello
2017-05-20 23:42:58 2217
原创 jdk1.7之HashSet
public class HashSet extends AbstractSet implements Set, Cloneable, java.io.Serializable {static final long serialVersionUID = -5024744406713321676L;private transient HashMap map;private
2017-05-17 16:32:58 850
原创 jdk1.7之LinkedHashMap
package org.springframework.beans;import java.util.ConcurrentModificationException;import java.util.HashMap;import java.util.Iterator;import java.util.Map;public class LinkedHash
2017-05-17 16:12:43 720
原创 jdk1.7之TreeMap
public class TreeMap extends AbstractMap implements NavigableMap, Cloneable, java.io.Serializable {private final Comparator comparator;private transient Entry root = null;private tra
2017-05-17 16:09:18 977
原创 jdk1.7之Hashtable
public class Hashtable extends Dictionary implements Map, Cloneable, java.io.Serializable {//存放hashtable数据private transient Entry[] table;//hashtable大小private transient int count;
2017-05-17 16:02:37 1086
原创 jdk1.7之HashMap
public class HashMap extends AbstractMap implements Map, Cloneable, Serializable{//默认的容量16 static final int DEFAULT_INITIAL_CAPACITY = 1 //最大容量1073741824 static f
2017-05-17 15:57:16 782
原创 jdk1.7之vector
vector是线程安全的public class Vector extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable {protected Object[] elementData;protected int elementCount;p
2017-05-17 15:47:46 779
原创 jdk1.7之LinkedList
/** * Serializable提供一种持久化实例的机制,transient确保变量不被串行化 */public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, java.io.Serializable{//链表大小 trans
2017-05-17 15:37:09 648
原创 jdk1.7之ArrayList
public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable{//序列化号 private static final long serialVersionUID = 8683452581122892189L;
2017-05-17 14:57:29 708
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人