摘要: volatile保证内存可见性和禁止指令重排。volatile用于多线程环境下的单次操作(单次读或者单次写)。volatile关键字不能提供原子性。 volatile关键字为实例域的同步访问提供了一种免锁机制。如果声明一个域为volatile,那么编译器和虚拟机就知道该域是可能被另一个线程并发更新。 阅读全文
posted @ 2019-04-20 21:19 楼兰胡杨 阅读(583) 评论(0) 推荐(0)
摘要: 介绍常见面试题之HashSet和HashMap的区别。 阅读全文
posted @ 2019-04-20 07:07 楼兰胡杨 阅读(1345) 评论(0) 推荐(0)
摘要: 对于面向对象编程来说,抽象是它的四大特征之一。在Java中,可以通过两种形式来体现OOP的抽象——接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是,事实并非如此。 我们现在纵向对比二者的区别。首先,温故知新,回顾二者的定义;然后,知己知彼, 阅读全文
posted @ 2019-04-20 07:00 楼兰胡杨 阅读(11307) 评论(0) 推荐(2)
摘要: final 用于声明方法和类,分别表示方法不可被覆盖,类不可被继承。在java中final的意思是终态。 将基本数据类型的变量或方法声明为final后,如果对其初始化,要么在定义的时候,要么在构造函数中。 对于一个被final修饰的变量,如果是基本数据类型的变量,则其数值一旦被初始化便不能更改;如果 阅读全文
posted @ 2019-04-20 06:54 楼兰胡杨 阅读(176) 评论(0) 推荐(0)
摘要: 在JAVA中,方法的重写与重载出现频率很高,但是很容易混淆二者概念。本文给出简洁明快的概念论述和区别。 阅读全文
posted @ 2019-04-20 06:46 楼兰胡杨 阅读(4448) 评论(0) 推荐(0)
摘要: 基本概念:在程序执行过程中,能够执行程序代码的一个执行单位,每个程序至少都有一个线程,也就是程序本身。 六个基本状态:new,runnable,waiting,timed waiting,blocked和 terminated。 wait方法必须在synchronized内部调用。 l 新建new: 阅读全文
posted @ 2019-04-20 06:40 楼兰胡杨 阅读(1559) 评论(0) 推荐(0)
摘要: 根据不同的业务需求,经常会遇到数组中存在重复元素的场合,总结了下使用Java将数组除重的方法,必定好记性不如烂笔头。这是朋友推荐的方法,嘿嘿。 持续更新中,以共享更好的方案。这里并没有使用Map或者Set什么的,虽然这是比较容易的方案。 阅读全文
posted @ 2019-04-14 22:41 楼兰胡杨 阅读(271) 评论(0) 推荐(0)
摘要: 大家都清楚电脑总是需要更新一些补丁,不过,很多系统用户发现更新了补丁之后,开机会出现windows update更新失败的情况,提示“配置Windows Update失败,还原更改,请勿关闭计算机”信息,如图所示。而且笔者今天又遇到了这个问题,甚是不开心。那么win7系统Windows Update 阅读全文
posted @ 2019-03-28 22:20 楼兰胡杨 阅读(9752) 评论(0) 推荐(0)
摘要: 一:确认种类 RabbitMQ的消息确认有两种。一种是消息发送确认,用来确认生产者将消息发送给交换器,交换器传递给队列的过程中消息是否成功投递。发送确认分为两步,一是确认是否到达交换器,二是确认是否到达队列。第二种是消费接收确认。确认消费者是否成功消费了队列中的消息。 二:消息发送确认 (1)Con 阅读全文
posted @ 2019-03-25 13:48 楼兰胡杨 阅读(1814) 评论(1) 推荐(0)
摘要: 分析Spring Boot事务管理注解注解@Transactional。 阅读全文
posted @ 2019-03-23 21:30 楼兰胡杨 阅读(1528) 评论(0) 推荐(0)