自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (2)
  • 收藏
  • 关注

原创 Semaphore概念及使用场景举例

信号量Semaphore 是JDK1.5的 java.util.concurrent 并发包中提供的一个并发工具类。 所谓 Semaphore 即 信号量 的意思。 这个叫法并不能很好地表示它的作用,更形象的说法应该是 许可证管理器 。 Semaphore 是一个计数信号量。 从概念上将,Semaphore 包含一组许可证。 如果有需要的话,每个 acquire() 方法都会阻...

2020-01-08 14:12:26 735

原创 CyclicBarrier概念及使用场景举例

循环屏障*——await() 在CyclicBarrier上进行阻塞等待,直到发生以下情形之一: 在CyclicBarrier上等待的线程数量达到parties,则所有线程被释放,继续执行。 当前线程被中断,则抛出InterruptedException异常,并停止等待,继续执行。 其他等待的线程被中断,则当前线程抛出BrokenBarrierException异常,并停止等待,继...

2020-01-08 14:09:29 287

原创 CountDownLatch概念及使用场景举例

原理countDownLatch是在java1.5被引入,跟它一起被引入的工具类还有CyclicBarrier、Semaphore、concurrentHashMap和BlockingQueue。存在于java.util.cucurrent包下。countDownLatch这个类使一个线程等待其他线程各自执行完毕后再执行。是通过一个计数器来实现的,计数器的初始值是线程的数量。每当一个线程执...

2020-01-08 14:06:43 214

原创 服务器监控系统

服务器监控前言需求服务器监控应用监控管理员维护设计系统架构设计重点端口下发服务器监控指标可配置Shell执行及数据解析数据推送及接收解析入库历史数据备份总结前言最近需要开发一个监控项目,主要用于监控服务器的各项硬件指标,以及应用的状态(只需要确认应用是否存活),到了这个阶段也希望自己能静下心来总结一下。需求服务器监控服务器监控目前只需要监控起CPU、DISK和RAM的使用情况,本可以ja...

2019-11-09 11:17:09 1094

原创 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...

2019-10-10 09:40:04 1703

原创 Redis-发布/订阅实现

模式描述Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 客户端可以订阅任意数量的频道。代码描述Test.java 为入口,SubThread 为调用订阅的线程类,Publish 用于发布消息,Subscribe 重写了JedisPubSub 的方法。Test.javapackage PubSub;import...

2019-06-04 17:47:21 244

原创 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...

2019-06-04 17:32:24 171

原创 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...

2019-06-04 17:28:16 120

原创 【年底总结】一丝不“狗”,“猪”事顺利

元旦过后第一天上班,偷个闲对过去做一个总结吧。

2019-01-02 15:15:29 212

原创 基于PDFJS方案的PDF文档在线预览实现

使用背景能够实现文档预览的方法有很多,在之前的一个项目中集成了微软的Office Web Apps作为文档在线预览的解决方案。期间的坑踩了不少,比方说域名、端口等等。最重要的是在集成交付之后,发现移动端预览PDF文档时出现了禁止预览的提示。。。后查阅OWA服务相关接口后发现其并没有提供移动端的PDF预览接口。后来,便决定将移动端PDF预览需求独立出来使用PDF.JS加以实现。注意事项pdf....

2018-11-16 13:23:15 1071

原创 1024

1024节日快乐

2018-10-24 14:09:44 7156 1

原创 SpringCloud(3) 集成Hystrix实现服务容错和服务降级

SpringCloud集成Hystrix实现服务容错和服务降级###SpringBoot版本2.0.5什么是Hystrix在分布式环境中,许多服务依赖项中的一些将不可避免地失败。Hystrix是一个库,通过添加延迟容差和容错逻辑来帮助您控制这些分布式服务之间的交互。Hystrix通过隔离服务之间的访问点,停止其间的级联故障以及提供回退选项,从而提高系统的整体弹性。如何使用Hystrix...

2018-10-23 09:29:49 235

原创 SpringCloud(2) 集成Feign实现分布式效果和客户端负载均衡

SpringCloud集成Feign实现分布式效果和客户端负载均衡###SpringBoot版本 2.0.5.RELEASE什么是FeignFeign 是一个声明web服务客户端,这便得编写web服务客户端更容易,使用Feign 创建一个接口并对它进行注解,它具有可插拔的注解支持包括Feign注解与JAX-RS注解,Feign还支持可插拔的编码器与解码器,Spring Cloud 增加了对 ...

2018-10-23 09:28:17 526

原创 SpringCloud(1) Eureka注册中心 —— 服务发现和服务注册

SpringBoot 2.0+SpringCloud Eureka注册中心 —— 服务发现和服务注册**服务发现:**服务发现是微服务基础架构的关键原则之一。试图着手配置每个客户端或某种格式的约定可以说是非常困难的和非常脆弱的。Eureka是Netflix服务发现的一种服务和客户端。这种服务是可以被高可用性配置的和部署,并且在注册的服务当中,每个服务的状态可以互相复制给彼此。**服务注册:*...

2018-10-23 09:26:50 198

原创 SpringBoot入门(二)

**Spring Boot整合JPA及事务控制实现数据库读写操作**JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。1、首先引入jpa、mysql的maven依赖。 <dependency> <groupId>org.springf...

2018-09-20 13:26:15 125

原创 SpingBoot入门(一)

SpringBoot简单搭建我的第一个SpringBoot项目1、登录https://start.spring.io/页面,选择版本号、填写项目名等信息,添加基础依赖,即可构建项目。这里由于只需要最基础的maven项目,所以在Dependencies栏输入web即可。构建完成后为一个zip包。2、解压zip包得到项目文件夹,在IDE中导入为maven项目即可。3、关注xxxAp...

2018-09-20 13:20:39 308

原创 JS实现AJAX文档上传时显示loading效果

在使用AJAX上传文档时,经常会碰到一些较大的文件。如果不进行处理,在点击上传之后,页面没有任何的提示,会误导使用者去点击更多次。如果系统没有做过防止重复提交的处理的话,就会出现问题;且几遍做了方重复提交的处理,没有任何信息的提示对于用户而言也是不合理的。因此,在很多场景都会用到loading的动画效果。 以下简单的例子来说明这一方案。JSP<div class="commit-b...

2018-08-20 19:15:38 3758

原创 简单的数据库造数据方法

public class Snippet { public static void main(String[] args) { try { String url = "数据库URL"; // orcl为数据库的SID String user = "数据库用户名"; String pas...

2018-08-20 18:58:54 6942 1

原创 两台虚拟机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...

2018-06-27 16:03:51 1134

原创 多线程1-多线程技能

多线程学习多线程的实现主要两种范式:继承Thread类;实现Runnable接口。 本质上,Thread类也是实现了Runnable接口。但是由于JAVA的单继承原因,通过Thread实现多线程会无法继承其他类,所以可以使用实现Runnable接口的方式达到目的。1、线程的运行是无序的,CPU以不确定的方式运行子任务,即线程。如果在同一代码块启动多个线程,其在代码块中的start顺序...

2018-06-25 21:33:42 209

原创 多线程5- 定时器Timer

JDK库中Timer类主要负责设计任务的功能,也就是指定任务在某一时间点执行。封装任务的类是TimerTask类。验证Timer对象的schedule(TimerTask task,Date date)方法工程代码如下package Timer;import java.text.ParseException;import java.text.SimpleDateFormat;...

2018-05-18 15:54:13 330

原创 多线程4-Lock的使用

之前学习了通过synchronized关键字实现线程同步效果。除此之外,通过Lock对象来实现同步效果。知识点1- ReentrantLock类的使用 2- ReentrantReadWriteLock类的使用ReentrantLock类案例说明ReentrantLock可实现线程同步效果。运行类:package ReentrantLock_part1;...

2018-05-18 10:20:23 1260

原创 JVM概念和GC相关

JVM堆、栈、方法区、常量区四种引用状态1- 强引用大部分引用都是强引用,都是不可缺失的引用。该类引用不会被回收。2- 软引用当内存足够时不会被回收,内存不足时会被回收3- 弱引用弱引用对象一旦被发现就会被回收4- 虚引用虚引用不能决定对象的生命周期,若对象只存在虚引用,随时都会被回收。常见GC算法标记-清除算法先标记需要清除的对象,标记...

2018-05-17 10:16:24 169

原创 多线程3-线程间通信

线程间通信等待/通知机制(wait / notify)- 这两种方法都要在同步代码块或同步方法中调用。- 都需要先获得对象级别的锁。- 只有两个方法的对象锁一致,即“对象监视器”一致,再能通过notify方法通知到执行wait方法的线程继续执行。- 使用wait方法后,该线程会释放对象锁,并进入阻塞队列等待被唤醒。- notify方法唤醒wait方法后,该线程进入就绪队列,但是...

2018-05-16 14:32:22 194

原创 多线程2-对象及实例变量的并发访问

10.8.206.1 – 10.8.206.128对象及实例变量的并发访问。所谓实例变量是指一个对象的属性。多线程在访问同一个对象的实例变量时,会出现“非线程安全问题”。多线程在访问局部变量是线程安全的。不应该在各个线程中new出对象,一是不符合生产场景(使用场景都是对同一个对象进行并发处理,哪里会有在开多线程的时候重新在线程New出当前使用的对象的),二是没有意义(new出...

2018-05-16 14:20:17 401

原创 HTML转PDF需要的依赖

之前写过maven依赖下的HTML转PDF方案。采用的是flying-saucer。 当时的maven依赖如下<dependency> <groupId>org.xhtmlrenderer</groupId> <artifactId>flying-saucer-pdf</artifactId&amp

2018-05-14 14:05:22 997

原创 ExtJS整合Echarts实现图表分析

ExtJS整合Echarts实例流程:ExtJS通过AJAX请求到后台,后台组装数据并返回,在view层将返回的数据填入echarts相应的data中,就可以显示了。Demo1:柱状图bar查阅Echarts官网例子可得一下代码option = { xAxis: { type: 'category', data: ['Mon', 'T...

2018-03-29 15:51:19 2119

原创 使用JAVA向指定的手机发送指定短信

我这里使用的是httpclient技术+第三方运营商SMS短信服务结合 首先maven配置<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifa

2018-03-07 10:45:41 1834

原创 解决ExtJS5中selection无法选中记录的经验

最近在使用ExtJS5,在使用grid选中数据操作时,发现记录一直是NULL,查阅了各种资料和现有工程,无果。请教大牛,最后解决问题,为了防止在之后出现这种情况,同时给有相同困惑的童鞋一些启示,就再次记录一下。首先,要选中一条记录,需要在grid插件上绑定selection:{‘selItem’}这个属性。配置该选项之后,在点击数据时,会把该条记录赋值给selItem这个变量(姑且理解为变量)...

2018-03-02 15:45:41 378

原创 JAVA实现HTML文档转PDF格式

这是在我之前写的扒取网页源码在本地生成html文档之后的新需求。 就是用户的需求变了,除了html,他们还需要pdf文档。 于是开始百度有那些方法,其实实现的方法有很多:itext、flying-saucer、wkhtmltopdf等等,其中itext对css等的支持不够、wkhtmltopdf需要下载额外的exe工具,在我的使用场景里,采用了flying-saucer方式。MAVEN...

2018-01-26 15:54:46 1623

原创 Linux虚拟机扩展磁盘空间

在VMware Workstation Pro 新建了虚拟机,需要进行扩容操作。1-右键对应虚拟机,进入设置,进入硬件页,选择硬盘,点击右边的扩展按钮,选择需要的大小,保存。这时在虚拟机状态栏中可以看到大小已经变了,但是注意,并没有结束,因为还没有给扩充的空间分区,没有mount,所以实际的磁盘大小还是没有变。 可以使用命令行 df -h 查看。 所以还要接着干。2-root身份登

2018-01-17 14:07:16 1033

原创 JAVA远程控制Linux服务器相关服务开关等操作

MAVEN依赖 ch.ethz.ganymed ganymed-ssh2 262代码package test;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;

2018-01-05 14:14:48 1451

原创 使用IE的OBJECT组件组装模板和数据出错

之前尝试着用了htmlunit爬取了js执行之后的页面,后来又遇到了一个大坑。 需求是,后台在使用htmlunit访问对应页面,在页面使用IE的OBJECT组件完成数据和模板的组装后返回特迷案在本地生成HTML文件,其中模板和数据都是在使用htmlunit时作为参数传入页面的。组件代码<OBJECT id="preview" classid="clsid:DD890748-A58

2018-01-04 11:06:39 555

原创 htmlunit扒取JS加载之后的网页源码(2)——解决带参、中文乱码和转义问题

今天继续来说昨天的话题——htmlunit扒取JS加载之后的网页源码首先纠正昨天的一个错误:原文:“而htmlunit只能返回URL对应的页面,所以我无法将htmlunit的URL指向SpringMVC的controller” 这是错误的,htmlunit可以模拟浏览器运行,也就是说它可以按controller返回的view经试图解析到达对应的页面并返回页面信息。 昨天代码导致这个问题的原因在c

2017-12-27 15:41:32 2482 1

原创 htmlunit扒取JS加载之后的网页源码(1)

HTMLUnit其实就是一个用JAVA实现的无窗口的浏览器,可以很好的分析页面上的DOM元素,可以模拟浏览器的所有行为。多用于自动化测试。HTMLUnit需要很多的jar包支持。所以推荐maven项目布置。下面介绍简单的用法:final WebClient webClient=new WebClient(BrowserVersion.CHROME); String url2 =...

2017-12-26 18:57:18 3678

原创 HTTPClient扒取网页源码

最近公司新需求,关于后台扒取对应URL网页的参数,在本地生成HTML文档的。所以着手看了一些这方面的东西,都挺浅的,只是对这段时间的学习做个总结。HTTPClient最先上手的是HTTPClient。HTTPClient实现了所有http的方法,自然包括了POST和GET两种了。GET方法GET方法主要包含了6个步骤1. 创建 HttpClient 的实例2. 创建某种连接方法的实例,在这里是Ge

2017-12-26 18:54:20 2095

原创 ExtJS5 实现树形菜单

首先利用sencha建立extjs的工程,然后是对页面顶部和底部布局的添加以及按钮的美化,因为只要记录的是菜单的生成,就不记录了。具体工程我会上传,因为是自己练练手的东西,所以写的很杂。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~接下来开始建我们的树形菜单。首先在mainmodel.js的data中增加数据。NavigationMenu : [{

2017-12-13 18:56:04 1402

原创 PowerDesigner逆向工程导出oracle表结构 若干问题

这是我在实际操作中碰到的一些问题。首先连接步骤:1、使用powerDesigner: File-&gt;New Model-&gt;ModelTypes-&gt;Physical Data Model-&gt;Physical Diagram新建模型。 2、Database-&gt;configure connections,在ODBC Machine DataSources下 Add Data Sources,选择系统数据源

2017-12-08 14:03:22 251

原创 本地机访问虚拟机连接不上问题

问题描述:虚拟机部署了tomcat服务器,在虚拟机上浏览器打开没问题,本地与虚拟机ping能ping通,但是访问服务器上项目出错。防火墙和端口号均排查,与防火墙和端口号无关。 原因:本地机和虚拟机不再同一网段。 解决方案:虚拟机设置-&gt;网络适配器-&gt;网络连接设置为桥接模式并勾选复制物理网络链接状态。保存即可

2017-12-08 13:44:06 6995

原创 VMware Workstation Pro 下安装Liunx系统

1、 打开VMware Workstation Pro ,选择创建新的虚拟机。 2、 得到新建虚拟机向导,选择典型类型配置,进入下一步。 3、 选择映像文件安装,点击浏览,选择镜像文件, 4、 填写系统的相关信息。 5、 命名虚拟机操作并选择安装路径。 6、 配置虚拟机容量 7、 完成虚拟机配置。 8、 显示安装成功。 9、 登录系统10、 简单指令 1)、ls

2017-12-08 13:35:30 373

全局索引Solr介绍及资源下载

包含solr介绍、全局索引介绍、ik分词器安装包、solr安装包、及各个部分的安装教程。

2018-06-27

ExtJS5树形菜单

PS:之后的功能设计中,会发现很多的功能都是重复出现的,就可以考虑建立视图时通过继承的方式来实现,而不需要过多的重复。

2017-12-13

空空如也

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

TA关注的人

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