- 博客(12)
- 问答 (1)
- 收藏
- 关注
原创 Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点
为什么使用消息队列?先说一下消息队列常见的使用场景吧,其实场景有很多,但是比较核心的有 3 个:解耦、异步、削峰。解耦看这么个场景。A 系统发送数据到 BCD 三个系统,通过接口调用发送。如果 E 系统也要这个数据呢?那如果 C 系统现在不需要了呢?A 系统负责人几乎崩溃…在这个场景中,A 系统跟其它各种乱七八糟的系统严重耦合,A 系统产生一条比较关键的数据,很多系统都需要 A 系统将这个数据发送过来。A 系统要时时刻刻考虑 BCDE 四个系统如果挂了该咋办?要不要重发,要不要把消息存起来?头发
2022-03-03 11:00:16
149
转载 Rocketmq原理&最佳实践
一、 MQ背景&选型消息队列作为高并发系统的核心组件之一,能够帮助业务系统解构提升开发效率和系统稳定性。主要具有以下优势:削峰填谷(主要解决瞬时写压力大于应用服务能力导致消息丢失、系统奔溃等问题)系统解耦(解决不同重要程度、不同能力级别系统之间依赖导致一死全死)提升性能(当存在一对多调用时,可以发一条消息给消息系统,让消息系统通知相关系统)蓄流压测(线上有些链路不好压测,可以通过堆积一定量消息再放开来压测)目前主流的MQ主要是Rocketmq、kafka、Rabbitmq,Rocketm
2021-02-02 10:18:15
185
原创 java对象生命周期和类的生命周期
java对象的生命周期对象生命周期大致可以分为7个阶段:创建(Creation)、应用(Using)、不可视(Invisible)、不可到达(Unreachable)、可收集(Collected)、终结(Finalized)与释放(Free)创建阶段一个Java类(除Object类外)至少有一个父类(Object),这个规则既是强制的,也是隐式的。你可能已经注意到在创建一个Java类的时候,并没有显式地声明扩展(extends)一个Object父类。public class A { …
2020-11-26 11:28:11
353
转载 JVM中GC 的工作原理(面试必备)
文章目录前言一、GC的基本原理二、增量式GC(Incremental GC)三、详解finalize函数:四、Java程序如何与GC进行交互:五、一些Java编程的建议:前言一个优秀的Java程序员必须了解GC的工作原理、如何优化GC的性能、如何与GC进行有限的交互,有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提升内存的管理效率,才能提高整个应用程序的性能。本文将从GC的工作原理、GC的几个关键问题进行探讨,最后提出一些Java程序设计建议,如何从GC角度提高Java程序的性能。
2020-11-24 11:53:19
457
原创 JVM的原理与常识知识点(面试必备)
给大家分享的是关于java的JVM原理和java常识,有兴趣的朋友们可以学习下文章目录前言一、JVM是什么?二、深入了解工作原理1.编码流程2.JVM的体系结构3.JVM运行时数据库示意图4.JRE/JDK/JVM之间的关系总结前言大部分公司无论面试初级还是高级,无论是笔试还是面试,都会问到一系列基础题,这些基础题大概涵括jvm、字符串、集合、线程等等,如果说每一个让你死记硬背你肯定记不住,那么就是理解中记忆了,拿jvm来说 ,如果让你谈谈你对jvm的理解, 那么你首先得知道JVM有哪些结构组成,
2020-11-24 11:20:18
339
原创 超强的Lambda Stream流操作
超强的Lambda Stream流操作Stream 流介绍Stream 不同于其他集合框架,它也不是某种数据结构,也不会保存数据,但是它负责相关计算,使用起来更像一个高级的迭代器。在之前的迭代器中,我们只能先遍历然后在执行业务操作,而现在只需要指定执行什么操作, Stream 就会隐式的遍历然后做出想要的操作。另外 Stream 和迭代器一样的只能单向处理,如同奔腾长江之水一去而不复返。...
2020-03-10 11:20:14
832
原创 JAVA优化建议
(1)尽量指定类、方法的 final 修饰符。带有 final 修饰符的类是不可派生的。在 Java 核心 API 中,有许多应用 final 的例子,例如 java.lang.String,整个类都是 final 的。为类指定 final 修饰符可以让类不可以被继承,为方法指定 final 修饰符可以让方法不可以被重写。如果指定了一个类为 final,则该类所有的方法都是 final 的。Ja...
2019-11-11 15:47:28
133
原创 java实现支付宝二维码支付(Spring Boot)
本文章主要介绍H5使用的支付宝二维码是如果通过java生成的,方便大家更好的对接。 首先集成alipay的sdk,然后要到支付宝商户平台创建应用,生成私钥 公钥, 话不多说直接上代码块@ApiOperation(value = "支付宝生成二维码", httpMethod = "POST", response = ResultJsonBean.class, notes = "")@Re...
2019-10-29 15:32:52
4142
2
转载 确定自己会写java了?
该文章主要是摘要一些大牛对java的理解技术点本文不是一个吹嘘的文章,不会讲很多高深的架构,相反,会讲解很多基础的问题和写法问题,如果读者自认为基础问题和写法问题都是不是问题,那请忽略这篇文章,节省出时间去做一些有意义的事情。开发工具不知道有多少”老”程序员还在使用 Eclipse,这些程序员们要不就是因循守旧,要不就是根本就不知道其他好的开发工具的存在,Eclipse 吃内存卡顿的现象以...
2019-10-25 15:02:34
255
1
转载 java代码规范
一、重构原则:1、三次法则(事不过三,三则重构)2、何时重构:(1)添加功能时重构(2)修补错误时重构(3)复审代码时重构3、重构优点:(1)允许逻辑共享(2)分开解释意图和实现(3)隔离变化(4)封装条件逻辑4、重构难点:(1)数据库(2)修改接口解决办法:不要过早发布接口,请修改你的代码所有权策略,使重构更顺畅。(3)难以通过重构手法完成的设计改动5、重构与设计...
2019-10-25 11:55:00
149
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人