- 博客(44)
- 收藏
- 关注
原创 Java开发实用小技巧
以下纯属个人观点,如果有啥不合适的地方还请提出来。(后期慢慢维护......)1、多使用 卫语句,使代码逻辑清晰。也有利于代码维护if(object != null){ // 业务逻辑 ,各种if-else嵌套} 转换成卫语句以后的代码如下:if(object == null){ return;}// 业务逻辑;2、代码异常日志的输出, e.printStackTrace() 只是输出到控制台,没啥卵用,在日志文件里面根本看不到异常信息。数据量庞.......
2020-10-19 19:46:55 3295 1
原创 arthas
彻底退出: stop. 用完一定要stop哦,避免Arthas server依然运行占用系统资源,否则下次执行还是当前 进程。exit或者quit, 退出当前session,Arthas server还在目标进程中运行。2 、会列出所有的Java进程,用户可以选择需要链入的目标进程。1 、下载并安装 (运行):Q或者Ctrl+C。
2023-11-08 09:51:12 246
原创 一次内存泄露排查
当然 我们也可以 根据条件 进行过滤 jmap -histo:live 41356 | grep 'com.XX'、生成 dump 文件,使用 jprofiler 或者 eclipse的 Mat插件 进行分析。排查该进程 对象存活 状态,(如果有异常 大量自建对象创建的话,也能初步定位到问题)前因: 因为测试 长时间压测导致 接口反应越来越慢,甚至 导致服务器 崩溃。、中间 设置过 容器的 jvm 参数,去控制内存大小。、根据 进程 id 去查找 具体是哪个 程序的问题。
2023-03-22 14:25:16 1861
原创 git 高级特性的一次使用记录
因为这次是一个游戏开发 场景。需要一套源代码进行 并行多次开发。但是也有 许多的相同的轮子、亦或者是轮子需要共用。所有呢,就打算从这段时间改用 git 替换 svn。1、首先用到的是 git 的一个高级特性 cherry-pick ,就是按照提交记录 将代码从一个分支摘取到另一个分支上面。毕竟是不同的 代码库。而且只是单独的 部分提交代码。(当然这个也需要 开发过程中 尽量将提交功能化、模块化)。配合下面这个特性会更加的方便、灵活。2、就是使用 git 可以添加 多个 remotes...
2021-03-19 17:27:10 213
原创 springboot 之 java事件的使用(guava-19.0.jar)
1、首先创建一个事件 @Data为插件lombok,自动默认为类加上get/set方法。Eventpackage com.fubt.app.event;import com.fubt.eventbus.Event;import lombok.Data;@Datapublic class UserLogEvent implements Event { private L...
2020-10-20 19:52:59 749
原创 Windows 写bat脚本的过程
@echo offecho download ... http://***/hongjing/tank3b/GameHotWeb_online.war rem 1. dl.vbsecho with wscript:if .arguments.count^<2 then .quit:end if >dl.vbsecho set aso=.createobject("adodb.stream"):set web=createobject("microsoft.xmlhttp") >.
2020-09-11 14:34:51 249
原创 ajax添加token、Authorization请求跨域问题
package com.zrgk.yfs.framework.config;import org.springframework.boot.web.servlet.FilterRegistrationBean;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.cor.
2020-07-03 10:42:20 2075
原创 记录一下Redis一次取多个key - value的使用方法
// 使用Redis批处理方式获取用户信息redis = jedisPool.getResource();// 选择Redis库区间redis.select(4);// 管道Pipeline pipe = redis.pipelined();Map<Long, Response<String>> intrmMap = Maps.newHashMap();us...
2020-03-27 16:08:23 12483
原创 springboot 之异常捕捉器
package com.**.app.exception;import com.**.dubbo.rpc.RpcException;import com.**.app.config.interceptor.ClientRequestContext;import com.**.enums.ResultMsgEnum;import com.**.exception.BusinessExce...
2019-10-24 17:26:50 379
原创 记录一个好用的对象拷贝工具 dozer
package com.***.utils;import org.dozer.DozerBeanMapperBuilder;import org.dozer.Mapper;import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Objects;...
2019-10-12 17:58:33 370
原创 记录一次接口验签功能
package com.***.app.config.filter;import com.****.app.config.SignHttpServletRequestWrapper;import org.apache.commons.lang3.StringUtils;import org.springframework.http.HttpHeaders;import org.spri...
2019-10-08 14:05:11 308
翻译 程序调试查看每一步耗时时间
public class TimeWatchUtil { private static final Logger LOGGER = LoggerFactory.getLogger(TimeWatchUtil.class); private static final ThreadLocal<TimeWatchUtil.TimeWatchInfo> TIME_WATCH_...
2019-07-26 14:39:02 3101
原创 java正则表达式对数据脱敏
//邮箱信息脱敏处理 if(StringUtils.isNotEmpty(userInfosVO.getEmail())){ userInfosVO.setEmail(userInfosVO.getEmail().replaceAll("(\\w+)\\w{5}@(\\w+)", "$1***@$2")); } //手机...
2019-06-28 14:08:10 7914
原创 记录一下activiti 5.22工作流问题
activiti工作流 1、 项目名修改的时候记得修改contextRoot 路径 (数据回显不出来的问题解决方案) WebContent/public/editor-app/app-cfg.js ACTIVITI.CONFIG = { '...
2019-06-03 09:57:03 547
原创 使用jquery时$.ajax一直报错问题
ajxa的TypeError: $.ajax is not a function因为使用别人的js,里面$符号被占用。所以修改如下//jQuery重指向 var jq=jQuery.noConflict(); jq.ajax({ type : "post", url : "xxx", ...
2019-06-01 11:53:36 3775
原创 each循环方法跳出
$("#checkItemtbody tr").each(function(){ if("disable"==$(this).attr("class")){ return true; //相当于Java中for循环的continue,跳过本次循环,继续循环 } //下面写正常逻辑代码 });Java中直接跳出循环的 brea...
2018-09-03 14:19:45 1251
原创 SpringContextHolder 获取bean
使用注解形式进行加载,实现ApplicationContextAware接口并复写setApplicationContext方法。将上下文环境对象以静态变量保存下来。则可以在工具类中使用SpringContextHolder.getBean()的方法获取实体或者service进行操作数据使用@Service注解形式进行实体注入package com.hema.common.utils...
2018-08-31 16:24:16 1226
原创 java缓存机制 Redis / ehcache
首先了解一下这两种缓存机制的区别ehcache直接在jvm虚拟机中缓存,速度快,效率高;但是缓存共享麻烦,集群分布式应用不方便。redis是通过socket访问到缓存服务,效率比ecache低,比数据库要快很多,处理集群和分布式缓存方便。适合应用于各个系统间缓存共享,以及数据持久化机制(RDB、AOF两种数据持久化机制)利于数据安全问题。接下来是系统集成 ehcache.xml ...
2018-08-31 15:57:28 373
原创 前端工具 fns
1、首先需要引入一些xsd,以及页面配置<?xml version="1.0" encoding="UTF-8" ?><taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation...
2018-08-20 14:50:19 523
原创 URL中文传参乱码问题
当使用地址栏提交查询参数时,如果不编码,非英文字符会按照操作系统的字符集进行编码提交到服务器,服务器会按照配置的字符集进行解码,所以如果两者不一致就会导致乱码。encodeURI函数采用UTF-8对URL进行编码,所以如果服务器在进行解码时使用的是其他的编码方式就会出现乱码,默认的服务器配置的解码字符集都不是UTF-8,所以大部分情况下地址栏提交中文查询参数时会产生乱码;针对这种情况,可以连续...
2018-08-18 12:06:33 182
原创 MySQL 文本存值的类型区别
1.char长度固定,varchar和text长度可变。(char可能存在空间浪费,字符串长度不够,则后面用空格补足空字符串)2.char和varchar可以设定默认值,text没有默认值。3.char和varchar定义时要指定长度,text定义时通常不用指定长度,可以自己计算。 varcharvarchar类型长度范围65535,实际范围为65532或65533。为什么? ...
2018-08-13 14:29:22 3880
原创 页面整体 修改 css 样式
通过 class属性修改样式<style type="text/css"> .tdwidth{ width: 10% } </style>通过节点修改样式<style type="text/css"> td{ text-align: center } </style>通过 id 修改样式&
2018-08-08 11:13:42 831
原创 mybatis 中动态表字段 查询之statementType
要实现动态传入表名、列名,需要做如下修改 首先添加属性statementType=”STATEMENT” statementType:STATEMENT(非预编译),PREPARED(预编译)或CALLABLE中的任意一个,这就告诉 MyBatis 分别使用Statement,PreparedStatement或者CallableStatement。默认:PREPARED。这里显然不能使用预...
2018-08-06 15:09:22 1135
转载 前端 多对象提交的解决方案
参考博客 https://blog.csdn.net/lutinghuan/article/details/46820023
2018-08-06 13:14:18 996
原创 带有 logo 的二维码 简单生成方法
代码如下package main;import java.awt.Color;import java.awt.Graphics2D;import java.awt.Image;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import java.util.S...
2018-08-02 14:01:01 1339
原创 Controller 中调用注入service为null问题
一次将方法误写为 私有的 private类型。导致service注入失败 /** * 单项管理列表页面 */ @RequiresPermissions("core:checkItem:list") @RequestMapping(value = {"list", ""}) private String list(CheckItem checkItem,HttpServletR...
2018-08-01 10:50:28 4375
原创 手机号码 正则匹配工具类
public class PhoneUtils { /** * 大陆号码或香港号码均可 */ public static boolean isPhoneLegal(String str)throws PatternSyntaxException { return isChinaPhoneLegal(str) || isHKPhone...
2018-07-31 16:41:15 273
原创 企信通 短信接口对接
/*功能: 企信通PHP HTTP接口 发送短信修改日期: 2014-03-19说明: http://api.cnsms.cn/?ac=send&uid=用户账号&pwd=MD5位32密码&mobile=号码&content=内容状态: 100 发送成功 101 验证失败 102 短信不足 103 操作失败 104 非法字符 105 内容过...
2018-07-31 16:19:33 1928
原创 页面头标修改 SHORTCUT ICON
如下图所示,想要修改页面的头标<title>XXX管理平台</title><link rel="SHORTCUT ICON" href="${ctxStatic }/common/login/images/256x256.png"/>静态文件使用了c标签进行引入<c:set var="ctxStatic" value="${
2018-07-31 10:40:47 1034
原创 mybatis 多数据库通用分页插件PageInterceptor
这个分页插件是基于mybatis-3.25.jar commons-lang3-3.32.jar 以及mybatis-spring-1.2.0.jar。 下面是继承了Interceptor的插件类package dwz.common.mybatis;import java.sql.Connection;import java.sql.PreparedStatement;im...
2018-07-30 16:04:51 11006 4
原创 集合、数组、以及对象定制排序规则之 Comparatorl 类
这次遇到一个在map中放入以时间date类型为key的数据。将其转换为treeMap类型后默认将按照key升序的格式排列,但是期望的事降序进行排序。因此就需要重写排序的规则。如下Map<Date, Object> dateMap = new TreeMap<Date, Object>(new Comparator<Date>() { @Overr...
2018-07-27 09:12:11 175
原创 mybatis 根据id批量删除的两种方法
第一种,直接传递给mapper.xml 集合/数组形式<delete id="deleteByLogic" parameterType = "java.util.List"> delete from user where 1>2 or id in <foreach collection="list" item="item"
2018-07-13 15:49:24 67062 13
原创 c标签中的forEach 双层循环用条件控制 layer弹窗
本次用的是一个双层循环,数据结构为一个Map<String,List<CheckItem>> map = new HashMap();首先要加入<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>。使用该标签获取第二次循环的长度<c:forEach items="${m...
2018-07-11 09:40:19 1528
原创 mybatis 模糊查询 的几种实现方式
mybatis中有以下几种模糊查询的方法,第一种用$符号直接替换 SELECT * from t where name like '%${name}%'第二种方式使用#符号select * from twhere name like "%" #{name} "%"或者使用 name like "%"+#{name}+"%"第三种方式使用MySQL函数CON...
2018-07-07 10:34:22 472
原创 list 中存放map问题,同一个map多次存值放入list中clear问题
需要重新new 一个HashMap(),否则都会替换List<Map> list = new ArrayList(); map.put("thisName", "样本总数"); map.put("number", sampleCount); list.add(map); map = new HashMap(); //必须new 一个新的,否则样本所有数据会被替换 m...
2018-07-05 17:13:16 5743 1
原创 前端select onchange事件 默认选中后台传来option中value值
//使用c标签遍历list取值<select name="hospital" class="form-control" onchange="changeHospital(this.options[this.options.selectedIndex].value)"> <option value="" label=" 请选择"/> &
2018-07-05 13:25:25 3087
原创 mysql 常用函数使用
<if test="param.checkTime != null and param.checkTime != ''"> and year(t2.checkout_time) = #{param.checkTime}</if>year()函数接收date类型,返回一个年份mysql> SELECT YEAR('2018-01-01');+--------...
2018-07-05 09:49:10 218
原创 js 前端各种类型进行判断比较
字符串行转换为int类型。否则加起来为 01 尴尬 var index = parseInt('0')+1;数字类型进行比较大小 判断两个int类型是否相等if(eval(index) == eval(imgPath.length))字符串类型if(data.res == "abnormal_type01")判断一个input标签 value 是否为空,若为空会直接进入该条件var...
2018-07-04 14:41:14 1796
原创 java 读取PDF文件 工具类
package com.test;import java.awt.Rectangle;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;impor...
2018-06-30 09:59:58 3063
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人