自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

请叫我大师兄

看文章记得点个赞哟

原创 当Java jvm 一个线程OOM的时候,其它线程还能运行不?这个进程会gg不?

当一个Java程序报OOM的异常的时候,程序会gg吗?是只有一个线程gg呢,还是整个进程gg呢?/** * JVM 堆内存溢出后,其他线程是否可继续工作 * * @author LiXuekai on 2020/7/27 */public class WhenOom { public static void main(String[] args) { new Thread(() -> { List<byte[]> list

2020-07-27 16:40:18 65

原创 Java 一个进程支持多少个线程同时运行的测试 Java max running thread count test

测试一下一个Java程序能同时造多少个线程,一起运行。直到 java.lang.OutOfMemoryError: unable to create new native thread看其它文章说 -Xms -Xmx设置heap的大小以及 -Xss 设置单个stack的大小对这个数有影响,我在 -Xms 10m,1g,6g -Xss170k, 10m,100m,都是在4075左右就OOM拉。测试环境,jdk1.8 ,mac os

2020-07-27 15:46:25 16

原创 Java 解析xml 使用SAXReader获取所有标签的key和value的代码实例

Java中使用SAXReader获取xml信息中所有标签的key和value,若是有二级或者继续嵌套,也可以递归获取的代码实例package com.lxk.jdk.file.xml;import com.google.common.collect.Maps;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.Node;import o

2020-07-26 17:52:44 108

原创 java kafka 生产者和消费者的代码实例

生产者import com.google.common.collect.Lists;import org.apache.kafka.clients.producer.KafkaProducer;import org.apache.kafka.clients.producer.ProducerRecord;import org.junit.Test;import java.util.List;import java.util.Properties;import static org.a

2020-07-26 17:35:28 58

转载 Kafka消费者-从Kafka读取数据

(1)Customer和Customer Group(1)两种常用的消息模型队列模型(queuing)和发布-订阅模型(publish-subscribe)。队列的处理方式是一组消费者从服务器读取消息,一条消息只由其中的一个消费者来处理。发布-订阅模型中,消息被广播给所有的消费者,接收到消息的消费者都可以处理此消息。(2)Kafka的消费者和消费者组Kafka为这两种模型提供了单一的消费者抽象模型:消费者组 (consumer group)。 消费者用一个消费者组名标记自己。 一个.

2020-07-26 17:24:55 46

转载 Kafka生产者-向Kafka中写入数据

(1)生产者概览(1)不同的应用场景对消息有不同的需求,即是否允许消息丢失、重复、延迟以及吞吐量的要求。不同场景对Kafka生产者的API使用和配置会有直接的影响。例子1:信用卡事务处理系统,不允许消息的重复和丢失,延迟最大500ms,对吞吐量要求较高。例子2:保存网站的点击信息,允许少量的消息丢失和重复,延迟可以稍高(用户点击链接可以马上加载出页面即可),吞吐量取决于用户使用网站的频度。(2)Kafka发送消息的主要步骤消息格式:每个消息是一个ProducerRecord对象,必须指定

2020-07-26 17:16:29 80

原创 Runtime.getRuntime().addShutdownHook()

解决 the application appears to have started a thread ... but failed to stop it,this is very likely to create a memory leak.这个警告RunTime.getRunTime().addShutdownHook的作用就是在JVM销毁前执行的一个线程.当然这个线程依然要自己写.有时候我们用到的程序不一定总是在JVM里面驻守,可能调用完就不用了,释放资源.利用这个性质,如果我们之前定义.

2020-07-16 13:51:17 86

原创 volatile关键字是否真的理解了,就看怎么回答这个问题。

问题: a,b,c三个变量,其中c是volatile的,a,b是普通变量, a = 1, b = 2, c = 3, c写入之后,a,b的值也会被刷入缓存吗,还是c写入之前所有在cpu缓存的数据都会被刷入内存,还是只刷入和c在同一个缓存行的数据?答: 要按happens before来考虑这种问题,不要想着(cache),Java的修正过的内存模型其实基本点很简单,同一线程内的副作用按程序顺序发生,所以a、b、c的赋值如果是在同一线程内按这个顺序写的,实际执行就要按照这个...

2020-07-08 15:49:04 179

原创 G1 GC 全称Garbage-First Garbage Collector 的全面全方位总结

关键描述 G1是一种服务器端的垃圾收集器,应用在多处理器和大内存环境中,在实现高吞吐量的同时,尽可能的满足垃圾收集暂停时间的要求,全堆操作(例如全局标记)与应用程序线程并行执行。这样可以防止与堆或活动数据大小成比例的中断。 G1收集器的设计目标是取代CMS收集器,它同CMS相比,在以下方面表现的更出色:* G1是一个有整理内存过程的垃圾收集器,在回收垃圾的时候会压缩存活对象。不会产生很多内存碎片。* G1的Stop The World(STW)更可控,G1在停顿时间上添加...

2020-07-02 10:13:41 247

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