- 博客(53)
- 资源 (10)
- 收藏
- 关注
原创 08-JUC阻塞队列系列
阻塞队列, ArrayBlockingQueue 、LinkedBlockingQueue、PriorityBlockingQueue
2025-11-29 13:59:53
606
原创 高并发模式下Redis实战:服务选择、服务搭建、服务测试、原理分析、服务初始化整合、常见问题分析
业务场景分析 redis四种搭建方式分析 哨兵模式服务搭建与测试 哨兵模式原理分析 spring boot整合哨兵模式初始化 redis常见问题分析 业务场景分析 高性能: 支持多条操作指令并发操作、批量信息查询,并高效返回查询结果 高并发:支持一定数量并发操作,1s并发1000个以上,redis并发数不高。暂时不需要考虑动态扩展问题 高可用:一台redis服务机器挂掉后,其他服务能够快速接管,并支持读...
2020-09-28 22:04:42
473
原创 分布式锁2-Redis实现分布式锁
分布式锁核心需求 redis分布式锁常见场景 redis分布式锁方案设计与实现 分布式锁核心需求 互斥性 同一时刻只能有一个客户端加锁,不可出现多个客户端同时持有锁的情况 防止死锁 防止一台机器出现 宕机,没有释放锁,导致其他机器无法加锁的情况。此处可通过锁超时机制来实现,给锁设置超时时间,超过某个时长则自动释放锁。 高性能 分布式锁应该具备高并发的能力,对于访问量大的资源,需要考虑减少锁等待的时间,减少线程阻塞的情况。故在锁设计考虑:...
2020-08-23 14:51:05
424
原创 nginx从入门到精通:第一阶段快速入门
nginx背景 nginx特点 nginx在架构中的作用 nginx程序架构 nginx配置详解 nginx安装部署 nginx基本操作指令 nginx负载均衡策略 nginx配置静态资源服务器 nginx场景面试题 nginx项目架构实战-公司应用的webnet服务设计 nginx背景 高性能的http和反向代理服务器,也是 IMAP/POP3/SMTP服务器 (注释1) ...
2020-08-22 15:08:14
637
原创 Dubbo从入门到精通-一文贯通
dubbo入门 服务搭建 服务注册与访问 dubbo服务高可用 dubbo服务后台管理界面 Dubbo实现服务降级 Dubbo实现版本控制灰度发布:version,group Dubbo实现隐式传参 Dubbo启用高速序列化 Dubbo服务化配置最佳使用实践 Dubbo下的分布式锁实现 zookeeper实现分布式锁 dubbo常见面试题 dubbo入门背景:随着互...
2020-08-09 14:44:44
1143
原创 一篇文章讲透spring ioc (概念、原理、实例、应用场景、面试题)
ioc概念 优势 原理 常见api 实例 应用场景 常见面试题 ioc概念、优势、原理、常见使用、实例、应用场景 ioc概念与定义:ioc翻译成中文为控制反转。意思可以理解为类与类之间的依赖通过容器来控制、配置实现;换一种方式可以这么理解 原来类与类之间在编译时即产生了依赖,即new 对象时,已建立好两者之间的依赖关系;ioc机制将两者之间的依赖关系通过容器进行...
2020-07-12 20:30:56
11382
1
原创 反射以及动态代理深入研究以及对现有销售平台项目的改进思考
反射概念、作用 反射应用场景 反射缺点 反射机制 反射常见类介绍 反射使用实例 动态代理概念以及应用 动态代理实例 在公司实际项目中的应用与思考 反射概念、作用概念:java程序编译后,在jvm虚拟机进行记载,在程序运行时刻,可通过虚拟机找到对应的类,以及其下的所有属性、以及方法,并能够动态执行其方法。这种动态获取信息以及动态调用方法的功能就叫做反射作用:通过反射机制,可以在运行时访问 ...
2020-07-05 10:42:44
209
原创 springBoot操作数据库-springData操作数据库篇
springData说明 springData是啥 Spring Data是一个用于简化数据库的访问,并支持云服务的开源框架。在springBoot中通过配置maven依赖即可实现对数据库的访问与操作管理 常用有哪些 spring data jdbc:数据库操作spring data redis:redis缓存操作spring data mongodb:mongodb缓存数据库操作spring data jpa : 与mybatis类似,基于orm的开源框架...
2020-06-07 13:21:23
351
原创 JUC高并发-CAS
定义与原理COMPARE AND SWAP ,比较并替换;比较如果为预期值,则按设定值进行替换实例演示实例1、SWAP实例演示private static void test01() {//初始化默认值为0AtomicInteger inte=new AtomicInteger();//变1inte.getAndIncrement();//...
2020-05-07 20:43:58
183
原创 JUC高并发-JMM与volatile关键字
定义JMM,全名为Java Memory Model,即Java内存模型。它是一组规范,需要各个JVM的实现来遵守JMM规范,它屏蔽了各种硬件和操作系统的内存访问差异,以实现Java程序在各个平台下都能达到一致的内存访问效果。不像C/C++那样直接访问物理硬件和操作系统的内存模型,它的主要目的是解决由于多线程通过共享内存进行通信时,存在的本地内存数据不一致、编译器会对代码重排序、处理器会对代码...
2020-05-03 14:26:28
250
原创 JUC高并发-常用辅助类
常用辅助类CountDownLatch:减法计数器,常用于多线程中统计多线程执行完的个数。多线程在执行时,阻塞;执行完后,执行主流程。 countDown 减法,-1 await ,阻塞 CyclicBarrier:加法计数器,用法与减法计数器类似。 直译为可循环使用(Cyclic)的屏障(Barrier)。它可以让一组线程到达一个屏障(同步点)时被阻塞,直到最后一个线...
2020-05-03 14:24:55
294
原创 juc高并发-forkJoin
forkJoin模型与原理定义与使用场景:在存在大数据量计算的情况之下,单线程效率较大,用到forkjoin模型,以提高计算效率模型与处理逻辑:1.先将一个大任务分解为多个小任务2.各个小任务处理完成后,再将各自结果汇总3.结果汇总前会等待其它任务完成。原理分析:工作窃取 底层维护的是一个双端队列;优点:工作效率高缺点:容易造成资源竞争如下图:B队列的...
2020-05-01 18:28:32
334
原创 java序列化分析与场景问题分析
序列化定义序列化就是将数据对象转换为二进制流,从而能够进行数据持久化和网络传输的过程;如果数据对象不进行序列化处理,则无法进行数据传输或者存储。反序列化则是序列化的逆向处理过程。一个数据经由网络传输,从不同的机器之间传达数据,需要经过一个序列化与反向序列化的流程,如下所示: 序列化 数据加密处理 网络传输 数据解密处理 反序列化 ...
2020-05-01 12:16:21
500
原创 JUC并发编程-函数式接口与Stream流计算
函数式接口定义函数式接口是jdk1.8之后出来的,在java.util.function下包。所谓函数式接口的定义是:接口内只定义一个抽象方法,则该接口称为函数式接口。函数式接口思想: “函数式编程”是一种编程的范式和编程的方法论(programming paradigm),它属于结构化编程的一种,主要的思想是把运算的过程尽量通过一组嵌套的函数来实现。优点:用更少的代码实现更多的...
2020-04-28 22:30:43
190
原创 Juc并发编程--阻塞队列分析
1.阻塞队列原理:队列规则:FIFO 先进先出栈: Stack, FILO 先进后出2.阻塞队列的几大实现类:3.阻塞场景分析:存------------取1.当队列满的时候,添加元素就会被阻塞2.当队列是空的,如果还要取就会被阻塞4.阻塞队列、set、List集合的接口关系:5.阻塞队列的四组api: ...
2020-04-19 13:54:05
302
原创 Juc并发编程-关于读写锁分析与问题思考
读写锁概念定义:读锁:共享锁,指多个线程可以同时占有锁,进行数据读取操作。写锁:独占锁,指同时只能单个线程占有锁,进行写操作。读写锁优点:提高线程读写效率读锁与写锁关系:可以多个线程同时读锁只能单个线程写锁读锁和写锁只能单个线程进行实例:/*** 文件名: com.example.demo.JucDemo - Demo6*...
2020-04-16 00:06:00
186
原创 Juc并发编程-同步与锁
Juc并发编程1、什么是JUCJUC:就是我们Java原生的并发包,和一些常用的工具类!学完之后,很多知识,但是不知道怎么去用!每学习一个知识点,学完之后,可以替换工作中用到的代码!2、线程基础知识回顾什么是进程和线程?进程:QQ.exe线程:打字、自动保存…..一个进程可以包含多个线程,一个进程至少有一个线程! Java程序至少有两个线程:...
2020-04-13 23:30:12
259
原创 数据库高可用HA实现
1.什么是数据库高可用1.1什么是高可用集群N+1原则:N就是集群,1就是高可用,高可用的核心就是冗余;集群式保证服务最低使用标准的1.2高可用集群的衡量标准一般是通过系统的可靠性和可维护性来衡量的MTTF:平均无故障时间,这是衡量可靠性的MTTR:衡量系统的可维护性能HA=MTTF/(MTTF+MTTR)*100%SLA: 99.999%-表示一年故障时间不超过...
2019-12-22 15:07:42
3058
原创 数据库架构设计规范
数据库架构设计做架构到底是在做什么?抽象能力抽象->具象数据库架构设计分为以下三种: 逻辑设计: 1.具体内容设计数据库的一个逻辑结构。与具体的dbms无关,主要反映业务逻辑 2.设计步骤:用关系模型 3.使用工具来模型化: E-R图。 矩形:实体对象,1:m,n:m ...
2019-12-21 16:50:26
1034
原创 一篇文章讲透mysql数据库下的分区表
正确理解数据库分区表 分区表的特征及分区类型 分区表的应用场景 什么是分区表分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。 查询时可以通过查询表来访问各个分区中的数据,也可以通过在查询时直接指定分区的方法来进行查询。首先来看下正常的表的存放方式输入cd /var/lib/mysql/test_database/,再ls,查看数据库下的...
2019-12-19 22:19:22
263
原创 设计模式专题-享元模式
定义与优缺点 使用场景 结构组成和uml图 具体实例实现 常见面试题 定义:享元模式是为数不多的,只为提升系统性能而生的设计模式。主要作用就是复用大对象(重量级对象),以节省内存空间和对象创建时间 。享元模式的主要优点是:相同对象只要保存一份,这降低了系统中对象的数量,从而降低了系统中细粒度对象给内存带来的压力。其主要缺点是...
2019-07-14 12:11:21
153
原创 基于队列的分析研究
本文主要介绍基于队列的分析研究,内容分为以下几大块: 队列的性质以及特点 队列的分类、使用方法、代码实战 高并发队列分析与压测报告 队列与设计模式的关联 交易系统的应用场景分析 bat面试中队列常见题 队列的性质以及特点Queue: 基本上,一个队列就是一个先入先出(FIFO)...
2019-06-02 11:05:02
1324
原创 基于HashMap的散列表性质、原理、优点、性能以及应用研究
在java软件开发过程当中,散列表作为一个存储数据结构的集合,应用当中特别常见,但很多时候只知道它的使用而忽视了其目的、原理,并没有真正挖掘出其真正价值。所以本篇文章从几个角度去深入挖掘散列表的实际价值所在,如有疏漏,敬请指正。 散列表的目的与特性 散列表的原理-HashMap 高性能的map分类与特性分析 map性能比较:hashMap、concurrentH...
2019-05-21 23:02:15
902
原创 websphere启动问题解决
websphere下的服务启动时显示未在集群下启动,多个服务启动都是一样,查看了/opt/IBM/WebSphere/AppServer/profiles/AppSvr01/logs路径下的systemError日志,看到的结果是java.lang.OutOfMemoryError: Java heap space 内存溢出,觉得可能由两个因素导致: 1....
2016-11-15 11:58:30
1517
原创 eclipse中使用junit做单元测试
一直以来都用srping框架加载xml的方式来做单元测试,今天用了junit之后才发现自己有些落后了,这么好的框架都不用,有车不坐非要走路,也挺累的。下来来讲讲其简单使用吧 junit的部署使用可分为三步: 1.部署junit环境 2.生成junit测试类 3.调用junit测试一.部署junit环境 ...
2016-09-21 19:37:49
268
4-redis入门.pdf
2020-07-07
2-redis合适的场景.pdf
2020-07-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅