java嵌入式持久化消息队列SMQ,改造自FQueue

一、说明 之前项目中一直使用ConcurrentLinkedQueue做为缓冲队列(主要是单个项目内,单条改批量的场景,多个项目间使用的是rocketmq),虽然用着方便但是是纯内存的, 如果项目发生异常崩溃内存队列中的数据就会全部丢失(只能从日志中恢复)。所以一直想找一个简单高效支持持久化的嵌入式 ...

为什么这11道JVM面试题这么重要(附答案)

本文内容整理自 博学谷狂野架构师 运行时数据区都包含什么 虚拟机的基础面试题 程序计数器 Java 虚拟机栈 本地方法栈 Java 堆 方法区 程序计数器 程序计数器是线程私有的,并且是JVM中唯一不会溢出的区域,用来保存线程切换时的执行行数 程序计数器(Program Counter Regist ...

Cnblogs博客皮肤开发调试最佳方案

Cnblogs博客园支持自定义js来美化站点(需要申请JS权限),可以将主题托管到自己的云资源或CDN加速节点节点上。 例如我的网站为 www.example.com(IP或其它host),我将编译后的文件夹 dist 放到了网站的根目录。 这样我可以通过加载 https://www.example ...

第7章:异常处理

第7章:异常处理 1、异常概述与异常体系结构 1.1 异常引出: 在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是考代码能够避免的(如客户输入数据的格式、读取文件是否存在、网络是否始终保持通畅等)。 1.2 异常概念: 异常: ...

手把手教你将Eureka升级Nacos注册中心

由于原有SpringCloud体系版本比较老,最初的注册中心使用的Eureka后期官方无升级方案,配置中心无法在线管理配置,还有实时上下线的问题,因此需要将原有系统的Eureka服务升级Nacos注册心服务。 原有版本SpringBoot1.5.15、SpringCloud E、注册中心Eureka ...

记一次线上FGC问题排查

本文记录一次线上 GC 问题的排查过程与思路,希望对各位读者有所帮助。过程中也走了一些弯路,现在有时间沉淀下来思考并总结出来分享给大家,希望对大家今后排查线上 GC 问题有帮助。 ...

FPGA用ROM输出正弦波

1、创建工程后点击IP Catalog 2、在搜索栏搜索ROM,并选择Block Memory Generator 3、在弹出来的界面中选择单口ROM 4、然后修改位宽和深度(这里根据我的需求设置为8位宽,4096深度);并把使能端口取消;勾上Core Output Register,使数据延迟一个 ...

聊聊GC是如何快速枚举根节点的

本文已收录至Github,推荐阅读 👉 Java随想录 微信公众号:Java随想录 CSDN: 码农BookSea 世界上最快乐的事,莫过于为理想而奋斗。——苏格拉底 HotSpot使用的是可达性分析算法,该算法需要进行根节点枚举,查找根节点枚举的过程要做到高效并非一件容易的事情,现在Java应用 ...

面试官:JVM是如何判定对象已死的?

本文已收录至Github,推荐阅读 👉 Java随想录 微信公众号:Java随想录 CSDN: 码农BookSea 知道的越多,才知知道的越少。——苏格拉底 在堆里面存放着Java世界中几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去 ...

RocketMQ消息短暂而又精彩的一生

大家好,我是三友~~ 这篇文章我准备来聊一聊RocketMQ消息的一生。 不知你是否跟我一样,在使用RocketMQ的时候也有很多的疑惑: 消息是如何发送的,队列是如何选择的?消息是如何存储的,是如何保证读写的高性能?RocketMQ是如何实现消息的快速查找的?RocketMQ是如何实现高可用的?消 ...

C++指针【cherno课程学习】

定义: 指针是一个整数,一种存储内存地址的数字 内存就像一条线性的线,在这条街上的每一个房子都有一个号码和地址 类似比喻成电脑,这条街上每一个房子的地址 是一个字节 我们需要能够准确找到这些地址的方法,用来读写操作 因此,指针就是这些地址。不要考虑类型,无论是什么类型的指针,都是用来保存地址的整数。 ...

GC耗时高,原因竟是服务流量小?

原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 最近,我们系统配置了GC耗时的监控,但配置上之后,系统会偶尔出现GC耗时大于1s的报警,排查花了一些力气,故在这里分享下。 发现问题 我们系统分多个环境部署,出现GC长耗时的是俄罗斯环境,其它环境没有这个问题,这里 ...