自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 问答 (7)
  • 收藏
  • 关注

原创 ActiveMQ笔记整理

一,应用场景:1,异步:不要求实时结果或者交易耗时长只能选择异步返回结果;2,解耦:生产者不需要强依赖消费者。比如E动访问核心系统出单,需要阻塞等待核心系统返回投保结果才能进行后续操作,核心系统异常会导致E动报错。核心要推送投保单状态给E动,如果采用同步接口,则E动服务异常会导致投保单状态无法正常发送过去,并且核心会接收到异常。所以想一些实时性不高的如投保单状态同步、费用状态同步选择通过MQ来实现解耦。3,削峰:如果同时有高并发请求同时访问某个系统,可能导致该系统服务崩溃,使用MQ作为一个缓冲,能起到

2020-12-08 12:38:10 627

原创 HashMap的理解(JDK1.7)

基于哈希函数的键值映射集合;底层数据结构是数组+链表;数组体现在内部的Entry类型的数组table;链表体现在内部类Entry中的Entry类型属性next,用于存放下一个节点的引用;向HashMap中存放元素:hashMap.put(“name”,“paul”);既然底层是数组,按我们一般数组存放元素的方法:int[] nums = new int[10];nums[0] = 0;是需要指定数组下标的,那put时究竟元素放在数组的什么位置了呢?这就引出了哈希函数;哈希函数简单理解为给定

2020-06-01 23:27:52 263

原创 HashMap的容量为什么必须是2的幂?

为什么HashMap的容量必须是2的幂?为什么HashMap底层数据结构使用了数组,还要使用链表?HashMap使用过程中有什么使用技巧?。。。HashMap作为开发常用并且面试必考的一个容器类,值得我们花时间去研究它底层的实现机制,并从中了解一些JDK源码的大师们对于问题的解决思路和解决方法。必备基础:哈希函数、位运算、数组数据结构、链表数据结构等...

2020-04-26 22:13:11 831

原创 数据类型到底是什么(基于Java)?

平时在用Java编码过程中,总是会用到数据类型,那么到底怎么理解数据类型呢?以下为个人愚见:我们的数据都是要保存在内存中的,比如0x99,0x100这样的,但是人类更善于记住有意义的东西而不是数字,这样我们就给这块内存区域起个有意义的名字->变量名来帮助我们操作这块内存地址。但是我们编程中使用的数据占据的内存区域可能有大有小,如果有一个占据了四个字节的数据保存于0x99-0x102这四个...

2020-04-24 21:34:16 474

原创 记录一次ActiveMQ连接数过多问题(含解决方案)

AcitveMQ连接数过多异常问题及解决方案

2023-01-29 11:00:06 2997

原创 验证阿里巴巴禁用Executors的原因

阿里巴巴开发手册中编程规约-并发处理中提到:4. 【强制】线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。 说明:Executors返回的线程池对象的弊端如下: 1) FixedThreadPool和SingleThreadPool: 允许的请求队列长度为Integer.MAX_V...

2020-04-18 09:56:00 564

原创 常用JVM参数

-Xmx:最大堆内存;如:-Xmx1024m-Xms:初始堆内存,建议与最大堆内存设置为一样,避免动态扩展;如:-Xms1024m

2020-04-18 09:20:29 397

原创 XXX is not visible from class loader 问题

遇到一个类 is not visible from class loader的问题,怀疑是不同类加载器加载了不同的类,Java中区分类是否相同的前提是使用同一个类加载器加载。需要再验证确认下,后续补充上验证结果。...

2020-04-16 22:05:21 1969

原创 常见JVM指令一览

字节码指令是基于栈的,很多从源码无法解释的问题都可以从字节码层面解释,以下为常见的字节码指令,供自己和大家参考栈和局部变量操作将常量压入栈的指令aconst_null 将null对象引用压入栈iconst_m1 将int类型常量-1压入栈iconst_0 将int类型常量0压入栈iconst_1 将int类型常量1压入栈iconst_2 将int类型常量2压入栈iconst_3 将...

2020-03-21 22:12:42 708

原创 JVM运行时数据区(基于JDK8,结合字节码以及自己的理解)

JVM和并发和Java中两个高级主题,今天来聊下JVM组成中的一部分,也是跟我们日常工作联系最紧密的JVM运行时数据区。先来个JVM整体的结构图:我们编写的源文件经过编译器(如Javac编译器,Java虚拟机也是跨平台的,其他语言如JRuby等其他语言可以由自己语言的编译器进行源码到字节码的编译)编译为存储字节码的Class文件后,后续的工作就由Java虚拟机接管了。类加载子系统把描述类的数...

2020-03-14 22:45:13 527

原创 java.lang.OutOfMemoryError: unable to create new native thread的解决思路

早上有同事反馈一个服务无法正常启动,报错如下Caused by: java.lang.OutOfMemoryError:unable to create new native threadatjava.lang.Thread.start0(Native Method)atjava.lang.Thread.start(Thread.java:714)JVM内存溢出,为啥还无法创建新的本地线程...

2020-03-07 22:24:42 2460

原创 Java中init和clinit方法是什么

Java中和是什么在具体描述这两个方法之前,先来看看小伙伴们实际可能遇到这两个方法的场景:先说下方法,当我们DEBUG静态代码块时。比如下面一道题:问会输出多少?具体输出多少小伙伴可以自行试验。我们关注的是当我们DEBUG到11行代码时,DEBUG窗口下会是这样:标红的位置就是方法。我们也可以把代码稍作调整,在staic代码块中抛出一个运行时异常,看下异常信息的堆栈,截图如下:从...

2020-03-06 22:00:57 1357

原创 记录一次Quartz定时调度服务因内存泄漏导致用户线程阻塞问题

早上还没进入工作状态,一个对接系统小伙伴发来消息,线上一直收不到队列消息,帮忙看看,瞬间一激灵,开始去查看具体问题。首先说下这个跟对接系统交互的流程,首先我们系统有一些业务数据状态发生变化时,会通过数据库触发器写入消息推送表,然后我们的消息推送服务(Quartz定时调度框架实现)定时检索这个消息推送表,有待处理数据就把数据做一些处理,生产消息发送到ActiveMQ的指定队列上,对接系统监听和消费该...

2020-03-04 23:35:24 1237

原创 Java是值传递还是引用传递?

Java是值传递,Java是值传递,Java是值传递。重要的事情说三遍。介绍值传递、引用传递的概念之前先来回顾下形参和实参的概念。形参:方法被调用时需要传递进来的参数,如func(int a)中的a,它只有在func被调用期间才有意义,也就是会被分配内存空间,在方法func执行完成后,a就会被销毁释放空间,也就是不存在了,结合Java运行时数据区来说就是局部变量a在方法func对应的栈帧中,随...

2020-03-01 16:13:57 271

原创 程序员知识体系(基于Java)

一,计算机、编程语言基础相关:计算机组成原理(第2版)唐朔飞。最好结合B站视频来看,不然比较枯燥;深入理解计算机系统-Randal E.Bryant(看到布莱恩特就想到科比,逝者安息) David R.O’Hallaron。写的很好,随时可以找感兴趣的章节看看。计算机操作系统-汤小丹。结合B站视频来看,后续学习Linux,Java多线程并发都有用。图解HTTP-上野宣。比较有趣的书籍,适合...

2020-02-21 21:53:56 336

原创 com.fasterxml.jackson.databind.JsonMappingException: The uri may not be theempty string异常问题记录

问题:外围系统反馈某异步任务未正常返回消息给该系统,经查看处理记录表中,记录到了异常:com.fasterxml.jackson.databind.JsonMappingException: The uri may not be theempty string.at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPat...

2019-07-23 11:02:17 308

原创 记录一次MQ内存使用率达到最高导致用户线程阻塞的问题

周一上班检查MQ控制台时发现,首页中memory percent used使用率达到70(配置的最大为70%),从Queues的tab页看,很多消息开始堆积,使用jmap dump出堆转储快照后,重启服务。使用MAT工具分析heap.hprof,发现其中的org.apache.activemq.broker.region.DurableTopicSubscription占了内存的约四分之一,堆积...

2019-07-23 10:30:27 1221

原创 记录一次升级ActiveMQ版本遇到的问题

我负责ActiveMQ服务,本周一队列消费者的系统反馈他们无法正常监听到消息了,从MQ Console上看到该队列A的消息确实堆积了,Number Of Pending Messages 不断增加,本地开启消费者以及他们系统本地开启消费者都能正常监听到消息,但是线上就是不行,他们服务重启后问题依然无法解决,找不到解决的办法,我就考虑升级下AMQ版本,原版本为5.8.0(可从MQ Cons...

2019-07-13 17:27:39 2228 1

原创 ActiveMQ使用问题记录

记录一次ActiveMQ使用过程中问题以及解决流程

2019-05-24 20:14:47 939

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除