摘要:
Spring提供了两个接口来实现IOC容器。 BeanFactory:IOC容器的基本实现方式,不提供给开发人员使用。当使用此接口加载配置文件时,不会立马创建对象,当使用对象时才会对对象进行创建。 ApplicationContext:BeanFactory的子接口,一般提供开发人员使用。当加载配置 阅读全文
摘要:
Java中常见的数据类型可以分为基本数据类型和引用数据类型,这里主要讲解基本数据类型。 类型所占字节(byte,1byte=8bit)表示范围 byte 1 -128(-2^7)~ 127(2^7-1) short 2 -32768(-2^15) ~ 32767(2^15 - 1) int 4 -2 阅读全文
摘要:
饿汉式,静态成员变量方式 class Singleton{ private Singleton(){} private static Singleton instance = new Singleton(); public Singleton getInstance(){ return instan 阅读全文
摘要:
1、开闭原则:对扩展开放,对修改关闭; 2、里氏代换原则:任何基类可以出现的地方,子类一定可以出现; 3、依赖倒转原则:高层模块不应该依赖低层模块,两者都应该依赖其抽象; 4、接口隔离原则:一个类对另一个类的依赖应该建立在最小的接口上; 5、迪米特法则:不越级进行会话,只能向直接关联的对象对话; 6 阅读全文
摘要:
创建型模式: 关注于怎样创建对象,其主要特点在于将对象的创建和使用分开,彼此不耦合。 分类:单例模式、工厂模式、原型模式、抽象工厂模式、建造者模式。 结构型模式: 关注于如何将对象按某种布局组成更大的结构,其主要特点在于可以灵活的增加代码,不改变原始代码。 分类:代理模式、适配器模式、桥接模式、装饰 阅读全文
摘要:
消息Message 消息系统所传输信息的物理载体,生产和消费数据的最小单位,每条消息必须属于一个主题。 主题Topic Topic表示一类消息的集合,每个主题包含若干条消息,每条消息只能属于一个主题,是RocketMQ进行消息订阅的基本单位。 一个生成者可以同时发送多种Topic的消息;而一个消费者 阅读全文
摘要:
1、B+树索引: B+树是为磁盘或其他直接存取辅助设备设计的一种平衡查找树。在 B+ 树中,所有记录节点都是按键值的大小顺序存放在同一层的叶子节点上,由各叶子节点指针进行连接。在数据库中,B+ 树的高度一般都在 2~4 层,这也就是说查找某一键值的行记录时最多只需要 2 到 4 次IO 。这很不错, 阅读全文
摘要:
为什么要使用线程池? 反复创建线程开销大、过多的线程会占用太多内存 线程池的好处:加快响应速度、合理利用CPU和内存、统一管理 线程池中构造方法的参数 corePoolSize指的是核心线程数 线程池在完成初始化后,默认情况下,线程池中并没有任何线程,线程池会等待有任务到来时,再创建新线程去执行任务 阅读全文
摘要:
1.线程通信涉及到的三个方法: wait():一旦执行此方法,当前线程就进入阻塞状态,并释放同步监视器。 notify():一旦执行此方法,就会唤醒被wait的一个线程。如果有多个线程被wait,就唤醒优先级高的那个。 notifyAll():一旦执行此方法,就会唤醒所有被wait的线程。 2.说明 阅读全文
摘要:
方式一:同步代码块 synchronized(同步监视器){ //需要被同步的代码 } 说明:1.操作共享数据的代码,即为需要被同步的代码。 -->不能包含代码多了,也不能包含代码少了。 2.共享数据:多个线程共同操作的变量。比如:ticket就是共享数据。 3.同步监视器,俗称:锁。任何一个类的对 阅读全文