Semaphore概念及使用场景举例 信号量Semaphore 是JDK1.5的 java.util.concurrent 并发包中提供的一个并发工具类。 所谓 Semaphore 即 信号量 的意思。 这个叫法并不能很好地表示它的作用,更形象的说法应该是 许可证管理器 。 Semaphore 是一个计数信号量。 从概念上将,Semaphore 包含一组许可证。 如果有需要的话,每个 acquire() 方法都会阻...
CyclicBarrier概念及使用场景举例 循环屏障*——await() 在CyclicBarrier上进行阻塞等待,直到发生以下情形之一: 在CyclicBarrier上等待的线程数量达到parties,则所有线程被释放,继续执行。 当前线程被中断,则抛出InterruptedException异常,并停止等待,继续执行。 其他等待的线程被中断,则当前线程抛出BrokenBarrierException异常,并停止等待,继...
CountDownLatch概念及使用场景举例 原理countDownLatch是在java1.5被引入,跟它一起被引入的工具类还有CyclicBarrier、Semaphore、concurrentHashMap和BlockingQueue。存在于java.util.cucurrent包下。countDownLatch这个类使一个线程等待其他线程各自执行完毕后再执行。是通过一个计数器来实现的,计数器的初始值是线程的数量。每当一个线程执...
服务器监控系统 服务器监控前言需求服务器监控应用监控管理员维护设计系统架构设计重点端口下发服务器监控指标可配置Shell执行及数据解析数据推送及接收解析入库历史数据备份总结前言最近需要开发一个监控项目,主要用于监控服务器的各项硬件指标,以及应用的状态(只需要确认应用是否存活),到了这个阶段也希望自己能静下心来总结一下。需求服务器监控服务器监控目前只需要监控起CPU、DISK和RAM的使用情况,本可以ja...
JAVA获取远程Linux服务器参数信息 package com.tva.monitor.controller;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashMap;import java.util.Map;import org.springfram...
Redis-发布/订阅实现 模式描述Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 客户端可以订阅任意数量的频道。代码描述Test.java 为入口,SubThread 为调用订阅的线程类,Publish 用于发布消息,Subscribe 重写了JedisPubSub 的方法。Test.javapackage PubSub;import...
Redis基础-代码验证 **Redis基础**Redis基础见下连接:Redis基础入门验证代码块 如下package BasicCMD;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import java.uti...
Redis基础入门 JAVA 操作本地 Redis 的基本步骤part1: Jedis类 非线程安全 1- 获取 Jedis 实例 -> Jedis jedis = new Jedis(URL); //默认端口为6379 2- 操作实例part2: JedisPool类 线程安全 需要commons-pool2 的jar支持简单的命令part1: add jedis.set(key, v...
基于PDFJS方案的PDF文档在线预览实现 使用背景能够实现文档预览的方法有很多,在之前的一个项目中集成了微软的Office Web Apps作为文档在线预览的解决方案。期间的坑踩了不少,比方说域名、端口等等。最重要的是在集成交付之后,发现移动端预览PDF文档时出现了禁止预览的提示。。。后查阅OWA服务相关接口后发现其并没有提供移动端的PDF预览接口。后来,便决定将移动端PDF预览需求独立出来使用PDF.JS加以实现。注意事项pdf....
SpringCloud(3) 集成Hystrix实现服务容错和服务降级 SpringCloud集成Hystrix实现服务容错和服务降级###SpringBoot版本2.0.5什么是Hystrix在分布式环境中,许多服务依赖项中的一些将不可避免地失败。Hystrix是一个库,通过添加延迟容差和容错逻辑来帮助您控制这些分布式服务之间的交互。Hystrix通过隔离服务之间的访问点,停止其间的级联故障以及提供回退选项,从而提高系统的整体弹性。如何使用Hystrix...
SpringCloud(2) 集成Feign实现分布式效果和客户端负载均衡 SpringCloud集成Feign实现分布式效果和客户端负载均衡###SpringBoot版本 2.0.5.RELEASE什么是FeignFeign 是一个声明web服务客户端,这便得编写web服务客户端更容易,使用Feign 创建一个接口并对它进行注解,它具有可插拔的注解支持包括Feign注解与JAX-RS注解,Feign还支持可插拔的编码器与解码器,Spring Cloud 增加了对 ...
SpringCloud(1) Eureka注册中心 —— 服务发现和服务注册 SpringBoot 2.0+SpringCloud Eureka注册中心 —— 服务发现和服务注册**服务发现:**服务发现是微服务基础架构的关键原则之一。试图着手配置每个客户端或某种格式的约定可以说是非常困难的和非常脆弱的。Eureka是Netflix服务发现的一种服务和客户端。这种服务是可以被高可用性配置的和部署,并且在注册的服务当中,每个服务的状态可以互相复制给彼此。**服务注册:*...
SpringBoot入门(二) **Spring Boot整合JPA及事务控制实现数据库读写操作**JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。1、首先引入jpa、mysql的maven依赖。 <dependency> <groupId>org.springf...
SpingBoot入门(一) SpringBoot简单搭建我的第一个SpringBoot项目1、登录https://start.spring.io/页面,选择版本号、填写项目名等信息,添加基础依赖,即可构建项目。这里由于只需要最基础的maven项目,所以在Dependencies栏输入web即可。构建完成后为一个zip包。2、解压zip包得到项目文件夹,在IDE中导入为maven项目即可。3、关注xxxAp...
JS实现AJAX文档上传时显示loading效果 在使用AJAX上传文档时,经常会碰到一些较大的文件。如果不进行处理,在点击上传之后,页面没有任何的提示,会误导使用者去点击更多次。如果系统没有做过防止重复提交的处理的话,就会出现问题;且几遍做了方重复提交的处理,没有任何信息的提示对于用户而言也是不合理的。因此,在很多场景都会用到loading的动画效果。 以下简单的例子来说明这一方案。JSP<div class="commit-b...
简单的数据库造数据方法 public class Snippet { public static void main(String[] args) { try { String url = "数据库URL"; // orcl为数据库的SID String user = "数据库用户名"; String pas...
两台虚拟机IP与域名映射 需要域名通信的两台机器都需要做以下操作Linux编辑 vi /etc/hosts文件文末添加 ip 域名 如 10.81.1.12 www.baidu.comwindows编辑 C:\Windows\System32\drivers\etc下hosts文件文末添加 ip 域名 如 10.81.1.12 www.baidu.com此时IP为10.8...