java基础
wuzhicheng123456
这个作者很懒,什么都没留下…
展开
-
java int转换
只有比int长度大的可以自动转换为int package primary_data_type; public class SwitchTest { public static void main(String[] args){ byte b=9; //8 bit short a=1;//16 bit int sitcInt=19;//32 bit long原创 2015-01-01 10:56:25 · 405 阅读 · 0 评论 -
Java API限流
令牌桶算法 http://blog.didispace.com/spring-boot-request-limit/ 对于令牌桶的代码实现,可以直接使用Guava包中的RateLimiter。 public class TestRateLimiter { static RateLimiter limiter = RateLimiter.create(2.0) ; public static...原创 2018-07-23 22:06:15 · 373 阅读 · 0 评论 -
ConcurrentLinkedQueue
ConcurrentLinkedQueue : 基于非阻塞算法和链表结构的线程安全队列 非阻塞算法 (nonblocking algorithms) 一个线程的失败或者挂起不应该影响其他线程的失败或挂起的算法。 实现无锁(lock-free)的非阻塞算法有多种实现方法,其中 CAS(比较与交换,Compare and swap) 是一种有名的无锁算法。转载 2017-06-14 16:01:19 · 234 阅读 · 0 评论 -
Collections.synchronizedCollection
对与集合的同步,方法之一是使用 Collections : 如以下方法: Collections.synchronizedCollection(Collection c) 返回的是一个 Collection 对象的装饰者对象 ,这个装饰者对象的所有方法都是同步的 public static Collection synchronizedCollection(Collection c)原创 2017-06-14 09:20:23 · 2422 阅读 · 0 评论 -
ThreadLocal
线程安全大概分为两类 : 一类是多个线程共享一个变量 访问时候加锁,属于以时间换空间 一类是每个线程有自己的变量(不需要共享),不需要加锁 速度更快 但是 耗费内存 (为每个线程new了一个变量) 而ThreadLocal就属于后者 主要方法: set(T t) public void set(T value) { Thread t = Thread原创 2017-06-13 17:11:16 · 208 阅读 · 0 评论 -
SimpleDateFormat的套路
由于SimpleDateFormat是一个非线程安全类(由于它的protected Calendar calendar;属性是非线程安全的),本来想测试下ThreadLocal下的线程安全SimpleDateFormat,结果输出的 simpleDateFormat 都是一样的 public class TestLocal { ThreadLocal threadLocal = new原创 2017-06-13 16:24:23 · 278 阅读 · 0 评论 -
ThreadPoolExecutor
ThreadPoolExecutor(基于jdk1.6 主要看线程执行流程,不关注线程池状态等): 主要属性: BlockingQueue workQueue:同步任务队列 ReentrantLock mainLock:同步锁 用于addIfUnderCorePoolSize等方法中 HashSet workers:执行任务的worker队列 volatile int原创 2017-06-13 11:09:19 · 183 阅读 · 0 评论 -
HashMap
HashMap源码分析:原创 2017-06-15 17:22:06 · 243 阅读 · 0 评论 -
UUID
UUID UUID含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份。 UUID 的目的,是让分布式系统中的所有元素,都能有唯一...原创 2018-07-23 22:07:52 · 333 阅读 · 0 评论