自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 资源 (10)
  • 收藏
  • 关注

原创 netty源码分析-客户端启动

     最近的开发工作中使用到了netty,对比jdk原生的NIO写法,netty简单了很多,而且性能也是很不错,就对netty如何做到的比较感兴趣,就开始对源码进行了研究和学习。这也是我第一次比较系统的学习一种优秀框架的源代码,为了加强记忆和梳理逻辑,对这次源代码的分析做一下记录。     源代码的分析首先从下载源码开始,进入到netty的github复制地址,在git上执行git clo...

2018-08-08 22:15:29 642

原创 Jenkins使用pipeline脚本做自动化部署

项目中使用到了Jenkins打包自动发版的功能,经过几天的研究和测试终于解决。pipeline包含五个步骤,soanr监测如果出现不符合设置的规则,会自动中断,可以在sonar服务器上查看代码的问题。其中是否自动发版还可以根参数进行控制,构建结果如下:整个创建过程和pipeline脚本如下:创建任务名称,并选择流水线,点击确认完成任务的创建 配置刚创建的任务选项。 在general中添加对该项目的描述 勾选 This project is paramet...

2021-09-07 16:46:12 1612

原创 redis在java中的使用和出现的异常情况

最近项目中使用了redis数据库,由于不熟悉中间出现了很多情况,在解决过程中往往会因为解决一个地方造成好几处的错误,为了加深印象,一一记录一下。项目一开始使用的redis是别的同事安装好的,并不知道版本号,而且找不到配置文件,因为项目赶时间我们就仓促的选择了一个jedis.jar(2.1)版本和commons-pool.jar(1.6),这两个jar包在网上也很好搜到,后来根据实际情况将red

2021-09-07 16:14:34 747

原创 nginx日志切割

nginx的性能很好就是日志不给力,不能按照每天记录一个,所有的日志都在一个文件下,达到一定大小才分割,这样对于进行每天日志的分析很麻烦,nginx自身没有这种功能只能自己写个简单的shell脚本来处理这个问题脚本内容log_path=/usr/local/nginx/logs #指定日志文件要保存位置mv ${log_path}/access.log ${log_path

2021-09-07 16:13:52 133

原创 Strust2 拦截器处理返回自定义json格式数据

在使用struts2的项目中,有时需要拦截器返回自定义json格式的数据,步骤如下:1.使用json-plugin插件,2 在需要拦截的action类里声明一个要展示为json的对象,并配有set和get方法如下3 写一个异常处理拦截器,并且在该拦截器里使用反射调用该处理类的set方法,图如下:4 在struts.xml文件中配置处理拦截器,

2016-08-31 16:40:48 2781 1

原创 tomcat jvm性能调优

一直在学习和研究jvm的内存分布和垃圾回收算法及各种垃圾回收器,学过之后决定动手实践一下真实的运用到项目上。服务器信息:4核,8G内存,阿里云服务器tomcat7 ,jdk8,真实运行的项目,测试的地址包含数据库查询和网络访问压测工具:siege优化前使用tomcat对jvm内存和垃圾回收器默认设置,仅加了打印gc回收日志的信息配置,在catalina.sh最上面配置,

2016-08-02 14:38:00 4100

原创 html5 读取本地文件说明和实例

HTML5为我们提供了一种与本地文件系统交互的标准方式:File Api。HTML5访问本地文件系统时,需要先获取File对象句柄,怎么获取文件引用句柄呢?选择文件首先检测一下当前浏览器是否支持File Api:function isSupportFileApi() { if(window.File && window.Fil

2016-07-28 14:44:42 3720

原创 lucene5.5根据现有分词器改造做同义词分词器

lucene5之后版本有了较大的改动,现将lucene5的同义词分词器改造代码和方式,记录一下功能加测试的类一共6个,一一介绍一下1 同义词分词器类SameWordAnalyzer2 同义词过滤器类SameWordFilter3 根据词语获取同义词引擎接口SameWordEngine4 同义词引擎接口实现类SameWordEngineImpl5 分词器分词分析工具类 Ana

2016-04-01 09:37:21 795

原创 编写工具展示lucene分词内部分析过程

此代码工具可以展示:对应的语汇单元还有多个属性没有在代码中展示,可查看包org.apache.lucene.analysis.tokenattributes里所有的attributepackage com.liu.lucene.pro;import java.io.IOException;import java.io.Reader;import org.ap

2016-03-31 17:53:59 474

原创 lucene5.5创建索引和检索

lucene5.5 使用了java的NIO2.0,以前创建directory使用file换成了使用path,获取path的简单方法file.toPath(),上代码package com.liu.lucene.pro;import java.io.File;import java.io.FileReader;import java.io.IOException;

2016-03-31 17:41:28 3365

原创 nginx日志切割

nginx的性能很好就是日志不给力,不能按照每天记录一个,所有的日志都在一个文件下,达到一定大小才分割,这样对于进行每天日志的分析很麻烦,nginx自身没有这种功能只能自己写个简单的shell脚本来处理这个问题脚本内容log_path=/usr/local/nginx/logs #指定日志文件要保存位置mv ${log_path}/access.log ${log_pa

2016-03-29 10:23:56 333

原创 使用nginx做反向代理,后端tomcat日志获取真实ip解决方案

项目中使用了nginx和tomcat,tomcat的访问日志需要记录访问用户的真实ip而不是nginx的ip地址,通过查看tomcat的文档和nginx文档解决方案和思路如下1 我使用的是tomcat7,查看tomcat7的文档发现文档中介绍了如何获取真实ip,tomcat支持获取前端自定义的hearder在访问日志里打印出来,文档内容如下2 在前端的ngi

2016-03-25 14:43:25 609

原创 centsos 使用命令行发送邮件

1 执行命令行 which mail2 从上面的命令看,系统已经安装了mail,对些我们还需要设置一下mail,让它使用外面的邮箱进行发邮件。设置文件是 /etc/mail.rc3 我使用的是126邮件,所以设置mail使用126代理发邮件只需要在  /etc/mail.rc   最后添加两行即可,如下虽然我们设置了linux使用客户端用126的发邮

2016-03-15 10:20:21 1270

转载 javascript 获取滚动条高度+常用js页面宽度与高度

/******************** * 取窗口滚动条高度  ******************/function getScrollTop(){    var scrollTop=0;    if(document.documentElement&&document.documentElement.scrollTop)    {        scroll

2016-03-02 11:05:39 452

转载 Java IO和Java NIO在文件拷贝上的性能差异分析

1.       在JAVA传统的IO系统中,读取磁盘文件数据的过程如下:以FileInputStream类为例,该类有一个read(byte b[])方法,byte b[]是我们要存储读取到用户空间的缓冲区。参看read(byte b[])方法的源码,可知,它会在内部再调用readBytes(b, 0, b.length)方法,而且readBytes(b, 0, b.le

2016-01-25 11:36:50 665

原创 使用ScheduledExecutorService周期性的定时任务

从j2se的api文档上查看ScheduledExecutorService的方法都是推迟一段时间然后相隔一段时间之后再去执行,没有想Timer定时器一样的可以在定点时间执行的api,如果也想像Timer那样定时执行就需要对ScheduledExecutorService的方法传入参数处理一下,下面是个人使用ScheduledExecutorService做的每天凌晨3点做的定时执行任务demon

2015-12-16 21:40:08 909

原创 maven 遇到failOnMissingWebXml有关问题解决方法

使用maven创建项目时有时在pom.xml的war处出现failOnMissingWebXml的错误,根据错误提示的原因可以知道项目是web项目,打包时打成war包。如果项目里没有web.xml,在项目里添加一个web.xml,刷新一下项目,就应该没有错误,如果还有请看下面的介绍 如果你的项目在 /src/main/webapp/WEB-INF 下有web.xml,但是仍然还是报这个错误

2015-12-08 14:50:32 48269 2

原创 如何从官网下载最新的jdk API

Java最新官网JDK API文档下载连接及查找方式 连接地址:http://www.oracle.com/technetwork/java/javase/documentation/jdk8-doc-downloads-2133158.html查找方式:1 进入java官网选择Java SE,选择Downloads ,如下路径 2 进入到如下界面

2015-12-07 15:32:58 1547 1

原创 pom.xml里使用了一系列的版本的框架,配置一个版本属性,让使用版本的都引用这个属性

在pom.xml定义properties标签 UTF-8 4.2.3.RELEASE 以上内容就改成了 org.springframework spring-core ${spring.version} org.springframework spring-aop ${spring.version}确实很清

2015-12-04 16:02:30 3478

原创 maven打包去掉测试的部分pom.xml配置

[...] org.apache.maven.plugins maven-surefire-plugin 2.19 true [...]查看连接

2015-12-04 15:58:40 1219

原创 解决git上down到elipse上有时不能运行

有时从git上下载到elipse上的代码,不能运行,甚至不是java项目,里面的pom.xml也不能运行,解决方案1 在eclipse里选中当下来的项目,右键点击properties -> Project Facets,根据需要选择Facet,这样项目里面就会有jre的环境了2 选择之后项目一般会报错,需要修改项目的jre的版本 properties -> Java Compile

2015-12-04 15:56:11 480

转载 visualvm监控jvm及远程jvm监控方法

VisualVM是Sun的一个OpenJDK项目,其目的在于为Java应用创建一个整套的问题解决工具。它集成了多个JDK命令工具的一个可视化工具,它主要用来监控JVM的运行情况,可以用它来查看和浏览Heap Dump、Thread Dump、内存对象实例情况、GC执行情况、CPU消耗以及类的装载情况。 Java开发人员可以使用 VisualVM创建必要信息的日志,系统管理人员可用来监控及控制J

2015-12-01 14:03:15 763

转载 jvm参数调优,及参数配置

JAVA_OPTS='-server -Xms2560m -Xmx2560m -Xmn768m -XX:PermSize=128m -XX:MaxPermSize=256m -Xss256k  -XX:ParallelGCThreads=6 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:MaxTenuringThreshold=5 -XX:Survi

2015-12-01 09:29:45 600

转载 jmeter使用教程

查看连接 http://www.testwo.com/article/357

2015-12-01 09:25:16 527

原创 Linux系统下安装ngnix

1 安装nginx需要依赖的安装包  --1 zlib安装包 下载zlib-1.2.8.tar.gz 安装      安装步骤:1 解压文件 tar zxvf zlib-1.2.8.tar.gz  2 进入zlib-1.2.8执行./configure  3 执行 make 命令编译  4 执行 make install 安装  --2 openssl安装包 下载 open

2015-12-01 09:06:57 955

原创 Ngnix 负载均衡简单搭建

配置文件内容如下#user  nobody;worker_processes  1; #pid        logs/nginx.pid; events {    worker_connections  1024;}     http {     include       mime.types;     default_type  app

2015-12-01 09:03:12 764

转载 在RedHat 6.3下安装MySQL-server-5.6.13-1.el6.x86_64.rpm

首先下载下面三个文件:MySQL-client-5.6.13-1.el6.x86_64.rpmMySQL-devel-5.6.13-1.el6.x86_64.rpmMySQL-server-5.6.13-1.el6.x86_64.rpm然后使用root账号登陆,进行安装:1. 安装server、devel、client:1. 安装server、devel、client:rp

2015-12-01 08:55:34 822 1

原创 下载并安装redis数据库

1 到http://redis.io/download 官网下下载最新稳定的redis2 下载的redis安装包移动到要安装的位置3 解压安装包 tar zxvf redis-3.0.5.tar.gz4 进入解压后的安装目录 执行命令 make5 进入安装目录下的src目录 执行redis-server启动redis服务6 进入安装目录下的src目录 执行redis-cli启动

2015-12-01 08:48:12 346

原创 linux下安装java

1 下载linux的安装文件jdk-8u60-linux-x64.tar.gz2 将安装文件移动到要安装的目录3 解压安装的文件 命令:tar zxvf jdk-8u60-linux-x64.tar.gz4 配置环境变量,修改/etc/profile文件,在最后面添加语句export JAVA_HOME=/usr/local/javaexport JRE_HOME=${JAVA

2015-12-01 08:41:36 290

原创 redis安装在以服务形式安装在linux上

centos6.x下让redis以服务方式运行1.从官网下载redis-2.8.9.tar.gz之后,将redis解压在/usr/local下,目录是redis-2.8.9,然后按照官网给出的办法安装redis即可。2.安装完在redis-2.8.9目录下执行src/redis-server然后在另一个shell窗口执行src/redis-cli,可以正确运行。但是我们显然想将

2015-12-01 08:36:49 470

转载 jedispool 连 redis 高并发卡死 解决方案

java端在使用jedispool 连接redis的时候,在高并发的时候经常卡死,或报连接异常,JedisConnectionException,或者getResource 异常等各种问题在使用jedispool 的时候一定要注意两点1。 在获取 jedisPool和jedis的时候加上线程同步,保证不要创建过多的jedispool 和 jedis2。 用完Jedis实例后

2015-11-25 11:26:45 25384 4

原创 使用dwr3.0实现服务端向浏览器做消息推送,做滚动评论或弹幕效果,而且根据视频id做推送消息拦截功能

最近项目要实现视频播放时做弹幕和评论滚动,使用flash做sockt编程不会,就想到使用服务器消息推送做,翻找资料发现使用html5的websocket可以实现,但是ie8是不支持websocket的,最终确定使用dwr3做消息推送,普通的dwr3做消息推送会把消息推送到所有打开的页面,这样针对某一个视频的评论就会弹出到其他的视频中去,实现每个视频弹出各自的评论,就需要做dwr3的消息推送做过滤处

2015-06-17 18:29:19 1573

转载 JS生成二维码

JS生成二维码 这个例子网上很多,貌似没有logo,我在原有版本上加入了LOGO,(先感谢下作者~~)将下面的HTML代码复制下来,然后下载代码中指定的JS文件,并按规则引入,即可进行测试;js.rar 包含了所用到的所有JS,图片需要自己定位,二维码demo  一、jquery-1.10.js (这个版本可以随意更换试试,小弟没有做JQ的版

2015-06-16 14:39:22 1095

转载 web缓存

Expires / Cache-Control / Last-Modified / If-Modified-Since / ETag / If-None-Match 的区别以及使用详解为了演示体现缓存的作用,先删除所有的浏览器缓存,然后以如下四种方式访问baidu网站,期间使用Pagetest作为测试软件,这是一个搭配IE使用的软件,功能上类似HttpWatch,不过它

2015-05-20 17:06:57 327

原创 根据浏览器请求判断客户来自Pc端还是移动端 源代码

package com.jovision;import javax.servlet.http.HttpServletRequest; public class HttpRequestDeviceUtils {     /**Wap网关Via头信息中特有的描述信息*/    private static String mobileGateWayHeaders[]=new

2015-05-07 16:27:21 1238

原创 使用图片的base64编码字符串压缩图片代码

package com;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.ByteArrayInputStream;import java.io.File;import java.io.InputStream;import javax.imageio.ImageIO

2015-04-20 16:55:21 3559

原创 使用JSONObject类转换字符串含有集合类型的属性 JSON字符串转换object错误:MorphDynaBean cannot be cast to com.softright.bean.Tes

解决方法:如果转换的类中有集合,可以先定义Map classMap = new HashMap();在classMap中put你要转换的类中的集合名,像classMap.put("data", VideoStatusData.class);然后在toBean()的时候把参数加上, 像:VideoNormalData vd1 = (VideoNormalData) JSONObjec

2015-04-14 15:56:47 3171

原创 java 使用tcp协议发送json串获取服务器返回的json

package api.basic;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.InetSocketAddress;import java.net.S

2015-04-14 15:44:48 6715

原创 javaMail 发送邮件代码

package com;import java.util.Properties;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.

2015-04-10 08:14:42 484

原创 使用java发送https的请求

package api.basic;import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.URL;import java.security.cert.CertificateException;import java.util.Map;import javax.ne

2015-04-09 15:16:40 733

lucene5.5做同义词分析器

根据lucene最新版本5.5做同义词分析器,熟悉内部分析构造

2016-04-01

spring最新官方离线文档

spring最新官方离线文档文档,文档内容是spring 4.2.3的版本

2015-12-01

nginx-1.8.0安装包

nginx安装包和openssl-1.0.1e.tar.gz,pcre-8.36.tar.gz,zlib-1.2.8.tar.gz

2015-12-01

ABPlayerHTML5是一个在HTML5下的弹幕播放器(同步显示视频于评论)实现

ABPlayerHTML5是一个在HTML5下的弹幕播放器(同步显示视频于评论)实现。类似功能的播放器可以参考基于Flash的MukioPlayer和PADPlayer。 ABPlayerHTML5使用CommentCoreLibrary作为弹幕核心,可以很高程度的还原各种滚动、顶部底部、定位和定位移动弹幕,同时支持颜色、字号大小、透明度和勾边效果。 整个实现全部采取HTML5+CSS3作为基础,可以无须Flash播放器而实现视频上播放弹幕。

2015-06-25

使用javascript生成生成二维码

使用javascript生成二维码,可以自定义logo

2015-06-16

省、市、地区联动选择JS封装类

Province City Area Selector 省、市、地区联动选择JS封装类

2015-04-22

全js实现省市县联动

Province City Area Selector 省、市、地区联动选择JS封装类

2015-04-22

Java+ajax无刷新实现省市县三级联动

这是一个用ajax实现的无刷新省市县三级联动,很适合初学ajax的java实例,用的是mysql数据库,下载后解压就可以运行

2014-03-17

android 学习资料大全

不错哦,经典的开发大全,值得下载

2012-05-08

空空如也

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

TA关注的人

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