自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Harris的博客

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

转载 重点问题之 HTTPS 和 TCP 协议三次握手全面解析

转载自https://www.cnblogs.com/zhuoqingsen/p/9456787.html我们的 TCP 三次握手大概是长这样:首先我们要知道握手的目的: 为了保证通讯双方建立的连接是可靠的。 同时,为了保证性能,握手的次数要求尽可能少。 那么什么才算是连接可靠?通讯双方建立的连接可靠”就是要确保双方的发送和接收功能都正常。以下图为例,在握手前...

2019-06-25 11:36:56 141

转载 spring-cloud中zuul的两种隔离机制实验

spring-cloud中zuul的两种隔离机制实验ZuulException REJECTED_SEMAPHORE_EXECUTION 是一个最近在性能测试中经常遇到的异常。查询资料发现是因为zuul默认每个路由直接用信号量做隔离,并且默认值是100,也就是当一个路由请求的信号量高于100那么就拒绝服务了,返回500。信号量隔离既然默认值太小,那么就在gateway的配置提高各个路由...

2018-08-17 14:43:33 814

原创 Centos7.4 搭建NFS网络文件系统服务

1.将服务器端和客户端,查看防火墙状态并关闭防火墙systemctl status firewalldsystemctl disable firewalldsystemctl stop firewalld2.将服务器端和客户端安装组件(nfs-utils,rpcbind) yum install -y nfs-utils rpcbind 3.在服务器端和客户端启动以上两...

2018-06-29 15:52:15 2515

转载 Docker学习总结(33)——Docker环境下搭建 MySQL 主从复制

搭建环境Centos 7.2 64位MySQL 5.7.13Docker 1.13.1接下来,我们将会在一台服务器上安装docker,并使用docker运行三个MySQL容器,分别为一主两从。安装docker执行命令[root@VM_0_17_centos ~]# yum install docker如果有提示,一路y下去安装成功启动Docker后,查看版本[root@VM_0_17_centos...

2018-06-05 13:23:12 575

原创 Spring Boot 连接MongonDB 配置和测试

        首先,先讲一下mongondb为nosql的一些特性,mongoDB 是一种文档性的数据库。先解释一下文档的数据库,即可以存放xml、json、bson类型系那个的数据。这些数据具备自述性(self-describing),呈现分层的树状数据结构。redis可以用hash存放简单关系型数据。mongoDB 存放json格式数据。适合场景:事件记录、内容管理或者博客平台,比如评论系统...

2018-06-05 13:18:01 532

原创 大数据集群搭建--1 - Centos7.4 免密登录设置

 Centos7.4 免密登录设置======================= 1. 首先准备4台虚机,列表如下:>172.20.3.85  ys01  <br>>172.20.3.84  ys02  <br>>172.20.3.83  ys03  <br>>172.20.3.82  ys04  <br> 2 在/etc/h...

2018-06-05 13:17:49 553

原创 大数据集群搭建--2 - centos7.4安装jdk1.7

 centos7.4安装jdk1.7=====================1. JDK版本    jdk版本为:jdk-7u80-linux-x64.tar.gz2. 解压jdk包   tar -zxvf jdk-7u80-linux-x64.tar.gz -C /usr/local/ys/app3. 添加环境变量    #java path export JAVA_HOME=...

2018-06-05 13:17:41 171

原创 大数据集群搭建--3 - Zookeeper集群搭建

1. 首先准备4台虚机    172.20.3.85  ys01    172.20.3.84  ys02    172.20.3.82  ys03    172.20.3.83  ys04将以上加入到/etc/hosts 中2. 安装jdk 参照 (centos7.4安装jdk1.7)3. cd 到zookeeper所存放的目录,解压包并重命名为zookeepertar -zxvf zookee...

2018-06-05 13:17:33 487

原创 Web工程内嵌Tomcat实现jar运行

# Web工程内嵌Tomcat实现jar运行自从Spring boot出来后,他的嵌入式Tomcat,Jetty容器,无需部署WAR包的方式,也是受很开发运维人员的喜爱,但是碰到旧的web项目进行部署,习惯了spring boot启动方式,还是感 觉到有点狗血的,所以如何将web工程改成java -jar xx.jar 方式启动,可以使用Embeded-Tomcat,内嵌入Tomcat来达到我们的...

2018-06-05 13:17:24 15331 1

转载 Consul文档简要整理

http://www.cnblogs.com/Summer7C/p/7327109.html什么是Consul?Consul是一个用来实现分布式系统的服务发现与配置的开源工具。他主要由多个组成部分:服务发现:客户端通过Consul提供服务,类似于API,MySQL,或者其他客户端可以使用Consul发现服务的提供者。使用类似DNS或者HTTP,应用程序和可以很轻松的发现他们依赖的服务。检查健康:C...

2018-05-15 09:56:34 308

转载 Spring Boot -- 配置文件内容加密jasypt

 使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些。打开application.properties或application.yml,比如mysql登陆密码,redis登陆密码以及第三方的密钥等等一览无余,这里介绍一个加解密组件,提高一些属性配置的安全性。    jasypt由一个国外大神写了一个springboot下的工具包,下面直接看代码...

2018-05-04 11:50:46 926

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

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

2018-04-26 12:28:24 19401 1

转载 什么是 CAS 机制?

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

2018-04-17 11:39:33 129

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

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

2018-04-16 14:29:42 3107 3

原创 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 the server was 18,901 milliseconds ago.; nested exc...

2018-04-11 15:14:49 1361

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

1、断箭 不相信自己的意志,永远也做不成将军。 春秋战国时代,一位父亲和他的儿子出征打战。父亲已做了将军,儿子还只是马前卒。又一阵号角吹响,战鼓雷鸣了,父亲庄严地托起一个箭囊,其中插着一只箭。父亲郑重对儿子说:“这是家袭宝箭,配带身边,力量无穷,但千万不可抽出来。”那是一个极其精美的箭囊,厚牛皮打制,镶着幽幽泛光的铜边儿,再看露出的箭尾。一眼便能认定用上等的孔雀羽毛制作。儿子喜上眉梢,贪婪地推想箭...

2018-04-11 09:53:17 754

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

两个线程进行数据交换的Exchanger简介Exchanger(交换者)是一个用于线程间协作的工具类。Exchanger用于进行线程间的数据交换。它提供一个同步点,在这个同步点两个线程可以交换彼此的数据。这两个线程通过exchange方法交换数据, 如果第一个线程先执行exchange方法,它会一直等待第二个线程也执行exchange,当两个线程都到达同步点时,这两个线程就可以交换数据,将本线程生...

2018-04-10 17:11:54 111

转载 同步屏障CyclicBarrier

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

2018-04-10 17:05:29 72

转载 控制并发线程数的Semaphore

控制并发线程数的Semaphore简介        Semaphore(信号量)是用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理的使用公共资源。很多年以来,我都觉得从字面上很难理解Semaphore所表达的含义,只能把它比作是控制流量的红绿灯,比如XX马路要限制流量,只允许同时有一百辆车在这条路上行使,其他的都必须在路口等待,所以前一百辆车会看到绿灯,可以开进这条马路,后面的...

2018-04-10 16:36:54 153

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

Java阻塞队列ArrayBlockingQueue和LinkedBlockingQueue实现原理分析原文出处: FormatJava中的阻塞队列接口BlockingQueue继承自Queue接口。BlockingQueue接口提供了3个添加元素方法。add:添加元素到队列里,添加成功返回true,由于容量满了添加失败会抛出IllegalStateException异常offer:添加元素到队列...

2018-04-10 14:29:44 74

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

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

2018-04-10 14:21:53 89

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

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

2018-04-10 14:01:34 123

转载 理解线程池的原理

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

2018-04-10 11:54:33 70

转载 ReenTrantLock可重入锁 和synchronized的区别

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

2018-04-10 11:38:44 235

原创 ThreadLocal的一些学习理解

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

2018-04-10 10:01:30 65

转载 Semaphore实现原理分析

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

2018-04-09 11:51:13 95

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

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

2018-04-08 17:28:05 134

转载 JAVA四种线程池的使用

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

2018-04-08 17:14:05 45

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

#!/bin/bashcurrenttime=$(date +%Y%m%d%H%M%S)logfile="$1_${currenttime}.log"jarfile="$1.jar"command="java -Duser.timezone=Asia/Shanghai -Djava.security.egd=file:/dev/./urandom -Xms128m -Xmx512m -ja...

2018-04-03 10:27:39 1600

原创 构建自已的哈希表

/** * @ClassName: HashTable * @Description: TODO * @author: huangyan * @date:2017年12月22日 下午2:20:54 */public class HashTable { private Entry[] table; private int elements; public HashTable()...

2018-03-29 17:26:58 159

转载 除了用作缓存数据,Redis还可以做这些

Redis应该说是目前最受欢迎的NoSQL数据库之一了。Redis通常被作为缓存组件,用作缓存数据。不过,除了可以缓存数据,其实Redis可以做的事还有很多。下面列举几例,供大家参考。1、最新列表例如新闻列表页面最新的新闻列表,如果总数量很大的情况下,尽量不要使用select a from A limit 10,尝试redis的 LPUSH命令构建List,一个个顺序都塞进去就可以啦。不过万一内存...

2018-03-29 15:55:31 398

原创 动态代理-JDK

Boss.javapublic interface Boss { public int discount(int size) ;}BossImpl.javapublic class BossImpl implements Boss { /* (non-Javadoc) * @param size * @return * @see com.proxy.Boss#d...

2018-03-29 11:24:24 66

原创 Kubernetes -- kuberctl运维常的一些命令

工作中运维常用到的一些kubernetes kubectl的命令,记录下来查看集群状态kubectl cluster-info 查看集群信息kubectl version 显示kube命令行及kube 服务端的版本kubectl api-versions 显示支持的API版本集合kubectl config view 显示当前kubectl配置kubectl g...

2018-03-28 12:47:20 2321 1

原创 Docker Mysql容器--开启binlog日志

        使用Docker容器也有一段时间了,主要是项目中有用到,现有需求开启用Docker容器启动的mysql数据库的binlog,以作日志记录 和数据恢复,我们了解了MySQL的binlog日志的开启方式以及binlog日志的一些原理和常用操作,我们知道,binlog有两大作用,一个是使用binlog恢复数据,另一个就是用来做主从复制。本篇笔记就是来记录如何使用开启binlog日志和做数...

2018-03-27 16:25:42 11408

原创 Docker-MySql -- 使用mysqldump 命令备份导出mysql容器中的结构数据

1.查看当前启动的mysql运行容器docker ps 2.使用以下命令备份导出数据库中的所有表结构和数据docker exec -it  mysql mysqldump -uroot -p123456 paas_portal > /cloud/sql/paas_portal.sql3.只导数据不导结构    mysqldump -t 数据库名 -uroot -p > xxx.sql...

2018-03-23 10:40:53 5108 3

原创 使用zip,unzip,操作jar包中的文件的增删改查

1.先安装 zip ,unzipyum install -y zip unzip2. 解压/cloud/paas-portal.jar 中的一个配置文件cd /cloudunzip paas-portal.jar application.yml通过vim 修改配置文件,重新压缩到jar包中,覆盖相应路径的配置文件zip paas-portal.jar application.yml 修改某目录...

2018-03-22 13:07:06 1468

原创 Centos7.4 用shell创建以日期为名的多级文件夹

脚本如下:currenttime=$(date +%Y%m%d%H%M%S);echo "current time $currenttime";currentyear=$(date +%Y);echo "current year:$currentyear";currentmonth=$(date +%m);echo "current month:$currentmonth";cu...

2018-03-20 14:32:10 2469

原创 Docker学习 -- 使用Docker 的Dockerfile构建tomcat容器,在线部署web项目

一、.使用ieda 创建一个webapp 工程 如下图:二、加入spring mvc 等一下依赖包,配置等,如下:1. 工程结构如下:2. pom.xml 文件完整如 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc...

2018-02-13 16:30:55 2271

原创 Docker学习--使用Tomcat 容器运行 Spring mvc web app

本文主要使用Spring mvc 做一个web 的demo ,使用tomcat 的容器来运行,下面开始介绍:一、 首先在自已的虚机中安装一个linux系统 ,我这里的系统是Centos7.4,安装步骤就不多讲述,请读者自行搜索,在linux 系统 中安装完后,依次执行以下命令:1. 激活网卡将ONEBOOT=no 改成 ONBOOT=yes 2.设置网络连接模式依上设置完后,执行重启网络服务sys...

2018-02-08 16:34:22 3206 1

原创 Spring Cloud - 错误信息:NUMBEROF_RETRIES_NEXTSERVER_EXCEEDED

今天在系统出现一个错误信息,如下:Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.Thu Feb 08 10:21:23 CST 2018There was an unexpected error (type=Internal...

2018-02-08 11:38:31 4818

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