自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天空只能仰望吗?

记录工作使用到的技术

  • 博客(22)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Activiti6.0 + Spring boot 2.0.1 集成过程

序言工作流框架是每一个比较复杂的OA或者ERP系统都会用到的一套自动化工作流程的组件,主要针对于复杂的流程流转任务系统提供代码与任务解耦的解决方案!目前工作主要用到Activiti6.0,开发框架为Spring Boot 2.0.1 Release脚手架,在集成工程中踩了一些坑,特来记录完成整合流程,希望能够帮助同行道友!整合流程如下POM Jar 版本项目框架使用的Maven 管理 ...

2018-11-12 16:44:03 1837 1

转载 DelayQueue用法

我们谈一下实际的场景吧。我们在开发中,有如下场景:模拟缓存实例 a) 关闭空闲连接。服务器中,有很多客户端的连接,空闲一段时间之后需要关闭之。 b) 缓存。缓存中的对象,超过了空闲时间,需要从缓存中移出。 c) 任务超时处理。在网络协议滑动窗口请求应答式交互时,处理超时未响应的请求。一种笨笨的办法就是,使用一个后台线程,遍历所有对象,挨个检查。这种笨笨的办法简单好用,但是对象数量过多...

2018-07-27 17:34:45 2175

转载 TimeUnit用法

TimeUnit是java.util.concurrent包下面的一个类,TimeUnit提供了可读性更好的线程暂停操作,通常用来替换Thread.sleep(),在很长一段时间里Thread的sleep()方法作为暂停线程的标准方式,几乎所有Java程序员都熟悉它,事实上sleep方法本身也很常用而且出现在很多面试中。如果你已经使用过Thread.sleep(),当然我确信你这样做过,那么你一定...

2018-07-27 17:30:55 1053

转载 CyclicBarrier用法

字面意思回环栅栏,通过它可以实现让一组线程等待至某个状态之后再全部同时执行。叫做回环是因为当所有等待线程都被释放以后,CyclicBarrier可以被重用。我们暂且把这个状态就叫做barrier,当调用await()方法之后,线程就处于barrier了。CyclicBarrier类位于java.util.concurrent包下,CyclicBarrier提供2个构造器:1 pub...

2018-07-27 17:26:53 159

原创 CountDownLatch用法

CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。CountDownLatch类只提供了一个构造器:1 public CountDownLatch(int count) { }; //参数count...

2018-07-27 17:21:42 329

原创 Semaphore用法

Semaphore翻译成字面意思为 信号量,Semaphore可以控同时访问的线程个数,通过 acquire() 获取一个许可,如果没有就等待,而 release() 释放一个许可。Semaphore类位于java.util.concurrent包下,它提供了2个构造器:public Semaphore(int permits) { //参数permits表示许可数目,即...

2018-07-27 17:19:33 447 2

原创 ThreadLocal用法

维护线程封闭性一种更规范的方式是使用ThreadLocal,这个类能使线程中的某个值与保存值得对象关联起来。原理是:为个线程存有共享变量的副本,因此不会出现并发问题,保存结构是Map ,key为线程ID。示例代码:public class Test { ThreadLocal<Long> longLocal = new ThreadLocal<Long>...

2018-07-27 17:14:07 123

原创 Volatile用法

Java语言提供了一种稍弱的关键词,即Volatile变量,用来确保将变量的更新操作通知到其它线程。仅当Volatile变量能简化代码的实现以及对同步的策略的验证时,才应该使用它们。如果在验证正确性时需要对可见性进行复杂的判断,那么就不要使用Volatile变量。 正确的使用方式包括:确保它们自身的状态的可见性,确保它们所引用的状态的可见性,以及表示一些重要的程序的生命周期事件的发生(例如:...

2018-07-27 17:10:25 123

原创 Kafka单机搭建

机器规划和软件版本硬件环境:Linux centos 7.2 一台 。软件环境:jdk1.8 安装并配置好环境变量kafka_2.11-1.0.0.tarzookeeper单机安装配置完成并启动 注:可以使用kafka自带的zookeeper包启动安装步骤将需要安装的软件上传到主机 /usr/soft/目录 ,并按成解压工作;# tar -zxvf k...

2018-02-24 12:03:42 1531

原创 Zookeeper集群搭建

机器规划和软件版本硬件环境:Linux centos 7.2 三台 并且需要配置主机名称映射(/etc/hosts),同时需要开放对应防火墙端口(2181、2888、3888)。# vi /etc/hosts192.168.191.132 master192.168.191.133 slaver1192.168.191.134 slaver2软件环境:jdk1.8 安...

2018-02-24 11:52:55 120

原创 Redis单机实例搭建

搭建环境: 环境: CentOS 7.0 使用IPtable防火墙 Redis 版本: redis-3.2.6 安装源码包(目前最新稳定版本) 安装目录: /usr/local/redis 用户: rootRedis优点: 异常快速 : Redis是非常快的,每秒可以执行大约110000设置操作,81000个/每秒的读取操作。支持丰富的数据类型 : Redis支持最大多数开发人员已经知道如

2016-12-11 14:11:30 601

原创 Dubbo容错策略

我们使用Dubbo做分布式服务需要了解Dubbo服务容错策略,Dubbo官网提出总共有六种容错策略,下面将详细介绍这六种容错测试区别。Dubbo官网介绍Failover Cluster 模式1.失败自动切换,当出现失败,重试其它服务器。(缺省) 2. 通常用于读操作,但重试会带来更长延迟。 3. 可通过retries=”2”来设置重试次数(不含第一次)。Failfast

2016-12-04 15:55:47 5636 1

原创 Linux系统Mysql5.6安装

Mysql5.6数据库安装步骤://1. 下载mysql的repo源# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm//2.安装mysql-community-release-el7-5.noarch.rpm包# sudo rpm -ivh mysql-community-release-el7-5.no

2016-11-26 19:45:18 341

原创 持续集成--Hudson CI服务器搭建

开始先说段废话激励一下自己,又有好几天没有写博客了!!希望自己可以坚持下去保持持续学习积累知识的热情。搭建环境: 环境: CentOS 6.6、 JDK7、Tomcat7、 Hudson-3.2.2.war以及Apache-maven-3.0.5-bin.tar.gz。Hudson 只是一个持续集成服务器(持续集成工具), 可以方便对项目进行管理、编译、发布。 持续集成服务器是一套开发工具包括

2016-11-26 17:40:55 365

转载 CentOS 7.0,启用iptables防火墙

CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。1、关闭firewall:systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动2、安装iptables防火墙yum install iptables-services #安

2016-11-16 21:23:47 290

原创 Maven划分项目模块经验

先简单描述一个简单测试项目需求: 现需要开发一个用于管理用户信息项目(项目名为:edu),主要功能是管理系统使用用户信息(user)。划分步骤为: 1. 将项目进行划分需要详细了解项目按照垂直划分(项目大的功能需求)可以划分几个模块。 2. 将划分出来的项目进行横向划分,分别分出对应的 WEB层、Service接口层、Service接口实现层、Dao层。 3. 确定项目的 Gro

2016-11-15 21:53:28 3702

原创 Linux搭建Maven私有库

搭建环境:CentOS 6.6 Final、JDK7、Sonatype Nexus、MavenMaven私有库是类似Maven中央仓库一样用来管理很多Jar版本平台。Maven中央仓库搭建在国外,在我们天朝的“法网”下,访问国外网站有多慢,各位道兄都是知道的。 开发分布式项目使用Maven构建可以划分很多个工程,公司里面一个项目通常由一个开发团队来开发,如果使每个开发人员本地Jar都是最新版本?

2016-11-15 21:17:31 1263

原创 SVN搭建CentOS + Subversion + Apache + Jsvnadmin

Linux平台搭建SVN服务器管理项目代码。开发环境分别为:CentOS7.2操作系统。 注CentOS7.2默认firewall作为防火墙,本文改为使用iptables防火墙。Apache 的httpd服务器的主程序。Apache Subversion管理代码服务程序。Jsvnadmin3.0.5浏览器管理SVN系统才用Java开发。首先先安装Apache httpd服务器:详细安装

2016-11-07 21:08:53 493

原创 Dubbo简易监控中心安装

上一节完成了在Linux服务器上面部署Dubbo服务和批处理命令介绍,这节将介绍安装Dubbo官方提供的这个简易版监控中心,这个监控中心负责服务调用次数和调用时间的监控。虽然监控中心是官方提供简易版本,但是也基本上可以满足开发监控基本需求,Dubbo也提供了监控接口(com.alibaba.dubbo.monitor.MonitorFactory和 com.alibaba.dubbo.monito

2016-11-06 12:11:54 642

原创 linux部署dubbo服务可执行Jar和启动批处理命令编写

开发项目采用Dubbo分布式开发基本上都是Linux服务器部署项目,多个项目模块部署需要按照规范进行部署,方便项目管理以及迁移。项目模块部署规范: i1. 建立项目部署目录文件夹。通常以项目名为根节点。 i2. 二级目录为项目类型名。例如:app、service、timer、web。 i3. 三级目录为子模块项目名。自定义Dubbo服务维护的Shell脚本。脚本命名规范: /

2016-11-03 20:40:59 4409

原创 linux常用命令集合

linux CentOS 常用命令整理 和 文件基本知识文件和目录: 1. cd /home 进入 ‘/home’ 目录 2. cd .. 返回上一级目录 3.cd ../.. 返回上两级目录 4.cp -a dir1 dir2 复制一个目录(dir1)到指定目录(dir2) 5. ls

2016-11-03 11:47:16 354

原创 开启博客之旅

开启个人博客

2016-11-02 20:44:25 217

省、市、县 三级 城市 JSON格式文本数据

省、市、县 三级 城市 JSON格式文本数据

2015-09-18

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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