会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
先让我睡饱
Don’t hurry say have no choice, perhaps, next intersection will meet hope.
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
9
下一页
2020年2月4日
消息队列选择
摘要: 选择消息队列的考量维度:可靠性,性能,高可用,功能,是否开源以及社区活跃程度 rabbitmq: 优点:轻量,易部署和使用,基于exchange模块可灵活配置路由规则 缺点:性能和吞吐量较差,每秒处理几万数据量;开发语言小众,不利于二次开发 rocketmq: 优点:可靠性,稳定性,性能很好每秒处理
阅读全文
posted @ 2020-02-04 11:46 以梦为码
阅读(148)
评论(0)
推荐(0)
2020年2月3日
消息队列使用场景
摘要: 消息队列使用场景 1、异步处理: 减少等待时间,更快的返回处理结果,提高系统性能以及更好的用户体验。 fe: 在一个秒杀系统中,可能需要如下几步:风险控制,锁定库存,生成订单,消息通知以及统计数据,在未优化的情况下,用户请求到达网关后进入服务端要至少 经历这五个步骤,但是对于秒杀系统而言关键的步骤在
阅读全文
posted @ 2020-02-03 12:08 以梦为码
阅读(477)
评论(0)
推荐(0)
2020年1月26日
synchronized底层实现
摘要: 1、锁升级的过程 当多个线程同时竞争一个对象监视器时:当前对象结构中的mark word中是否是当前线程id,如果是则当前线程获得偏向锁。 如果不是,则通过CAS将当前线程id置换到mark word中,如果成功则获得偏向锁,如果不成功则说明有竞争,升级为轻量级锁。 后续再通过CAS将线程的指针放到
阅读全文
posted @ 2020-01-26 17:19 以梦为码
阅读(728)
评论(0)
推荐(0)
2020年1月21日
Java 内存模型
摘要: 1、为什么要引入java内存模型 java是支持多线程的,但是其可见性,原子性,有序性是导致多线程bug的原因,所以引入java内存模型来解决这些问题。 2、什么是java内存模型 java内存模型概括来说是解决可见性和有序性的。 1)可见性 - 缓存导致 当创建线程时JVM会为其创建自己的内存存储
阅读全文
posted @ 2020-01-21 22:30 以梦为码
阅读(318)
评论(1)
推荐(0)
2018年10月30日
CAP定理
摘要: 1、CAP定理 分布式系统(各系统互相联系且数据共享)中,只能最多满足一致性(Consistency),可用性(Availability)和分区容错性(Partition tolerance)中的两种。 一致性:是指客户端的读操作可以拿到最新的写操作的数据 可用性:是指请求在合理的时间内可以返回合理
阅读全文
posted @ 2018-10-30 19:02 以梦为码
阅读(218)
评论(0)
推荐(0)
2018年10月13日
高性能数据库集群:读写分离
摘要: 高性能数据库集群方案:读写分离。 其目的在于将访问压力分散到集群中的多个节点,减轻高并发现的访问压力,但是没有分散存储压力。 读写分离的基本架构图如下: 一主对从或者一主一从,主节点负责读写操作,从节点负责读操作。 主从分离的实现: 1、数据库搭建主从集群,一主多从或者一主一从 2、主机负责读写操作
阅读全文
posted @ 2018-10-13 15:26 以梦为码
阅读(3276)
评论(0)
推荐(1)
2018年7月1日
ZooKeeper+Dubbo+SpringBoot 微服务Demo搭建
摘要: 1、 首先创建springBoot项目,springBoot是一堆组件的集合,在pom文件中对需要的组件进行配置。生成如下目录结构 创建test项目,同步在test创建dubbo-api,dubbo-consume,dubbo-provider三个Model dubbo-provider 为服务的提
阅读全文
posted @ 2018-07-01 13:13 以梦为码
阅读(1403)
评论(0)
推荐(2)
2018年4月25日
Spring利用反射调用接口
摘要: 首先在项目中使用java反射调用 上述方法可以调用到 A方法,但是在A方法中使用到类中@Resource注入的接口为null 无法调用。 原因是使用java反射是需要New 一个实例,导致类中的注入为null 所以不应该New实例而是从spring容器中去拿。如下 同时需要注意 1、传入的类名应为接
阅读全文
posted @ 2018-04-25 10:14 以梦为码
阅读(1964)
评论(0)
推荐(0)
2017年12月28日
类加载的时机
摘要: 类从被加载到虚拟机内存中开始,直到卸载出内存为止,它的整个生命周期包括了:加载、验证、准备、解析、初始化、使用和卸载这7个阶段。其中,验证、准备和解析这三个部分统称为连接(linking) 1、类何时进行初始化 a,创建实例 b,调用非final的静态方法和静态变量 c,初始化类时,会先初始化父类
阅读全文
posted @ 2017-12-28 15:40 以梦为码
阅读(223)
评论(0)
推荐(1)
2017年12月26日
javac编译原理
摘要: javac编译器的作用就是将符合java语言规范的源代码转化成符合java虚拟机规范的java字节码 经历:词法分析器->语法分析器->语义分析器->编译字节码 四个过程生成字节码文件 1、词法分析:javacPaser根据java语言规范判断出哪些是动词,名词,标点符号之类,生成规范的token流
阅读全文
posted @ 2017-12-26 14:28 以梦为码
阅读(140)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
9
下一页
公告