java
kevin_Luan
kevin_Luan
展开
-
单元测试代码覆盖率
单元测试代码覆盖率原创 2023-02-13 22:32:27 · 498 阅读 · 0 评论 -
自定义HystrixConcurrencyStrategy
自定义HystrixConcurrencyStrategy原创 2023-02-13 21:52:14 · 1245 阅读 · 1 评论 -
java对象相互转化多种实现方式
方式一:MapStruct是一个代码生成器,它基于约定优于配置的方法,极大地简化了 Java bean 类型之间的映射实现。生成的映射代码使用普通的方法调用,因此速度快、类型安全且易于理解。官方文档https://mapstruct.org/documentation/installation/更多使用示例https://github.com/kevinLuan/mapstruct-examplesmapper-struct使用比较灵活,性能非常出色。由于它的实现是通过在开发中生成源代码的原创 2022-04-03 16:44:53 · 4442 阅读 · 0 评论 -
Memory Analyzer Mac环境分配内存
通过应用程序找到mat安装程序右键->显示包内容编辑初始化配置文件: MemoryAnalyzer.ini默认配置内容如下:(修改-Xmx最大堆内存参数即可)-startup../Eclipse/plugins/org.eclipse.equinox.launcher_1.6.200.v20210416-2027.jar--launcher.library../Eclipse/plugins/org.eclipse.equinox.launcher.cocoa.macosx原创 2022-03-17 10:30:36 · 1326 阅读 · 0 评论 -
Protocol Buffers动态解析自描述文件和Any类型
Protocol Buffers,是Google公司开发的一种数据描述语言,类似于XML能够将结构化数据序列化,可用于数据存储、通信协议等方面。定义proto文件定义:syntax = "proto3";package model;option java_package = "com.lyh.proto.entity";option java_outer_classname = "ModelOutter";message Entry { int64 id = 1; Meta me原创 2022-03-16 23:22:13 · 1201 阅读 · 0 评论 -
IP转换到int类型实现验证
今天看到一个帖子说如何将IP转换到int类型实现验证,闲来无事在家手写实现一下。public class VerifyIp { public static void main(String[] args) { //根据IP规则计算出白名单开始到结束的范围 int[] ipRange = parseIpV4Template("192.168.1.0/5"); System.out.println(String.format("ip范围:192.16原创 2022-03-05 22:07:47 · 366 阅读 · 0 评论 -
JSP自定义分页标签TAG
首先我们需要在WEB-INF/tld/目录下创建page.tld文件 1.0 1.2 page http://www.kevin.com/taglibs/page htmlPage com.lss.common.tag.PageTag JSP htmlPage Tag pageNo false true pageSiz原创 2014-07-27 21:47:50 · 5453 阅读 · 0 评论 -
图片压缩
#废话不说直接上代码import java.awt.image.BufferedImage;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.util.Iterator;import javax.imageio.IIOImage;import jav原创 2015-03-28 19:27:29 · 775 阅读 · 0 评论 -
图片增加水印,图片缩放,图片切割服务
#图片增加水印图#图片水印文字#图片原图缩放import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Image;import java.awt.image.BufferedImage;import java.io.File;import java.io.F原创 2015-03-22 16:48:45 · 1227 阅读 · 0 评论 -
Java实现大文件分割
package com.lss.common.file.partition;import java.io.File;import java.io.IOException;public abstra原创 2012-08-24 12:27:48 · 12807 阅读 · 0 评论 -
JAVA序列化和反序列化XML
package com.lss.utils;import java.beans.XMLDecoder;import java.beans.XMLEncoder;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.ByteArrayInputStream;import原创 2014-06-19 10:06:04 · 6179 阅读 · 0 评论 -
EL 表达式中自定义函数
第一步:在WEB-INF/tld/ 目录下创建一个func.tld文件如下: 1.0 func http:/www.kevin.com/taglib/func testFunction com.lss.page.function.PageFunction <!--自定义函数必须数据类型严格一致,否则将无法找到对应的方法。 如:int 和 Integ原创 2014-07-27 21:30:42 · 1150 阅读 · 0 评论 -
JSP TAG
Jsp tag 可以灵活的将公共JSP代码模块化,类似jsp:includepage="./include.jsp">jsp:include>等等。我们自定义的JSP模块代码可能在引用时会根据不同的引用场景,需要显示的内容略有不同,这时使用JSP.INCLUDE就不能满足我们的需求了。因此,我们可以使用JSP tag 的方式实现。第一步在WEB-INF/tags目录下创建 de原创 2014-07-27 21:17:46 · 1128 阅读 · 0 评论 -
jsoup解析HTML DOM
使用jsoup 解析HTML ,使用与JS操作DOM类似。实例代码:import java.io.IOException;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;public cl原创 2014-07-04 22:43:22 · 2271 阅读 · 0 评论 -
JDK自带的定时任务
import java.util.TimerTask;/** * 实现定时任务 * */public class MyTimerTask extends TimerTask { @Override public void run() { int num = 0; while (num < 3) { num++; System.out.println(num原创 2014-07-04 23:38:41 · 3636 阅读 · 0 评论 -
生成短链接
/** * 短URL生成工具 */public class ShortUrlGenerate { public static void main(String[] args) { // 长连接: http://www.kevin.com/abc.html // 生成短链接为: http://abc.cn/h1jGSC String sLongUrl = "http://www.转载 2014-07-04 23:15:34 · 7939 阅读 · 1 评论 -
Java解析XML
import java.io.File;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.util.Iterator;import org.dom4j.Document;im原创 2012-07-05 15:05:56 · 1770 阅读 · 0 评论 -
Java 动态代理实现解析
Java动态代理只能针对接口进行动态代理。如果需要对类进行实现代理可以使用:CGLIB,ASM等相关的操作字节码实现(在这里先只介绍下SUN 基于接口动态代理的实现)。代码如下:import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy原创 2014-04-06 16:53:00 · 4603 阅读 · 5 评论 -
Mysql JDBC 实现Master Slave
package com.lss.test;import java.beans.PropertyVetoException;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import com.mchange.v2.c3p0.ComboPooledDataSource;原创 2013-03-03 18:00:05 · 9463 阅读 · 2 评论 -
微信开放平台JS SDK接入sha1算法
接入微信开放平台(JS SDK)使用的参数签名算法#微信接入文档http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.htmlpackage com.util;public class SHA1 { private final int[] abcde = { 0x674转载 2015-05-31 18:57:36 · 9699 阅读 · 0 评论 -
Mybatis支持GRPC protobuf
最近公司项目rpc使用Google grpc 作为rpc框架,数据传输DTO对象统一使用proto来定义,但由于DTO层的model和DAO层的model 在很大程度上是可以复用的,所以在DAO 层也想使用proto来定义,项目中ORM框架使用到了Mybatis框架,想要在Mybatis上支持grpc proto 需要处理那些工作呢?Mapper Api 定义: int save(Prom...原创 2018-07-23 23:39:23 · 2472 阅读 · 0 评论 -
Java 函数式接口+Lambda表达式实现流式编排函数
public class Func { // 使用Lambda表达式对编写出来的代码可读性较好,毕竟程序是给人看的,给机器执行的。 public static void main(String[] args) { { // 写法一 List<String> result = Func.pageFunc(2, 10, String.clas...原创 2018-04-22 02:54:31 · 1172 阅读 · 3 评论 -
Mybatis 枚举自定义转换
定义Hander 实现import java.sql.CallableStatement;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import org.apache.ibatis.type.BaseTypeHandler;import org.apac...原创 2018-04-08 21:05:37 · 686 阅读 · 0 评论 -
JAVA 敏感词过滤
String[] keywords =new String[] { "奸","强奸", "性感", "性欲", "性爱", "欲望", "激情", "狂", "联系", "色诱", "评", "骚"};//初始化敏感词数据结构TreeNode root= TreeNode.markNode(keywords);//敏感词过滤器WordFilter filterService = new W原创 2015-11-05 18:57:05 · 1268 阅读 · 1 评论 -
Tomcat 6.x Perm区内存泄露问题
Tomcat 6.xJSP文件最后修改时间大于当前系统时间导致Perm区内存泄露问题(java Memory pool CMS Perm Gen)出现场景:由于测试业务,需要模拟跨天测试,所以通常会采用修改服务器实现,来完成测试业务,测试完成后,不会立即同步系统时间,而直接发布上线,这时问题就出现了,由于使用穿越时间打包的,所以打包的所有文件最后修改时间都穿越了。例如:今天是:原创 2015-07-22 11:19:33 · 1767 阅读 · 0 评论 -
多数据源事物处理
package com.lss.mysql.test;import javax.transaction.xa.Xid;public class MyXid implements Xid { int formatId; byte glob原创 2013-03-03 18:04:45 · 4800 阅读 · 0 评论 -
JAVA使用脚本引擎执行JS
import java.io.File;import java.lang.reflect.Field;import java.util.Arrays;import javax.script.Invocable;import javax.script.ScriptEngine;import javax.script.ScriptEngineManager;import javax.sc原创 2015-05-24 21:14:51 · 3920 阅读 · 0 评论 -
解决Maven 启动Web工程锁定CSS,JS文件问题 mvn jetty:run
1.首先找到POM中使用的Jetty.jar 我使用的6.1.10版本C:\Users\xxx\.m2\repository\org\mortbay\jetty\jetty\6.1.102.将Jetty.jar文件中 org.mortbay.jetty.webapp.webdefault.xml useFileMappedBuffer原创 2013-03-07 11:27:43 · 1847 阅读 · 0 评论 -
spring mvc view resolver
根据不同的请求后缀返回不同的View原创 2014-04-14 10:47:42 · 2325 阅读 · 0 评论 -
使用JMAP dump及分析dump文件
查看整个JVM内存状态 jmap -heap [pid]要注意的是在使用CMS GC 情况下,jmap -heap的执行有可能会导致JAVA 进程挂起查看JVM堆中对象详细占用情况jmap -histo [pid]导出整个JVM 中内存信息jmap -dump:format=b,file=文件名 [pid]jhat是sun 1.6及以上版本中自带的一个用于分析JVM 堆原创 2012-12-28 15:44:13 · 106692 阅读 · 0 评论 -
在dos命令下打jar,war,ear包
在Dos命令下-->目目录下:jar cvf project.war *.*用命令进入如果打包的文件内部:jar cvf 文件名.war *.* 文件名.war文件名.jar文件名.ear*.*代表项目文件中所有的文件Jar cvf MyWeb.war *.*//打包Jar tvf MyWeb.war *.*//查看包Jar xvf MyWeb.war *.*//解原创 2013-03-10 18:17:25 · 2755 阅读 · 0 评论 -
Tomcat 发布虚拟目录
一. 为什么需要设置虚拟目录?部署JavaWeb应用,只需要把你WAR包或目录结构拷贝到%Tomcat_Home%/webapps下就可以了。但随着网站的增长,你需要把你的JavaWeb应用放置到Tomcat外部,这时候就需要设置Tomcat虚拟目录,让你的应用脱离Tomcat的安装目录。二. 设置方法1.找到%Tomcat_Home%/conf/server.xml文件。原创 2013-03-07 20:13:06 · 1409 阅读 · 0 评论 -
P6Spy
P6Spy是一个可以用来在应用程序中拦截和修改数据操作语句的开源框架。通过P6Spy我们可以对SQL语句进行拦截,相当于一个SQL语句的记录器,这样我们可以用它来作相关的分析,比如性能分析。 一、P6Spy的安装与使用1、从 http://www.p6spy.com/ 下载P6Spy的文件包,也可以下载它的源文件包来研究;2、把P6Spy的jar包p6spy.jar放到classp原创 2013-03-07 20:08:27 · 1797 阅读 · 0 评论 -
Treiber算法实现Stack
package com.lss.test1;import java.util.concurrent.atomic.AtomicReference;/** * 使用Treiber算法 * Treiber算法主要用于实现Stack,基于Treiber算法实现的无阻塞的Stack * @author Administrator * * @param */publi原创 2013-01-27 19:31:20 · 2822 阅读 · 0 评论 -
Java实现 二进制读取和写入 拷贝文件
package com.lss.common.file;import java.io.*;/** * 二进制读取和写入 拷贝文件 */public class CopyBinary{ public static long copy(File srcFile, File outFile) throws IOException { FileInputStream原创 2012-08-24 12:00:36 · 6491 阅读 · 0 评论 -
图片改变大小加水印加文字
package com.lss.common.file.image;import java.awt.*;import java.awt.image.*;import javax.imageio.ImageIO;import javax.imageio.IIOException;import java.io.*;import com.sun.image.codec.jpe原创 2012-08-25 15:10:41 · 1967 阅读 · 0 评论 -
Java实现文件压缩 使用GZIP和Zip方式
package com.lss.common.file.zip;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOExc原创 2012-08-24 12:30:28 · 10038 阅读 · 0 评论 -
Java 实现MD5
package com.feinno.common.util;import java.security.MessageDigest;public final class MD5Util { protected final static String[] hexDigits = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",原创 2012-08-24 12:34:01 · 749 阅读 · 0 评论 -
Java Base64编码及解码
package com.feinno.common.util;import java.io.UnsupportedEncodingException;public class Base64Tools { private static char[] base64EncodeChars = new char[] { 'A', 'B', 'C', 'D', 'E', '原创 2012-08-24 12:32:58 · 1031 阅读 · 0 评论 -
Java读取Word文件
package com.lss.common.doc;import java.io.File;import java.io.FileInputStream;import org.apache.log4j.Logger;import org.textmining.text.extraction.WordExtractor;/** * Word文件工具 *.doc *原创 2012-08-24 11:56:55 · 6317 阅读 · 0 评论