ReentrantLock的实现网上有很多文章了,本篇文章会简单介绍下其java层实现,重点放在分析竞争锁失败后如何阻塞线程。因篇幅有限,synchronized的内容将会放到下篇文章。 Java Lock的实现 Ree…
分类:java
Java四舍五入时保留指定小数位数
方式一: double f = 3.1516; BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).…
Android面试准备(第一弹:Java集合)
ArrayList、LinkedList、Vector区别 ArrayList 是一个可改变大小的数组,其大小将会动态地增长。 LinkedList 是一个双链表,在添加和删除元素时具有比ArrayList更好的性能.但…
java设计模式--状态模式
状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象像是改变了其类。 乍一看状态模式的解释可能有点不知所以然,其实这个模式并不难理解,首先我们看一个例子 我们定义了一个学习类,它的一个studySta…
说说Java 8 新特性,default方法
Java 8 新特性,default方法 default方法,也可称为Defender方法,或者虚拟拓展方法(Virtual extension methods)。 1. 来源 Java8的一个重要的特性就是引入了函数式…
IO流总结
随笔 学习Java很长时间了,也用过很多东西,但是基本都忘完了。比如IO流,用过很多次但还是有一点模糊。所以以后要经常总结。 我会以简单粗暴的方式记下使用IO流的方式,一些概念性的东西我基本不写,以后再百度吧,不然东西会…
java设计模式--桥接模式
桥接模式:将抽象的部分与它的实现部分分离,使它们可以独立的变化。 我们先看一个例子 操作系统类。定义了一个运行软件的抽象方法 public abstract class OperatingSystem { //运行软件的…
反射获取构造方法
获取所有构造方法,获取指定单参构造方法(指定类型为String): 1 package com.mldn.demo; 2 3 import java.lang.reflect.Constructor; 4 5 class…
几种自定义Spring生命周期的初始化和销毁方法
Bean 的生命周期指的是 Bean 的创建、初始化、销毁的过程。Spring 提供了一些方法,可以让开发自定义实现在生命周期过程中执行一些额外操作。 1、在注解 @Bean 中指定初始化和销毁时执行的方法名。 @Com…
java学习笔记(基础篇)—内部类
一、内部类 1.顶层类和内部类的区别: 1)位置: 内部类是定义一个类的里面或者一个方法中,或者一个表达式中。 顶层类是定义在package下 2)修饰符:顶层类只能处于public和默认访问级别, 成员内部类可以处于p…
Shiro权限框架与SpringMVC整合
1.Shiro整合SpringMVC 我们学习Shiro框架肯定是要应用到Web项目上的,所以我们需要整合Shiro和SpringMVC 整合步骤: 第一步:SpringMVC框架的配置 spring-mvc.xml…
如何在Maven项目中设置Java 9
在这个简短的教程中,我想向你展示如何配置新的Java 9启用的Maven项目。 TL; DR 您可以在这里找到一个示例项目:https//github.com/springuni/springuni-java9。 模块 …