java
文章平均质量分 56
柯南与皮卡超
https://github.com/creazy-code/evangelist
展开
-
redis:01入门指南以及在springboot中使用redis
https://redis.io/download step1:参考官网的安装很简单 wget http://download.redis.io/releases/redis-5.0.6.tar.gz tar xzf redis-5.0.6.tar.gz cd redis-5.0.6 make step2:make完成之后当前目录下会有一个redis的配置文件redis.conf为了后续能在...原创 2019-11-18 19:34:19 · 209 阅读 · 0 评论 -
java多线程-(无锁)CAS算法基础
通过cas算法来控制并发级别,这种无锁的实现相比阻塞等待效率要高出很多,CAS算法的过程大致如下: CAS(V,E,N)包含这样的三个参数,V表示要更新的值,N表示新值,E表示预期值,只有当N=E时才会将值更新位N,如果N!=E则说明有其他线程更新了值,不做更新。最终会返回当前V的真实值。多线程中同时操作一个变量时,只有一个会更新成功。CAS操作之所以是线程安全的是基于CPU的cmpxchg(比...原创 2019-11-17 18:49:17 · 188 阅读 · 0 评论 -
java多线程-线程的同步
在java中要实现多线程之间的同步操作主要有如下两种方式:synchronized关键字和对象的wait()和notify()/notifyAll(); 首先来看一下synchronized关键的字的使用 作用范围: 给指定对象加锁,在进入同步代码块前需要先获得指定对象的锁 package com.ziwu.learn.thread; public class TestLock impl...原创 2019-10-27 14:30:33 · 175 阅读 · 0 评论 -
java多线程-Thread类的一些基本API
1 @Deprecated(since="1.2")Thread.stop() 该方法被声明为废弃方法,不推荐使用,该方法过于暴力,强制结束。该方法会释放它所有的监视器锁,可能会导致数据不一致的问题,举个简单的例子比如i++操作,在一个线程读取I值后被stop掉,其他线程在读取I之后取到的结果是未被写入的结果。 2Thread.sleep(long millis[,nanos]) 使当前正...原创 2019-10-23 21:29:06 · 150 阅读 · 0 评论 -
java多线程-基本的操作及状态分析
1,如何创建线程 public static void main(String[] args) { Thread thread1 = new Thread(){ @Override public void run(){ System.out.println("thread1 is run")...原创 2019-10-23 07:28:34 · 123 阅读 · 0 评论 -
java多线程-基础知识
为了很好的利用多核处理器的性能,并行开发的收益也随之越来越高,为此针对多线程作了一些总结 1,临界区: 临界区指的是一个访问共用资源(例如:共用设备或是共用存储器)的程序片段,而这些共用资源又无法同时被多个线程访问的特性。当有线程进入临界区段时,其他线程或是进程必须等待。(加锁就是限制临界区的访问) 2,锁 死锁(A-B-C-D-A-B-C-D...); 活锁(面对面让路问题,通常因为处...原创 2019-10-20 22:07:52 · 240 阅读 · 0 评论 -
java 多线程之Exchanger
Exchanger不会阻塞主线程的执行 Exchanger只支持两个线程之间的数据交换 两个线程之间无论谁先到达exchange都会阻塞,然后等待另一个线程也到达exchange方法。然后交换数据后继续执行。 下面来看一个简单的例子就会使用啦 package demo01; import java.util.ArrayList; import java.util.List原创 2017-08-27 16:37:41 · 251 阅读 · 0 评论 -
java 多线程之Future与FutureTask
Future 一个接口代表一个思想:如果调用的算法返回的数据,并且后续计算与这些数据没关系的话,大可不必浪费时间等待其完成。 FutureTask 是JDK提供的一个实现类 它接收一个实现Callable接口的业务对象,通常配合线程池一起使用。 掌握思想就能够在合适的场合去正确的应用,其实并不难。下面给出简单的示例一看即懂: package demo01; import原创 2017-08-28 06:39:40 · 205 阅读 · 0 评论 -
spring boot 三分钟构建restful应用
step01: 登录spring官方构建网页:http://start.spring.io/ step02:将maven项目解压后导入eclipse如果没有安装maven 运行压缩后的文件夹中的mvnw.cmd即可自动安装(maven简单入门攻略:http://blog.csdn.net/baidu_27622303/article/details/53957075) step03原创 2017-09-10 15:38:10 · 802 阅读 · 0 评论