Harris的博客

一花一世界,一叶一菩提,一心一静思,一步一脚印

CentOS 7 使用SCP 命令进行数据迁移

1. 安装scp yum install -y openssh-clients2.命令参数OPTIONS:-v 和大多数 linux命令中的-v意思一样,用来显示进度。可以用来查看连接、认证、或是配置错误-C 使能压缩选项-P 选择端口-r 复制目录3.命令复制文件(本地>&...

2018-04-26 12:28:24

阅读数:949

评论数:0

什么是 CAS 机制?

示例程序:启动两个线程,每个线程中让静态变量count循环累加100次。[java] view plain copypublic class TestThreadAtomic {      private static Integer count = 0;      public static v...

2018-04-17 11:39:33

阅读数:41

评论数:0

Kubernetes--学习笔记-2-安装配置和服务部署

最近在学习Kubernetes,在学习过程中也踩了很多的坑,网上找了很多的资料和博客按步骤搭建总会有踩很多的坑,所有自已也将学习过程记录下了,供指点学习kubernetes(k8s)是docker容器用来编排和管理的工具我们通过kubectl向k8s Master发出指令。kubernetes M...

2018-04-16 14:29:42

阅读数:863

评论数:2

Communications link failure ,The last packet successfully received from the server was 18,903 millis

今天开发环境出现连接数据报以下错误,错误信息如下: The last packet successfully received from the server was 18,903 milliseconds ago.  The last packet sent successfully to t...

2018-04-11 15:14:49

阅读数:140

评论数:0

人生需要认真思考的一些故事

1、断箭 不相信自己的意志,永远也做不成将军。 春秋战国时代,一位父亲和他的儿子出征打战。父亲已做了将军,儿子还只是马前卒。又一阵号角吹响,战鼓雷鸣了,父亲庄严地托起一个箭囊,其中插着一只箭。父亲郑重对儿子说:“这是家袭宝箭,配带身边,力量无穷,但千万不可抽出来。”那是一个极其精美的箭囊,厚牛皮打...

2018-04-11 09:53:17

阅读数:217

评论数:0

两个线程进行数据交换的Exchanger

两个线程进行数据交换的Exchanger简介Exchanger(交换者)是一个用于线程间协作的工具类。Exchanger用于进行线程间的数据交换。它提供一个同步点,在这个同步点两个线程可以交换彼此的数据。这两个线程通过exchange方法交换数据, 如果第一个线程先执行exchange方法,它会一...

2018-04-10 17:11:54

阅读数:20

评论数:0

同步屏障CyclicBarrier

简介CyclicBarrier 的字面意思是可循环使用(Cyclic)的屏障(Barrier)。它要做的事情是,让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续干活。CyclicBarrier默认的构造方法是CyclicBar...

2018-04-10 17:05:29

阅读数:16

评论数:0

控制并发线程数的Semaphore

控制并发线程数的Semaphore简介        Semaphore(信号量)是用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理的使用公共资源。很多年以来,我都觉得从字面上很难理解Semaphore所表达的含义,只能把它比作是控制流量的红绿灯,比如XX马路要限制流量,只允许同...

2018-04-10 16:36:54

阅读数:33

评论数:0

Java阻塞队列ArrayBlockingQueue和LinkedBlockingQueue实现原理分析

Java阻塞队列ArrayBlockingQueue和LinkedBlockingQueue实现原理分析原文出处: FormatJava中的阻塞队列接口BlockingQueue继承自Queue接口。BlockingQueue接口提供了3个添加元素方法。add:添加元素到队列里,添加成功返回tru...

2018-04-10 14:29:44

阅读数:18

评论数:0

Spring事务管理(详解+实例)

这里就将书上的和网上关于事务的知识总结一下,参考的文章如下:Spring事务机制详解Spring事务配置的五种方式Spring中的事务管理实例详解1 初步理解理解事务之前,先讲一个你日常生活中最常干的事:取钱。 比如你去ATM机取1000块钱,大体有两个步骤:首先输入密码金额,银行卡扣掉1000元...

2018-04-10 14:21:53

阅读数:24

评论数:0

Java线程的5种状态及切换(透彻讲解)

Java中的线程的生命周期大体可分为5种状态。1. 新建(NEW):新创建了一个线程对象。2. 可运行(RUNNABLE):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu 的使用权 。3. 运行(RUNN...

2018-04-10 14:01:34

阅读数:31

评论数:0

理解线程池的原理

转至:https://blog.csdn.net/mine_song/article/details/70948223读完本文你将了解:什么是线程池线程池的处理流程保存待执行任务的阻塞队列创建自己的线程池JDK 提供的线程池及使用场景newFixedThreadPoolnewSingleThrea...

2018-04-10 11:54:33

阅读数:24

评论数:0

ReenTrantLock可重入锁 和synchronized的区别

ReenTrantLock可重入锁(和synchronized的区别)总结可重入性:从名字上理解,ReenTrantLock的字面意思就是再进入的锁,其实synchronized关键字所使用的锁也是可重入的,两者关于这个的区别不大。两者都是同一个线程没进入一次,锁的计数器都自增1,所以要等到锁的计...

2018-04-10 11:38:44

阅读数:29

评论数:0

ThreadLocal的一些学习理解

ThreadLocal1、 多线程同时访问统一共享属性的时候产生的线程安全问题的一种解决方案,适用于每个线程对这个共享属性的修改都不会影响到其他线程,即不需要线程间通信的这种情况;这样做是为了避免使用同步锁导致的效率问题(每个线程各创建一个共享数据的副本分别服务于各自的线程);2、 每个Threa...

2018-04-10 10:01:30

阅读数:21

评论数:0

Semaphore实现原理分析

synchronized的语义是互斥锁,就是在同一时刻,只有一个线程能获得执行代码的锁。但是现实生活中,有好多的场景,锁不止一把。比如说,又到了十一假期,买票是重点,必须圈起来。在购票大厅里,有5个售票窗口,也就是说同一时刻可以服务5个人。要实现这种业务需求,用synchronized显然不合适。...

2018-04-09 11:51:13

阅读数:32

评论数:0

Java中CountDownLatch,CyclicBarrier以及Semaphore的使用场景

1.CountDownLatchCountDownLatch一般是用于某个线程等待其他线程执行完之后,它才能执行,构造方法参数指定了计数的次数,countDown方法,当前线程调用此方法,则计数减一 ,awaint方法,调用此方法会一直阻塞当前线程,直到计时器的值为0;代码示例转至:https:/...

2018-04-08 17:28:05

阅读数:18

评论数:0

JAVA四种线程池的使用

Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。 ...

2018-04-08 17:14:05

阅读数:14

评论数:0

Linux 下启动java应用jar包的shell脚本,解决启动时间过长的问题

#!/bin/bash currenttime=$(date +%Y%m%d%H%M%S) logfile="$1_${currenttime}.log" jarfile="$1.jar" command="...

2018-04-03 10:27:39

阅读数:490

评论数:0

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