加载中
CopyOnWriteArrayList数据被写乱的问题

CopyOnWriteArrayList问题 本篇记录了一个CopyOnWriteArrayList会出现的导致数据错误的问题, 这个问题原本只是在阅读某本书的时候的一种猜想,但是通过验证之后发现问题是存在的。 原本我是...

记一篇http,ws通过nginx加壳打造https和wss

记一篇http,ws通过nginx加壳打造https和wss 产生背景 我们通常开发的应用都是基于http的,但是在使用h5的notification功能的时候,要求必须是https才行,所以在这种类似的情况下不得不使用h...

2019/12/25 15:48
89
Btrace探索&OQL测试char占用大小

Btrace探索&OQL测试char占用大小 准备工作 以下都在jvisualvm上运行,windows上可能会装插件,如图所示,在工具-插件中,可以在线装,把可用插件中能装的都装上吧! Btrace 被测试的java代码...

2019/12/23 14:06
86
Kafka

Kafka 介绍 Kafka最早是由美国领英公司(LinkedIn)研发的,当时主要用于解决数据管道(data pipeline)的问题。当时在LinedIn内部有诸多子系统用于执行各种数据的收集与分析,主要包括业务系统...

2019/12/23 10:19
51
Redis Cluster

Redis Cluster 集群 redis集群有以下几种方式 普通一主多从 普通一主多从+哨兵 cluster分片模式 一主多从 搭建方式网上很多,就不多描述了。 这种集群方式,一般master用作写,slave用做读,...

Redis事件和服务器

Redis事件和服务器 事件 Redis是个单线程的,但是速度非常快,其主要原因是因为它是基于事件的,是一个事件驱动程序,了解NIO的应该都知道这种方式。 Redis服务器需要处理两类事件。 文件事件...

Redis数据库结构和持久化

Redis数据库,持久化 数据库 Redis服务器将所有的数据库都保存在服务器状态redis.h/redisServer结构的db数组中,每个项目都是一个redis.h/redisDb结构,每个redisDb结构代表一个数据库。 st...

2019/09/08 16:28
133
Redis数据结构

Redis数据结构 Redis作为内存数据库,被用于分布式缓存首选。作为一个coder,没有想必刚踏入职场第一天就了解了这玩意儿吧。这家伙是个单线程的,但是为什么很快?我们通常自定义缓存的时候,...

2019/09/07 23:56
76
自定义springboot starter

自定义 springboot starter 上一篇springboot-自动配置原理在最后提了一下,了解了autoConfiguration,离springboot-stater就只差一个demo,好了,最近比较闲,来搞一个demo看看,demo实现了...

2019/07/30 15:50
56
springboot-autoConfiguration原理

springboot-AutoConfiguration原理 springboot自动配置的原理,基于springboot 2.1.5.RELEASE版本 这里是示例工程. 闲话不说,先来看看主类。 @SpringBootApplication public class BootStar...

2019/07/29 17:53
87
springboot启动流程

Springboot 启动流程 基于springboot 2.1.5.RELEASE版本 这里是示例工程 spring和springboot springboot实际上是spring的升级版,从一定程度上简化了我们的配置。 先来看看spring吧: xml配置...

2019/07/26 10:44
264
AOP

AOP实现 @AspectJ和@Point注解,加上一个自动代理的标签就可以自动完成aop的代理。这里来研究一下这个过程是怎么实现的。 aop自定义标签 自动代理的aop标签是aop:aspectj-autoproxy,这个标签...

2019/07/22 15:59
25
spring扩展启动流程-refresh

spring扩展启动流程-refresh XmlWebApplicationContext 在spring-webmvc启动流程中,我们在对wac的刷新过程并没有详细的解释,只是一笔带过。 不管是从ContextLoaderListener进入的,还是Ser...

2019/07/09 11:47
108
bean的加载-初始化和使用

bean的加载-初始化和使用 自上一篇bean的加载-配置文件的解析之后,仅仅是将所有的bean定义拿到了,这个时候的bean是还未进行初始化的。对于bean的初始化,是从BeanFactory.getBean()为入口开...

2019/07/08 11:33
36
bean的加载-配置文件的解析

bean的加载-配置文件的解析 spring的启动流程部分内容比较多,因此在之前先做了以下这些源码分析,这些要简单些。 spring-webmvc启动流程 spring-webmvc请求处理流程 spring-webmvc请求处理流...

2019/07/04 17:34
86
spring-webmvc请求处理流程——返回值处理

spring-webmvc请求处理流程——返回值处理 继上一篇spring-webmvc请求处理流程之后,本篇继续讲解3.2.x版本之后使用的RequestMappingHandlerAdapter,该类替换了AnnotationMethodHandlerAdap...

2019/07/03 11:19
62
锁优化,无锁(CAS),ThreadLocal

#锁优化建议 代码层面上对锁进行优化 减小锁持有时间 在锁的竞争过程中,单个线程对锁的持有时间与系统性能有着很大关系。如果线程持有锁的时间很长,那么锁得竞争程度就会很大,这个很容易理...

2019/06/19 16:27
172
JDK线程池

线程池 类继承关系,方法太多就不列出来了。 Executors Executors扮演线程池工厂的角色,ThreadPoolExecutor就代表一个线程池。Executors提供了各种类型的线程池,主要有以下这些方法: publ...

JDK
2019/06/18 10:29
97
线程基础

线程状态 // Thread.State public enum State { // 新建状态; NEW, // NEW状态调用start()执行会进入该状态,表示线程所需要的资源都已经准备好; RUNNABLE, // 如果在执行过程中遇到了synch...

2019/06/10 18:46
36
Amhadl和Gustafson定律和一些概念

Amhadl和Gustafson定律和一些概念 参考资料《实战JAVA高并发程序设计》 必须知道的概念 同步(Synchronous)与异步(Asynchronous) 同步和异步通常用来形容一次方法的调用。 同步方法调用一旦开...

2019/06/10 17:20
94

没有更多内容

加载失败,请刷新页面

返回顶部
顶部