- 博客(14)
- 资源 (3)
- 收藏
- 关注
原创 关于线程池中的阻塞队列BlockingQueue
接上篇文章https://blog.csdn.net/GoSaint/article/details/84345210 对于BlockingQueue阻塞队列而言,常用在多线程生产者和消费者模型上。首先我们需要明确的是阻塞队列是线程安全的。或者可以称之为并发队列,是并发容器的一种规范。 上图是BlockingQueue的实现类...
2018-11-27 16:23:41 476
原创 BlockingQueue(阻塞队列)详解
注意:该随笔内容完全引自http://wsmajunfeng.iteye.com/blog/1629354,写的很好,非常感谢,复制过来算是个积累,怕以后找不到。一. 前言 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文...
2018-11-26 16:45:50 583
原创 一次java面试
前几天去了一家电商公司去面试,感触颇多。在这里复盘下这次面试经历吧!一面1 做个自我介绍吧:我:balabala......2 你了解线程池吗? 对于线程池,可以使用Executor的方式去创建,也可以使用ThreadPoolExecutor直接自定义去创建,但是推荐后者,这样可以更加清楚的明白线程池中每一个参数的含义。下面的代码是Threa...
2018-11-22 17:42:44 201 1
原创 Redis异常 Unknown redis exception; nested exception is java.lang.NullPointerException
redis异常信息如下:org.springframework.data.redis.RedisSystemException: Unknown redis exception; nested exception is java.lang.NullPointerException at org.springframework.data.redis.FallbackExceptionTr...
2018-11-18 21:31:52 23666 2
原创 设计模式 之 装饰器模式
最近准备阅读下IO源码,传统的IO中涉及两种设计模式:装饰器模式以及适配器模式。因此在这里记录下的我对装饰器模式的个人理解。java IO流的设计是基于装饰者模式&适配模式,面对IO流庞大的包装类体系,核心是要抓住其功能所对应的装饰类。 装饰器模式又叫包装模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。装饰模式通过创建一个包装对象,...
2018-11-15 17:51:34 165
原创 Spring IOC DefaultListableBeanFactory解析1
Spring的核心所在就是IOC以及AOP。但是我认为最为重要的还是IOC。关于IOC的基本概念我不涉及,反正就是将对象以及以来的权力交给Spring容器来处理。通常我们Spring入门的时候都会创建一个Java Bean。然后配置文件去定义这个bean。之后使用ApplicationContext或者BeanFactory来获取这个Bean的对象。我首先定义了一个User:p...
2018-11-15 13:09:07 251
原创 zookeeper Apache Curator
1 简介 Curator是Netflix公司开源的一套Zookeeper客户端框架。了解过Zookeeper原生API都会清楚其复杂度。Curator帮助我们在其基础上进行封装、实现一些开发细节,包括接连重连、反复注册Watcher和NodeExistsException等。目前已经作为Apache的顶级项目出现,是最流行的Zookeeper客户端之一。从编码风格上来讲,它提供了基于Fl...
2018-11-10 16:37:17 230
原创 jvm堆内存溢出后,其他线程是否可继续工作
最近网上出现一个美团面试题:“一个线程OOM后,其他线程还能运行吗?”。我看网上出现了很多不靠谱的答案。这道题其实很有难度,涉及的知识点有jvm内存分配、作用域、gc等,不是简单的是与否的问题。 由于题目中给出的OOM,java中OOM又分很多类型;比如:堆溢出(“java.lang.OutOfMemoryError: Java heap space”)、永久带溢出(“java....
2018-11-07 14:54:59 1683
原创 zookeeper java api(2)
这里介绍其他的API对zookeeper的操作。同步方式获取子节点数据 public static void getChildrenSync() throws KeeperException, InterruptedException { List<String> childrenList = zkClient().getChildren("/", tr...
2018-11-06 22:04:16 135 1
原创 zookeeper java api(1)
1 Zookeeper安装以及启动 这里我已经进行了安装,并且启动了Zookeeper。端口是21822 Zookeeper configtickTime=2000initLimit=10syncLimit=5dataDir=D://zookiper/zookeeper/dataclientPort=2182 参数介绍tickTime: 这个时间...
2018-11-06 12:57:50 347
原创 KafKa(windows10)下的搭建
在本人写这篇文章之前,我的zookeeper环境和java环境都是搭建好的,因此如果有读者想要搭建的话,那么必须要安装zookeeper。 下载:https://www.apache.org/dyn/closer.cgi?path=/kafka/2.0.0/kafka_2.12-2.0.0.tgz (1) 我使用的是kafka2.12版本。下图是我解压后的kaf...
2018-11-03 21:44:22 435
原创 ElasticSearch实战三(分词和映射)
ElasticSearch的文档映射机制(mapping)用于进行字段的类型确认,将每一个字段匹配为一种确定的数据类型。1 ES字段类型 ① 基本字段类型 字符串:text、keyword text默认为全文文本,keyword默认为非全文文本 数字:long、integer、short、double、float 日期:dat...
2018-11-03 15:57:01 2338
原创 JVM学习之1 GC日志理解
为了观察GC日志,我们需要设置JVM启动参数: -XX:+PrintGCDetails-----------------------------表示详细的GC日志的输出下面程序代码是我摘抄《深入理解JVM》这个本书上的一个示例;public class RefrenceCountingGC { public Object instance =null; ...
2018-11-02 16:33:46 380
原创 BlockingQueue(阻塞队列)详解
注意:该随笔内容完全引自http://wsmajunfeng.iteye.com/blog/1629354,写的很好,非常感谢,复制过来算是个积累,怕以后找不到。一. 前言 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍...
2018-11-01 11:05:11 347
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人