04 2019 档案
摘要:垃圾回收的过程分为两步: 1.判断对象是否死亡 (1)引用计数器法: ①每当有一个对象引用是,计数器加一,当计数器为0是对象死亡 ②缺点:无法解决循环引用的问题,假设A引用B,B引用A,那么这两个对象将不会被回收,造成内存泄漏 (2)可达性算法分析 ①通过一系列可作为GC Roots的节点为起始点,
        阅读全文
                
摘要:1.Serial收集器(新生代) (1)单线程收集器 (2)采用复制算法,用于新生代垃圾回收 (3)垃圾回收期间需要STW(Stop The World),STW表示垃圾回收线程不与用户线程并发执行 2.Serial Old收集器(老年代) (1)与Serial相似 (2)采用标记整理算法,用于老年
        阅读全文
                
摘要:1.类的加载过程:加载-验证-准备-解析-初始化 2.加载阶段(加载阶段主要做三件事情): (1).通过类的全限名来获取此类的二进制流。 (2).将这个字节流所代表的的今天存储结构转化为方法区中可运行的数据结构。 (3).在内存中生成一个代表这个类的java.lang.Class对象,作为方法区中这
        阅读全文
                
摘要:1.饿汉模式 饿汉模式是线程安全的,因为 private static Singleton1 singleton1 = new Singleton1(); 语句是在类加载时完成的,具体是在类加载的初始化阶段时的<client>方法中进行的。 2.懒汉模式 这种懒汉模式是线程安全的,在这里只有获取到C
        阅读全文
                
摘要:1.事务:是指一组不可分割的逻辑单位,由ACID四大属性来描述 (1)原子性:是指一组sql要么全做完commit,要不就rowBack。 (2)一致性:是指事务要从一个一致性状态变为另一个一致性行状态,这里的一致性是指数据完整性和业务逻辑的一致性。 (3)持久性:是指一旦事务提交后对数据库的改变是
        阅读全文
                
摘要:1.监视器 (1)首先监视器是观察者模式的实现,在我之前的博客中有关于监视器模式的解释。监视器相当于观察者 (2)我们在springMvc中最常见的监视器 ContextLoaderlistener (3)我们来看看ContextLiaderListener(当某件事情发生后,调用这个方法来初始化s
        阅读全文
                
摘要:1.在springMvc中负责处理请求的类为DispatcherServlet,这个类与我们传统的Servlet是一样的。我们来看看它的继承图 2. 我们发现DispatcherServlet也继承了HttpServlet,所以DispatcherServlet在处理请求时也会从service()方
        阅读全文
                
摘要:1.观察者模式 观察者这模式定义了对象之间一对多依赖,这样一来,当一个对象的改变时,它的所有依赖者都会受到通知并自动更新。 2.举个例子:小明快要高考了,小明的妈妈和爸爸监控着家里的电脑,一旦有人使用就会收到通知。这时小明的爸爸妈妈就为观察者(Observer),而电脑是否被使用就是一个主题(Sub
        阅读全文
                
摘要:1.之前的博客中说过Mybatis中的二级缓存(CachingExecutor为装饰器模式的实现),现在就来说一下装饰器模式。 2.装饰器模式的作用: 动态的为一个对象添加新的功能,以往我们要增加功能要不修改源代码,要不就是生成自类,非常不灵活。就添加一个功能而言使用装饰器模式更加方便。 (1).比
        阅读全文
                
摘要:public class Solution2 { private static final Object lock = new Object(); //表示对象锁 private volatile int index = 1; //表示要输出的数字 private volatile boolean 
        阅读全文
                
摘要:1.hashMap中的成员分析 2.hashMap中的重要方法分析 (1).hash方法(用来根据key来获取hash值) (2).tableSizeFor(使用此方法来让我们的容量变为2的倍数) (3).put方法 (4).resize(用来对hashMap进行扩容) 3.hashMap中的一些细
        阅读全文
                
摘要:实现原理 mybatis中的缓存是在mybatis框架中的Executor中来实现的,我们来看一下Executor的继承图 通过以上类图我们可以发现Executor接口下有两大实现类BaseExecutor与CachingExecutor BaseExecutor(用来存储我们的一级缓存) @Ove
        阅读全文
                
摘要:1.SqlSessionFactoryBuilder与SqlSessionFactory 我们一般在使用mybatis是都会通过new SqlSessionFactoryBuilder.build(...)来获取SqlSessionFactory,那么这条语句发生了什么,我们来看一看源码 (1).通
        阅读全文
                
摘要:1.什么是spring IOC IOC(Inversion of Control)即控制反转,在我们以往的编程中如果需要一个bean往往需要去手动去new一个出来。而spring帮我们解决了这个问题,在spring中我们只需要去定义bean,spring就会自动的帮我们实例化并管理Bean。而这些B
        阅读全文
                

 浙公网安备 33010602011771号
浙公网安备 33010602011771号