Java虚拟机(五) open与oraclejdk (免费vs商用(GC2VS1))系统虚拟机与程序虚拟机(执行单个计算机程序)执行引擎(翻译者):将高级语言翻译为机器语言,让操作系统接收指令翻译字节码:保证响应时间,对字节码文件逐行解释执行,jit编译器对热点代码编译为机器指令并且缓存在方法区,下次可以直接调用(可以提升性能)主流:二者并存...
利用InheritableThreadLocal进行子父线程参数传递 线程池包装类package com.example.git_lab_exc.service;import java.util.concurrent.ExecutorService;import java.util.concurrent.LinkedBlockingQueue;import java.util.concurrent.ThreadPoolExecutor;import java.util.concurrent.TimeUnit;import javax.lang.model.e
利用Set和Map进行接口的策略模式 package com.example.git_lab_exc.service;import java.util.HashMap;import java.util.Map;import java.util.Set;import javax.annotation.PostConstruct;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Com.
记一次oom 紧急解决方式:加堆内存1.top -h -p -pid命令查看cpu占用较高的线程2.printf %x tid进行线程的进制转换,转成16进制,例如找到CPU负载高的线程pid 8627, 把这个数字转换成16进制,21B3(10进制转16进制,用linux命令: printf %x 8627)3.jstack pid 打印进程中所有线程的运行堆栈,拿线程的16进制编码进行检索,查看堆栈信息,结合代码进行分析。 jstack pid|grep 21B3...
线程池 线程工厂,拒绝策略代理类 线程工厂package com.example.git_lab_exc.service;import java.util.concurrent.ThreadFactory;import java.util.concurrent.atomic.AtomicInteger;import lombok.Data;/** * @auther lpc * @create 2022-05-12-9:51 */@Datapublic class MyThreadFactory implemen
策略设计与事件监听器 Registry类实现监听器,泛型事件监听器触发事件-->放入Map中//Map存储k-v,v是接口写一个方法,通过一个Registry类操作这个Map通过key拿到对应的实现类具体:继承一个listener,泛型是一个事件当这个事件发生的时候,就会执行onApplicationEvent里的方法--> Map<String,Filler> map = contextRefreshedEvent.getApplicationContext().get
利用DelayQueue与Delayed 完成异步延时操作 @Test public void Juc() throws InterruptedException { System.out.println("马上输出"); DelayQueue<Delayed> delayeds = new DelayQueue<>(); new Thread(() -> { delayeds.offer(new MyDelayedTask("task1", 3...
kafka_任务发送流程_分区器过滤器_生产者吞吐量_丢数_幂等性_事务性消息 主线程中j经过操作,在内存中根据分区器生成多个DQuence,然后通过sander线程,等到批次数据达到16K的时候,就会来拉取数据。或者根据linger.ms的数据,按照时间来拉取。一般来说在生产环境之中这两个值会进行修改。接下来DQuence分区的数据要发往不同的kafka节点,以不同的节点为key,后面跟随对应请求,可以发送最多五个没有响应的请求,等到第一个请求得到答复,才会继续发送请求副本同步机制ask:0不需要反馈ask:1发送的数据leader收到就可,即使数据...
Nginx_502 Nginx开启的前提下:Nginx 502就是后端对请求无法处理,查看监控后端几个API的负载均很低,当前请求的QPS远远低于服务的上限。一、(有可能是负载均衡问题导致服务器挂掉了)通过监控。查看QPS数量而且同一瞬间,多套独立部署的API均处理不过来的概率也比较低。我们简单做了个对比测试,分别对域名(请求走Nginx)与直接通过IP对内网一个API通过wrk进行小规模压测直接通过域名走Nginx对API进行压测的话,QPS远远小于预期,并且存在大量失败请求。基本断定问题出在Nginx