摘要: 目录 "1. ReentrantLock简介" "2.ReentrantLock和synchronized的比较" "2.1 相同点" "2.2不同点" "3.ReentrantLock相比synchronized的额外功能" "3.1 ReentrantLock可以实现公平锁。" "3.2 .Re 阅读全文
posted @ 2020-01-28 20:19 未月廿三 阅读(682) 评论(0) 推荐(0) 编辑
摘要: 通过分析这两个用法的分析,我们可以理解java中锁的概念。一个是实例锁(锁在某一个实例对象上,如果该类是单例,那么该锁也具有全局锁的概念),一个是全局锁(该锁针对的是类,无论实例多少个对象,那么线程都共享该锁)。实例锁对应的就是synchronized关键字,而类锁(全局锁)对应的就是static 阅读全文
posted @ 2020-01-28 20:17 未月廿三 阅读(2462) 评论(0) 推荐(0) 编辑
摘要: 一、简介 volatile是Java提供的一种轻量级的同步机制。Java 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量,相比于synchronized(synchronized通常称为重量级锁),volatile更轻量级,因为它不会引起线程上下文的切换和调度。但是volat 阅读全文
posted @ 2020-01-28 20:13 未月廿三 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 基础知识 基础知识之一:锁的类型 锁就那么几个,只是根据特性,分为不同的类型 锁的概念 在计算机科学中,锁(lock)或互斥(mutex)是一种同步机制,用于在有许多执行线程的环境中强制对资源的访问限制。锁旨在强制实施互斥排他、并发控制策略。 锁通常需要硬件支持才能有效实施。这种支持通常采取一个或多 阅读全文
posted @ 2020-01-28 20:12 未月廿三 阅读(1410) 评论(0) 推荐(0) 编辑
摘要: 先来说一下对异步和同步的理解: 同步调用:调用方在调用过程中,持续等待返回结果。 异步调用:调用方在调用过程中,不直接等待返回结果,而是执行其他任务,结果返回形式通常为回调函数。 其实,两者的区别还是很明显的,这里也不再细说,我们主要来说一下Java如何将异步调用转为同步。换句话说,就是需要在异步调 阅读全文
posted @ 2020-01-28 20:10 未月廿三 阅读(5553) 评论(0) 推荐(0) 编辑
摘要: 注解说明 Java注解又称Java标注,是Java语言5.0版本开始支持加入源代码的特殊语法元数据。为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便的使用这些数据。 Java语言中的类、方法、变量、参数和包等都可以被标注。和Javadoc不同,Java标注可以通过反射获 阅读全文
posted @ 2020-01-28 20:08 未月廿三 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 线程对象是可以产生线程的对象。比如在Java平台中Thread对象,Runnable对象。线程,是指正在执行的一个指点令序列。在java平台上是指从一个线程对象的start()开始,运行run方法体中的那一段相对独立的过程。相比于多进程,多线程的优势有: (1)进程之间不能共享数据,线程可以; (2 阅读全文
posted @ 2020-01-28 20:06 未月廿三 阅读(1541) 评论(0) 推荐(1) 编辑
摘要: 反射是框架设计的灵魂 (使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码)) 一、反射的概述 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动 阅读全文
posted @ 2020-01-28 20:04 未月廿三 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 最近项目中要用到多线程处理任务,自然就用到了ThreadPoolTaskExecutor这个对象,这个是spring对于Java的concurrent包下的ThreadPoolExecutor类的封装,对于超出等待队列大小的任务默认是使用RejectedExecutionHandler去处理拒绝的任 阅读全文
posted @ 2020-01-28 20:01 未月廿三 阅读(1286) 评论(0) 推荐(0) 编辑
摘要: String.format("%.nf",d); 表示保留N位 阅读全文
posted @ 2020-01-28 19:58 未月廿三 阅读(2865) 评论(0) 推荐(0) 编辑