集合
程序员驴子酱
IT社区Java技术布道者
展开
-
SpringCloud常用组件(一)
SpringCloudEureka我们使用微服务,微服务的本质还是各种API接口的调用,那么我们怎么产生这些接口、产生了这些接口之后如何进行调用那?如何进行管理哪?答案就是SpringCloudEureka,我们可以将自己定义的API接口注册到SpringCloudEureka上,Eureka负责服务的注册于发现,如果学习过Zookeeper的话,就可以很好的理解,Eureka的角色和Zookeeper的角色差不多,都是服务的注册和发现,构成Eureka体系的包括:服务注册中心、服务提供者、服务消费者原创 2020-10-30 14:52:08 · 171 阅读 · 0 评论 -
Java NIO:Buffer、Channel 和 Selector详解
本来要一起介绍非阻塞 IO 和 JDK7 的异步 IO 的,不过因为之前的文章真的太长了,有点影响读者阅读,所以这里将它们放到另一篇文章中进行介绍。Buffer一个 Buffer 本质上是内存中的一块,我们可以将数据写入这块内存,之后从这块内存获取数据。java.nio 定义了以下几个 Buffer 的实现,这个图读者应该也在不少地方见过了吧。6其实核心是最后的 ByteBuffer,前面的一大串类只是包装了一下它而已,我们使用最多的通常也是 ByteBuffer。我们应该将 Buffer 理解原创 2020-10-12 19:56:30 · 136 阅读 · 0 评论 -
线程池相关问题
线程池相关问题问题1:为什么要使用线程池,优势是什么?线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最 大数量超出数量的线程排队等候,等其它线程执行完毕,再从队列中取出任务来执行。他的主要特点为:线程复用;控制最大并发数:管理线程。第一:降低资源消耗。通过重复利用己创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无原创 2020-08-03 15:32:19 · 290 阅读 · 0 评论 -
谈谈你对JMM的理解和认识?
JMM(Java内存模型Java Memory Model,简称JMM)本身是一种抽象的概念并不真实存在,它描述的是一组规则或规范,通过这组 规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式。JMM关于同步的规定:1线程解锁前,必须把共享变量的值刷新回主内存2线程加锁前,必须读取主内存的最新值到自己的工作内存3加锁解锁是同一把锁由于JVM运行程序的实体是线程,而每个线程创建时JVM都会为其创建一-个工作内存(有些地方称为栈空间),工作内存是每个线程 的私有数据区域,原创 2020-08-03 15:27:49 · 484 阅读 · 1 评论 -
基于Java集合的斗地主案例
基于Java集合的斗地主案例一、案例需求分析(1)准备牌:牌可以设计为一个ArrayList,每个字符串为一张牌。每张牌由花色数字两部分组成,我们可以使用花色集合与数字集合嵌套迭代完成每张牌的组装。牌由Collections类的shuffle方法进行随机排序。(2)发牌:将每个人以及底牌设计为ArrayList,将最后3张牌直接存放于底牌,剩余牌通过对3取模依次发牌。(3)看牌:直接打印每个集合。(4)注意:修改文件编码由GBK修改为UTF-8,因为GBK没有我们要的梅花、方片、黑桃、红原创 2020-07-11 12:34:46 · 264 阅读 · 0 评论 -
一文带你了解WeakHashMap
1. WeakHashMap的适用场景大部分的缓存都需要占用内存,考虑到内存的有限性,并不能缓存所有的对象,此时就需要用到另类的集合,例如WeakHashMap,可以保存一些对象的同时淘汰另一些对象,以此减少存储成本。2. 什么是WeakHashMapWeakHashMap,是在HashMap的基础上多了Weak。表示这是一个弱引用的HashMap。来看下WeakHashMap的类定义:public class WeakHashMap<K,V> extends Abstract原创 2020-06-29 15:57:40 · 1099 阅读 · 0 评论