摘要:
确定垃圾 引用计数(存在循环引用问题) 根可达算法 常见的垃圾回收算法 标记清除算法-位置不连续,产生碎片 拷贝算法- 没有碎片,浪费空间 标记压缩-没有碎片,效率偏低(多线程需要进行线程同步,单线程效率本来就低) JVM内存分代模型(用于分代垃圾回收算法) a. 部分垃圾回收器使用的模型 b. 新 阅读全文
摘要:
索引是帮助mysql高效获取数据的排好序的数据结构 B+Tree(B-Tree) 非叶子节点不存储data,只存储索引(冗余),可以放更多的索引 叶子节点包含所有索引字段 叶子节点用指针连接(双向)-便于范围查找,提高取件访问的性能 MYISAM索引文件和数据文件是分离的(非聚集),一个表包含MYD 阅读全文
摘要:
线程 调度CPU的最小单元,也叫轻量级进程LWP(Light Weight Process) 两种线程模型 用户级线程ULT:用户程序实现,不依赖操作系统核心,引用提供创建、同步、调度和管理线程的函数来控制用户线程 优点:不需要用户态/核心态切换,速度快 缺点:内核对ULT无感知,线程阻塞则进程(包 阅读全文
摘要:
相关资料 背景:微信模板消息已正式下架,改为订阅消息,详情如下: 服务变更通知 订阅消息:订阅消息相关内容如下: 订阅消息 接口设计 获取接口访问凭证 :根据appId和secret获取接口访问凭证access_token 获取access_token 获取公共模板标题 :根据access_toke 阅读全文
摘要:
aop是指面向切面编程,ProxyFactoryBean是spring aop的底层实现与源头,为什么这么说呢?首先我们看一段配置: 1、target是目标对象,需要对其进行切面增强 2、proxyInterfaces是指代理对象所实现的接口 3、interceptorNames:是指通知器(Adv 阅读全文
摘要:
本系列博客结合我的理解,对spring的ioc进行简单分析,欢迎大家批评指正。 beanfactory 我们从beanfactory开始,beanfactory是最根部的容器,描述了整个ioc的一些规范和原则,也就是这个接口定义了ioc容器的最基本的条件,下面列出了整个接口中的方法 对于这些方法都可 阅读全文
摘要:
AQS全称为AbstractQueuedSynchronizer,是并发容器中的同步器,AQS是J.U.C的核心,它是抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类都依赖它,如ReentrantLock、Semaphore、CyclicBarrier、Reentra 阅读全文
摘要:
什么是线程不安全的类呢? 如果一个类的对象同时被多个线程访问,如果不做特殊的同步或并发处理,很容易表现出线程不安全的现象,比如抛出异常、逻辑处理错误等,这种类我们就称为线程不安全的类 常见线程不安全的类有哪些呢 下图中,我们只画出了最常见的几种情况,我们常见的Collections集合都是线程不安全 阅读全文
摘要:
通常我们保证线程安全策略的方式有以下几种: a、不可变对象 b、线程封闭 c、同步容器 d、并发容器 不可变对象 可参考string类,可以采用的方式是将类声明为final,将所有成员都声明为私有的,对变量不提供set方法,将所有可变成员声明为final,通过构造器初始化所有成员,进行深度拷贝,在g 阅读全文
摘要:
什么是发布对象? 发布对象是指使一个对象能够被当前范围之外的代码所使用 什么是对象逸出? 对象逸出是一种错误的发布,指当一个对象还没有构造完成时,就使它被其他线程所见 逸出-demo 在此实例中Escape对象还没有构造完成,就访问了该对象的成员变量thisCanBeEscape,该类是线程不安全的 阅读全文