自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

转载 Java锁

公平锁/非公平锁 公平锁是指多个线程按照申请锁的顺序来获取锁。 非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。有可能,会造成优先级反转或者饥饿现象。 对于Java ReentrantLock而言,通过构造函数指定该锁是否是公平锁,默认是非公平锁。非公平锁的优点在于吞吐量比公平锁大。 对于Synchronized而言,也是一种非公平锁。由于其并不像ReentrantLock是通过AQS的来实现线程调度,所以并没有任何办法使其变成公平锁。 可重入锁 可重入锁

2020-07-01 16:01:28 99

原创 Java线程池

线程池 把一个或多个线程通过统一的方式进行调度和重复使用的技术,避免了因为线程过多带来使用上的开销。 可重复使用已有线程,避免对象创建,消亡和过度切换的性能开销。 避免创建大量同类线程所导致的资源过度竞争和内存溢出的问题。 延迟任务线程池(newScheduledThreadPool)和缓存线程池(newCachedThreadPool)。 ThreadPoolExecutor的参数 1. c...

2020-04-28 23:36:50 95

原创 Java线程

线程的创建 继承Thread类,重写run方法 实现Runnable接口,实现run方法 实现Callable接口,实现call方法 线程用法 线程等待 使用wait()方法实现线程等待,必须先持有当前对象的锁。 线程唤醒 使用notify()/notifyAll()方法唤醒线程。 notify()随机唤醒对象的等待池的一个线程 notifyAll()唤醒对象的等待池中所有线程。 线程休眠...

2020-04-24 21:18:34 75

原创 Map详解

Map简介 Map的常用实现类如下: Hashtable:线程安全,不支持null键和值,性能不如ConcurrentHashMap; HashMap:最常用的哈希表实现,非线程安全,支持null键和值; TreeMap:基于红黑树的提供顺序访问的Map,自身实现了key的自身排序,也可以指定Comparator来自定义排序; LinkedHashMap:HashMap的子类,保存了记录插入的顺...

2020-04-17 18:16:56 385

原创 Java异常

Exception和Error的区别 Exception和Error都属于Throwable的子类,在Java中只有Throwable及其子类才能被捕获或抛出。 Exception Exception是程序正常运行中,可以预期的意外情况,并且可以通过try/catch进行捕获处理。Exception又分为运行时异常(Runtime Exception,编译能通过,但如果运行过程中出现这类未处理的异...

2020-04-14 18:18:58 109

原创 Java介绍

1.Java和jdk的关系 JDK(Java development kit) Java开发工具,包括: 编译器, Java运行环境(JRE,Java Runtime environment), JVM(Java虚拟机)监控和诊断工具等。 Java表示一种开发语言。 2.Java程序的执行 1 ) Java代码编译成字节码,即 .Java文件 编译成 .class文件 。具体过程为: Java源代...

2020-04-13 17:24:59 314

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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