摘要: Java中有很多时候都用到了枚举,但是之前都没有去好好理解这个类,所以准备写一下关于枚举类的用法以及使用场景。 首先,介绍一下枚举的基本知识吧,enum无法继承其他类,因为它已经继承了java.lang.Enum。可以实现其他接口。然后使用enum需要构造方法。而enum里面的构造方法默认是priv 阅读全文
posted @ 2018-12-27 16:51 徐世龙 阅读(398) 评论(0) 推荐(0) 编辑
摘要: CyclicBarrier字面意思是“循环的屏障”。实际效果是多个线程完成后会到达这个屏障,令线程阻塞,直到所有的线程都完成后,再唤醒所有线程。那为什么叫“循环的”呢?因为这个类可以重用。关于重用,我们等下可以再源代码中看到。通过源代码就可以理解重用的含义了。 这是CyclicBarrier这个类的 阅读全文
posted @ 2018-12-04 17:39 徐世龙 阅读(1718) 评论(0) 推荐(0) 编辑
摘要: CountDownLatch使用方法非常简单,主要就是两个方法,await()方法和countDown()方法,await()方法会使线程阻塞。countDown()会将线程同步状态减1,当同步状态为0使唤醒线程。 还是通过源码来理解这个类。 与重入锁一样,也是有一个内部Sync类。从代码中可以看出 阅读全文
posted @ 2018-12-03 16:55 徐世龙 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 最近在项目中分配了一个抽奖模块的任务,这里先说一下需求把:每个抽奖活动后台会配置多个中奖奖品,分为特殊奖品和普通奖品,所有奖品的中奖概率之和加起来为1。用户端用户抽奖需要根据概率来随机抽中一个商品。开始我脑子生出来的第一想法是生成一个随机数,然后让这个随机数跟概率去比较,取小于这个随机数的最大一个概 阅读全文
posted @ 2018-11-29 11:37 徐世龙 阅读(628) 评论(0) 推荐(0) 编辑
摘要: 这两个类可能很多人都不会在意,因为我们平时都是使用的java.util.ArrayList,但是正是因为这样,有的时候你可能会遇到 java.lang.UnsupportedOperationException这样的问题,说实话,第一次遇到这种异常我也是一脸蒙蔽的,以前基本不会遇到这种问题。说一下我 阅读全文
posted @ 2018-11-22 11:22 徐世龙 阅读(1127) 评论(0) 推荐(0) 编辑
摘要: 之前使用wait()和notify()实现了循环打印字母和数字,而上篇博客讲了ReentrantLock,因此,这篇博客讲通过ReentrantLock来实现循环打印字母和数字,这里我们需要ReentrantLock与Condition搭配使用, Condition主要方法为await()方法和si 阅读全文
posted @ 2018-11-21 17:00 徐世龙 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 上次博客讲到了通过wait()方法和notify()方法来实现循环打印数字和字母得问题。其实使用重入锁也可以实现同样得功能,那么开始我们先通过源码来了解一下重入锁把。 首先它有一个lock()方法,它用来加锁,从代码中可以看到,它调用得是sync.lock()方法, 在这个类里面,有一个静态抽象类S 阅读全文
posted @ 2018-11-21 00:30 徐世龙 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 之前把thread基础温习了一遍,然后想通过做一些题目来加深自己的印象,刚好大四找工作面试时被问到一道题目:A-Z,1-26,使用多线程打印出A1B2C3D4E5......这种,当时自己好像回答的并不好,于是今天重新写了一遍。 首先我们需要新建两个类,一个用来打印A-Z,一个用来打印1-26。这里 阅读全文
posted @ 2018-11-14 18:19 徐世龙 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 工作快两年了,因为日常工作中很少用到多线程,关于多线程的一些基本知识都已经快忘记了,所以打算重新梳理一遍多线程的知识,加深一下理解。 Java中线程有以下几种状态, 1. 初始状态:新创建一个线程对象。 2. 运行状态:Java将就绪和运行中统称为运行状态,其中就绪表示一个线程正在线程池中,等待cp 阅读全文
posted @ 2018-11-12 22:21 徐世龙 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 之前公司做了一个项目,需要与app对接。因为做的是通用服务,app那边是需要直接访问的,这样每次请求两边都需要一个凭证来完成一个互相认证的过程。说一下我们项目采用的方式吧,app那边将请求参数进行一定规则的加密,生成一个sign值,与参数一起传递过来,然后后端在拦截器中同样将参数按同样的规则加密,对 阅读全文
posted @ 2018-11-06 20:42 徐世龙 阅读(2535) 评论(0) 推荐(0) 编辑