自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot使用WebSocket实现服务端推送--集群实现(2)

书接上文,本文介绍了一种实现集群管理和消息传送方式。在集群模式情况下,一般是Nginx反向代理到多台Tomcat或者SLB代理到多台Tomcat的方式,怎么实现给某个人推送消息?比如WebSocket1连接到Tomcat1,但是在Tomcat2需要给WebSocket1发送消息,怎么办?一般的想法是像httpsession的集群处理方式一样,利用一个中间件Redis来保存session即可。但...

2019-07-27 19:50:19 5245 1

原创 cron(一)根据cron表达式计算每天有哪些执行时刻

参见http://gitee.com/xxssyyyyssxx/cron-hms 我们项目中一般会有很多的定时任务,我们怎么知道这些定时任务是否正常执行了呢?一个基本的想法是,在任务执行前保存一条记录,任务执行后更新此记录的结束时间和标记,异常的时候记录失败标记和异常信息,然后管理员每天登录的时候检查每个任务是否正常执行。如果记录与设置的执行时刻点匹配,说明任务正常执行...

2019-07-27 19:50:10 12372 2

原创 cron(二)根据cron表达式计算给定时间的下一个执行时间

参见http://gitee.com/xxssyyyyssxx/cron-hms书接上一篇,根据cron表达式切割计算每个域的执行点,可以计算出给定时间的下一个执行时间。思路是:1、找到所有时分秒的组合并按照时分秒排序2、给定的时分秒在以上集合之前、之后处理3、给定时时分秒在以上集合中找到一个最小的位置4、day+1循环直到找到满足月、星期的那一天public class ...

2019-07-27 19:49:56 6179 5

原创 一个通用的Json解析框架接口设计(一)-接口设计

我们项目中可能会用到许多的json框架,Fastjson、jackson、Gson、orgjson、json-lib,其实现方式各不相同,接口Api就不一样,我们想换一个json框架改动的地方就会很多。参考SLF4J的思想,我统一了json框架的调用方式。https://gitee.com/xxssyyyyssxx/json-common首先定义了顶层的json接口,可以代表jsonobj...

2019-07-27 19:48:24 5809

原创 一个通用的Json解析框架接口设计(二)- 实现

https://gitee.com/xxssyyyyssxx/Json-fastjsonhttps://gitee.com/xxssyyyyssxx/Json-orgJsonhttps://gitee.com/xxssyyyyssxx/Json-Gsonhttps://gitee.com/xxssyyyyssxx/Json-Jacksonhttps://gitee.com/xxss...

2019-07-27 19:48:00 1962 2

原创 一个http请求工具类的接口化(接口设计)

https://gitee.com/xxssyyyyssxx/httpclienthttps://gitee.com/xxssyyyyssxx/httpclient-interfacing模块化处理之后的,更清晰我们项目中可能会使用很多的http请求的库,比如URLConnection、ApacheClient、OkHttp库等。每个库的操作方式都不一样,这是一个巨大的困扰。如果需要换...

2019-07-27 19:46:24 2947

原创 一个http请求工具类的接口化(多种实现)

针对上一篇文章的接口设计,提供了三种实现URLConnection、ApacheHttpClient、OkHttp3。现给出三种实现的继承树。HTTPURLConnectionApacheHttpOkHttp3首先每种实现都需要实现模板方法HttpTemplate。URLConnection:package cn.zytx.common.http.base...

2019-07-27 19:45:58 3985 4

原创 Base64的编解码

Base64编码是将字节数组编码为可以打印的字符数组,解码是将Base64的字符数组还原为原字节数组。1.8之前,我们一般可以使用 sun.misc.BASE64Encoder和sun.misc.BASE64Decoder来进行Base64的编解码,但是这个API是sun公司的专用API,可能在未来发行版中删除,一般在IDE中都有警告或者报错,编译的时候也会警告。所以我们一般还会使用apache...

2019-07-31 11:35:14 2312

转载 css的3种布局方式

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。1.文档流布局方式,这是最基本的布局方式,就是按照文档顺序一个一个地显示,块元素独占一行,内联元素共享一行。2.浮动布局方式,某个元素浮动之后,其后面的元素就当其不存在而占用其原来的地方,按照原来文档流布局方式布局。...

2019-07-27 20:01:24 6955 2

转载 JDBC:大数据量插入的三种方法比较

测试的会后使用Oracle,MySQL效果不是很明显向Oracle 的 customers 数据表中插入 10 万条记录测试如何插入, 用时最短.@Test public void testBatch(){ Connection connection = null; PreparedStatement preparedStatement = ...

2019-07-27 20:01:17 6486 2

原创 JasperReport:几个莫名其妙的问题的解决

JasperReport各种莫名奇妙问题的解决JasperReportC/S报表struts2struts2-jasperreport-plugin也许你不曾遇到如题问题,那恭喜你,但你是否会疑惑为何我没有遇到而你们却遇到这种问题呢,我们可都是应用的struts2框架哦!!!是啊,为什么呢?有兴趣的不妨看看这篇博文http://peterliuye.javaeye.com...

2019-07-27 20:01:10 7286 3

原创 一个数据采集系统的设计及重要点

近日完成了一个泥浆压力信号数据采集的系统方案,采集频率设置为100Hz,每分钟采集一次,每次采集5s,需要设计上位机与下位机之间的通信协议(比较简单,勿喷)。上位机采用java语言,因为对java比较熟悉。开始从淘宝买来了采集板,自己编写上位机软件(使用jfreechart),采用轮询的方式(上位机发送命令读取一个当前数据),做不到100Hz的采集频率,可能是由于串口通信速率和稳...

2019-07-27 20:00:52 8700 5

转载 自由软件、开源软件、免费软件之间的区别

一。好汉一问:什么是开源软件?什么是自由软件?他们就是免费软件? 很多人经常把开源软件和自由软件混为一谈,也常常会有人把开源软件和免费软件这两个概念混淆在一起,其实当我第一此站在HUSA的讲台上的时候,自己对开源的了解,也只是狭隘的定位为:免费的,公开源代码的。也难怪会会被下面的高人嘲笑自己对开源的理解太肤浅了。 好啦,下面先一一给出他们的定义然后在定义中找出他们之间的差别...

2019-07-27 20:00:29 24446 1

转载 jQuery :10款优秀的文件管理插件

10款优秀的文件管理插件,这些插件基于jQuery、AJAX和PHP,你可以轻松进行定制并加入到自己的项目中。通过它们,你和用户可以通过浏览器来预览、上传、修改文件和文件夹。1. elFinder基于web的简单文件管理器。源码 + 演示2. jQuery File Tree一个基于jQuery的、可配置的AJAX文件浏览插件。你最少只需一行JavaScript代码,即可创建...

2019-07-27 20:00:07 9534 1

转载 EJB3.0入门

Enterprice JavaBeans是一个用于分布式业务应用的标准服务端组件模型。采用Enterprice JavaBeans架构编写的应用是可伸缩的、事务性的、多用户安全的。采用ejb编写的这些应用,可以部署在任何支持Enterprice JavaBeans规范的服务器平台,如jboss、weblogic等。EJB实际上是用于编写业务层代码。我们知道一个基于MVC结构的应用应包...

2019-07-27 20:00:00 5171 1

转载 SVN:使用命令行模式访问SVN服务器

1.1检出①首先进入自己的工作目录,例如:D:\DevWorkSpace\SVNSpace②运行svn checkout命令,命令格式如下 格式 svn checkout svn://SVN服务器主机地址/具体仓库目录 保存检出内容的目录 举例 svn checkout svn://localhos...

2019-07-27 19:59:48 13772

转载 POI:创建工作簿、sheet页、Row、Cell

public static void main(String[] args) throws Exception { Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿 FileOutputStream fileOut=new FileOutputStream("c:\\用Poi搞出来的工作簿.xls"); wb....

2019-07-27 19:59:24 14215 1

转载 WebService:跟孔浩学习(契约优先、Schema、WSDL、SOAP、用户管理小系统)

异构平台之间的交互XML (DTDàSchema—>Stax(XStream)、SAX、Dom4J、PULL) JAXBXStream和Jackson完成Json和java的转化SOAPJax-ws(java api xml webservice)CXFRest Axis Metro服务端:SEI:Service Endpoint Inte...

2019-07-27 19:59:15 6363 3

转载 WebService:发布服务到Tomcat

在Tomcat中发布Webservice1, 将wsdl文件夹考入WEB-INF中2, 实现类中的wsdlLocation修改3, 在WEB-INF中添加一个sun-jaxws.xml文件<?xml version="1.0"encoding="UTF-8"?><endpointsxmlns="http://java.sun.com/xml/ns/jax...

2019-07-27 19:59:06 7767

转载 XML:Schema、三种编写Schema的方式

针对DTD文件的不足之处:(不能出现相同名称的元素,DTD的语法不是xml的语法)出现的Schema,需要使用什么命名空间的东西就先引入,使用xmlns,后面加后缀,不加就不用后缀定义Schema文件,后缀名为xsd引入XMLSchema那个命名空间,你就可以使用schema、targetNamespace等元素了,它的定义文...

2019-07-27 19:58:57 20135 3

转载 邮件开发:电子邮件的传输过程、各种协议的说明

客户端软件向SMTP服务器发送邮件的时候,需要提供Base64编码过后的认证(程序中认证和OutLook中设置需要认证才能发送出去),而SMTP服务器之间发送邮件的时候不需要认证,只需要根据邮件地址@后面的内容(比如sina.com)在DNS服务器中查询到sina.com的SMTP服务器地址【命令行的命令是nslookup】就可以直接发送了[DNS反向解析],我们发送...

2019-07-27 19:58:48 10598

转载 邮件开发:一些常见邮箱的POP3及SMTP服务器地址

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。Sina邮箱:pop.sina.com.cn(免费)/smtp.sina.com.cnpop3.vip.sina.com(收费)/smtp.vip.sina.comSohu邮箱:pop3.sohu.com/smtp.s...

2019-07-27 19:58:29 177761

原创 微信公众号开发(一):搭建开发环境

微信作为移动互联网的第一张门票,是我们理解和连接世界的一条很好的路径,是我们在移动互联网时代的ID。而微信公众号可以建立起一对多的较强的服务与用户之间的连接,公众号分为订阅号、服务号、企业号三种,提供不同的侧重点:订阅号每天推送,服务号一个月能推送一次。我在业余时间开发了一个微信公众号JavaDeveloper,实现的功能包括历史上的今天、发送来QQ表情返回原来的QQ表情、搜索歌曲、翻...

2019-07-27 19:57:53 4792 1

原创 Linux曲径通幽:文件共享(FTP、Samba、NFS、SCP、RSYNC)

FTP设置客户端开机自动挂载SCPSambaSamba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印...

2019-07-27 19:57:27 5444

原创 页面超时跳转到登录页面被框架页面嵌套的问题

我们在做很多基于frame的页面时,一个frame里面的链接内容在另外一个frame中显示,如果页面超时我们在后台的处理基本上都是重定向到登录页面,那么此时这个登录页面就会显示在一个frame中,但是我们需要的效果是整个页面显示登录页,就需要一个很好的解决方案。我们要让页面显示在整个浏览器,需要使用js代码判断,即需要执行如下代码。if(window.top.location.href...

2019-07-27 19:57:19 6066 3

转载 JFinal和Web项目部署到Tomcat

首先明确一下 JFinal 项目是标准的 java web 项目,其部署方式与普通 java web 项目没有任何差别。Java Web 项目在 Tomcat 下部署有一些不必要的坑需要避免,以下部署以 linux 为例,windows 与此类似:1:创建一个目录: /var/www2:为将要部署的项目创建一个目录, /var/www/my_project3:将项目打成 war 包...

2019-07-27 19:57:10 5645

转载 JFinal的getModel实现方式

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。在前台小系统或者页面中FORM表单中需要提交的数据很少的时候,在后台接受这些参数也无可厚非,不过等一个系统做完以后,我们突然发现,我们花了很多的时间去接受参数,做的多了,就会突然觉得 接受参数这个东西绝对是个体力活,而且格...

2019-07-27 19:57:02 9593

原创 JFinal的validator详解和防止表单重复提交

JFinal的架构中没有专门的Validator,它的validator就是Interceptor。完全可以把它当成一个普通的Interceptor使用。例如在save方法上添加@Before({ Tx.class, SkuValidator.class }),表示它将执行Tx、SkuValidator中的public void intercept(Invocation inv) 方法,该方法...

2019-07-27 19:56:46 5800

转载 phpmyadmin,访问主页报错: Error during session start; please check your PHP and/or webserver log file and c

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。http://www.zihao123.com/1255.html部署完phpmyadmin,访问主页报错:Error during session start; please check your PHP and/...

2019-07-27 19:56:06 8987

转载 图像处理工具类、Bitmap处理、理解ThumbnailUtils

在实际项目中,我们经常会遇到处理各种各样的图片问题。比如:图片的旋转、缩放、图片格式转换、获取图片类型、验证图片大小、写入图片等。这里我们使用Java.awt.Graphics2D来实现常用图像处理的功能,形成我们的图像处理工具类。Java代码packagecom.zhangsx.util.image; importjava.util.Iterator;...

2019-07-27 19:55:56 7370

原创 Quartz的简单使用,基于1.X(一)【入门及CronTrigger】

什么是QuartzQuartz是一个完全由Java编写的开源作业调度框架,为在Java应用程序中进行作业调度提供了简单却强大的机制。Quartz允许开发人员根据时间间隔来调度作业。它实现了作业和触发器的多对多的关系,还能把多个作业与不同的触发器关联。简单地创建一个org.quarz.Job接口的Java类,Job接口包含唯一的方法:publicvoidexe...

2019-07-27 19:55:45 4253

原创 使用日本人的库QRCode编解码二维码

慕课网讲解http://www.imooc.com/learn/531首先导入其jar包。1.首先建立一个实现QRCodeImage的类/** * @FileName: QRCodeImageBean.java * @Author * @Description: * @Date 2016年7月1日 下午11:05:10 * @CopyRigh...

2019-07-27 19:55:36 7036 1

原创 使用Google的ZXing库实现编解码二维码

慕课网讲解http://www.imooc.com/learn/531导入包1.首先建立一个实现LuminanceSource的类/** * @FileName: BufferedImageLuminanceSource.java * @Author * @Description: * @Date 2016年7月1日 下午11:43:33 * @CopyRig...

2019-07-27 19:55:27 6831

转载 MySQL:关于Lock wait timeout exceeded; try restarting transaction

1、锁等待超时。是当前事务在等待其它事务释放锁资源造成的。可以找出锁资源竞争的表和语句,优化你的SQL,创建索引等,如果还是不行,可以适当减少并发线程数。2、你的事务在等待给某个表加锁时超时了,估计是表正被另的进程锁住一直没有释放。可以用 SHOW INNODB STATUS/G; 看一下锁的情况。3、搜索解决 之道在管理 节点的[ndbd default]区加:Transacti...

2019-07-27 19:55:18 7552

转载 CSS3选择器:属性、:root、:not、:empty、:target、first-child、last-child....

属性、:root、:not、:empty、:target、first-child、last-child、:nth-child(n)、:nth-last-child(n)、:first-of-type、:nth-of-type(n)、:last-of-type、:nth-last-of-type(n)、:only-child、:only-of-type、:enabled、 :disabled、:ch...

2019-07-27 19:55:07 11320 2

原创 Vertx和Jersey集成使用

为了更好地解耦和提高性能,一般将工程的接口部分剥离出来形成一个单独的工程,这样不仅能提高性能,增强可维护性,并且在后台工程宕掉的话对客户端接口的影响较小。公司使用了Vertx和Jersey,Vert.x是一个基于JVM、轻量级、高性能的应用平台,非常适用于最新的移动端后台、互联网、企业应用架构。Vert.x基于全异步Java服务器Netty,并扩展出了很多有用的特性;Jersey RESTfu...

2019-07-27 19:52:11 5183 1

原创 Log4j记录日志到数据库的一个实例

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。log4j的配置#log4j.rootLogger=error,stdout,info,debug,errorlog4j.rootCategory=info,stdout,databaselog4j....

2019-07-27 19:52:02 9872 5

原创 判断文件类型,非后缀名的方式

上传文件如果不做好安全控制的话,攻击者很有可能上传一些恶意攻击脚本,然后再执行,达到不可告人的目的。于是我们需要判断文件的类型,通常情况下我们只是判断了文件的后缀名,根据文件的后缀名的白名单和黑名单来过滤。这种方式非常不可靠,因为后缀名完全可以伪造。例如exe的伪造成jpg。 通过文件内容的判断文件的类型是目前最可靠的,因为一般根据文件的开头一些字节的特征就能判断这个文件的...

2019-07-27 19:51:52 13108 1

转载 Redis3.0的主从、集群高可用

1.安装Redis3.0yum -y install cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make gcc-c++ libstdc++-devel tclmkdir -p /usr/local/src/rediscd /usr/local/src/rediswget http:/...

2019-07-27 19:51:42 7399 15

转载 商城项目实战21:实现图片上传功能

上文我们使用FastDFS-Client进行了简单的文件上传操作测试,淘淘商城项目中添加商品时上传图片的功能还没实现,如下图所示。本文将花大量笔墨来教大家如何实现图片上传这个功能。我们来看下item-add.jsp页面,可以看到上传图片触发的方法是通过叫做picFileUpload的class来处理的,在<a>标签的下方是一个隐藏域,是用来接收图片上传到图片服务器的回显地址的,当我...

2019-07-27 19:51:34 5985 1

SQL组装工具类,轻松应对复杂查询条件的组装

SQL组装复杂查询条件,SELECT .. FROM .. (LEFT|RIGHT|INNER) JOIN .. ON .. WHERE .... GROUP BY .. HAVING .. ORDER BY .. LIMIT ..

2019-04-21

SQL组装工具类,轻松应对复杂条件的组装

SQL组装工具类,轻松应对复杂条件、各种SQL关键字的组装。

2018-09-04

空空如也

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

TA关注的人

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