不忘初心的专栏

分享学习的点点滴滴,欢迎交流。

深入分析Volatile的实现原理

转载地址:http://ifeve.com/volatile/引言在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线...

2018-05-24 22:10:47

阅读数:48

评论数:0

Java快速失败(fail-fast)和安全失败(fail-safe)区别

一、快速失败    在使用迭代器对集合对象进行遍历的时候,如果A线程对集合进行遍历,正好B线程对集合进行修改(增加、删除、修改)则A线程会抛出ConcurrentModificationException异常。原理是:    迭代器在遍历时直接访问集合中的内容,并且在遍历过程中使用一个 modCo...

2018-04-15 22:27:54

阅读数:159

评论数:0

阿里巴巴开源框架JarsLink介绍

JarsLink (原名Titan) 是一个基于JAVA的模块化开发框架,它提供在运行时动态加载模块(一个JAR包)、卸载模块和模块间调用的API。需求背景应用拆分的多或少都有问题。多则维护成本高,每次发布一堆应用。少则拆分成本高,无用功能很难下线。故障不隔离。当一个系统由多人同时参与开发时,修改...

2018-03-22 21:58:26

阅读数:184

评论数:0

Java创建对象的4种方式

使用new关键字通过new关键字直接在堆内存上创建对象,这样很方便的调用对象的有参和无参的构造函数.Student stu1 = new Student("lihua"); Class反射调用使用Java中反射特性,来进行对象的创建。使用Class类的newInstance方法...

2018-01-01 18:33:38

阅读数:264

评论数:0

Zip4J使用

使用Java的ZipOutputStream压缩和解压缩文件,代码写起来太繁琐了,从网上找到Zip4J可以很方便的操作zip压缩包,同时可以给压缩包设置解压密码,使用起来很方便。我使用gradle管理工程,在build.gradle文件添加如下依赖:// https://mvnrepository...

2018-01-01 18:32:28

阅读数:1033

评论数:0

Java并发之CountDownLatch、CyclicBarrier和Semaphore

这次说一下 JUC 中的同步器三个主要的成员:CountDownLatch、CyclicBarrier 和 Semaphore(不知道有没有初学者觉得这三个的名字不太好记)。这三个是 JUC 中较为常用的同步器,通过它们可以方便地实现很多线程之间协作的功能。(下面的代码出自 JDK 文档) ...

2017-08-23 20:53:22

阅读数:185

评论数:0

获取Java虚拟机正在运行所有线程的堆栈信息

在Java.lang.Thread中提供了getAllStackTraces()方法用于获取虚拟机中所有线程的StackTraceElement对象。下面写了个Demoimport java.util.Map;/** * Created by wzj on 2017/7/8. */ publi...

2017-07-09 00:03:39

阅读数:1404

评论数:0

设计模式--监听者模式

介绍一下设计模式中的监听者模式,这个模式在图形界面中用的是比较多的,比如按钮的点击事件,控件的双击事件等等。 模拟一个hit(击打事件) (1)代码目录结构如下 (2)hit事件,HitEvent.java package com.wzj.design.even...

2016-11-20 22:22:50

阅读数:417

评论数:0

java获取包下面的自定义注解

(1)该工程的目录结构如下 (2)annotation包下面自定义了两个注解。 Controller.java package com.huawi.annotation; import java.lang.annotation.ElementType; import java.lan...

2016-10-05 17:28:24

阅读数:2478

评论数:0

Guava Cache使用

缓存,在我们日常开发中是必不可少的一种解决性能问题的方法。简单的说,cache 就是为了提升系统性能而开辟的一块内存空间。   缓存的主要作用是暂时在内存中保存业务系统的数据处理结果,并且等待下次访问使用。在日常开发的很多场合,由于受限于硬盘IO的性能或者我们自身业务系统的数据处理和获取可能...

2016-09-28 21:49:47

阅读数:289

评论数:0

java定时任务的三种方法

在应用里经常都有用到在后台跑定时任务的需求。举个例子,比如需要在服务后台跑一个定时任务来进行非实时计算,清除临时数据、文件等。在本文里,我会给大家介绍3种不同的实现方法: 普通thread实现TimerTask实现ScheduledExecutorService实现 普通thread ...

2016-09-28 21:35:30

阅读数:1239

评论数:0

Java 并发工具包 java.util.concurrent 使用方法

博客链接:http://blog.csdn.net/defonds/article/details/44021605/

2016-09-28 21:31:23

阅读数:236

评论数:0

java Files类和Paths类的用法

Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream; import java.nio.file.FileSystem; import java.nio.file.FileSystems; import ...

2016-09-28 21:20:22

阅读数:12328

评论数:0

Java文件IO操作应该抛弃File拥抱Paths和Files

Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream; import java.nio.file.FileSystem; import java.nio.file.FileSystems; import ...

2016-09-27 23:10:16

阅读数:1336

评论数:0

effective java(一)遇到多个构造器参数 时要考虑用构建器

当一个类的变量比较多,构造函数也比较多,用重载构造函数的方法,会导致有客户端代码比较难维护,用这种Builder构造器来实现,扩展性好,便于维护。 /** * Created by wzj on 2016/9/11. */ public class BuilderMode { pri...

2016-09-11 22:28:17

阅读数:262

评论数:0

解压Zip文件出现IllegalArgumentException错误

(1)在用ZipFile解压zip文件的时候出现如下错误: (2)出现原因: 是由于zip包里面有中文名称的文件。 (3)解决办法 在new ZipFile的时候,指定GBK编码方式。 File zipFile = new File("d:/资料...

2016-09-09 22:06:15

阅读数:298

评论数:0

Java解压zip文件

(1)代码实现 import java.io.*; import java.nio.charset.Charset; import java.util.Enumeration; import java.util.zip.ZipEntry; import java.util.zip.ZipFile...

2016-09-09 21:59:46

阅读数:745

评论数:0

java synchronized详解

记下来,很重要。 Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。      一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线...

2016-07-10 14:30:00

阅读数:236

评论数:0

Java finalize方法使用

《JAVA编程思想》: Java提供finalize()方法,垃圾回收器准备释放内存的时候,会先调用finalize()。           (1).对象不一定会被回收。        (2).垃圾回收不是析构函数。        (3).垃圾回收只与内存有关。  ...

2016-07-10 10:33:53

阅读数:984

评论数:0

Java 按行读取文件

FileInputStream 是以流的方式读取文件的。  java.io.BufferedReader和java.io.BufferedWriter类各拥有8192字符的缓冲区。当BufferedReader在读取文本文件时,会先尽量从文件中读入字符数据并置入缓冲区,而之后若使用read()方...

2016-05-22 21:20:15

阅读数:17224

评论数:0

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