java
w329636271
这个作者很懒,什么都没留下…
展开
-
gbase(Informix) pageHelper修改分页语句
gbase如何优化分页原创 2022-07-29 15:55:06 · 798 阅读 · 0 评论 -
pdf转图片以及内容读取
apanch pdfbox提取pdf的内容;以及将pdf转为图片原创 2022-07-21 15:11:12 · 275 阅读 · 0 评论 -
常用正则表达式收集
12位正数,2位小数 Pattern pattern = Pattern.compile( "^[1-9]\\d{0,11}(\\.\\d{1,2})?$|^0(\\.\\d{1,2})?$"); // 允许输入整数12位,小数2位的金额!不能输入0开头的整数,如:010011号手机号码^[0-9]{11}$...原创 2022-05-17 15:32:43 · 105 阅读 · 0 评论 -
解决阿里云无法发送邮件问题
阿里云邮件无法发送腾讯邮件解决办法/使用smtp协议可以解决具体代码如下:package cn.celoan.upload.service;import java.util.List;import java.util.Properties;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Value;import org.springframework.ma.原创 2021-05-12 16:37:29 · 638 阅读 · 0 评论 -
记录一个tim 排序的报错
list.sort 报错java.lang.IllegalArgumentException:Comparisonmethodviolatesitsgeneralcontract! at java.util.TimSort.mergeHi(TimSort.java:895)原因是因为我当时使用的写法returnStringUtils.compare(item1.getName(), item2.getName())应该改为return StringUtils.co...原创 2021-04-29 11:15:31 · 219 阅读 · 0 评论 -
全国各地运营商dns列表(供查询)
DNS列表 省份 城市 中国电信 中国联通 中国移动 教育网 云南 昭通 222.172.200.68 61.166.150.123 221.3.131.11 221.3.131.12 211.139.29.170 202.203.66.3原创 2021-04-27 14:32:45 · 32125 阅读 · 1 评论 -
redisson对key进行拦截编码
因为项目的要求,需要对redis的key不可进行明文显示,需要统一进行编码. 做法如下,新建一个类继承Redisson的默认实现,然后实现RedissonClient的接口. 对所有的方法统一对key调用 getKey(name)进行编码.(主要有些正则表达式的方法进行编码之后就不可使用)例如对getSet方法修改如下 @Override public <V> RSet<V> getSet(String name) { return supe...原创 2021-01-25 15:52:19 · 1504 阅读 · 2 评论 -
netty 无阻塞队列 MpscArrayQueue,一个字就是快
netty提供了高效的线程安全的队列 MpscArrayQueue ,一个字快,至于快的原因可以去查看相关的文章,内存的伪共享先关的内容.import static java.lang.Thread.sleep;import io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueue;import java.util.ArrayList;import java.util.List;import lombok.SneakyT.原创 2021-01-11 17:31:38 · 1635 阅读 · 1 评论 -
Maven Helper
Maven Helper 安装使用一旦安装了Maven Helper插件,只要打开pom文件,就可以打开该pom文件的Dependency Analyzer视图(在文件打开之后,文件下面会多出这样一个tab),进入Dependency Analyzer视图之后有三个查看选项,分别是Conflicts(冲突)、All Dependencies as List(列表形式查看所有依赖)、All Dependencies as Tree(树结构查看所有依赖)。并且这个页面还支持搜索。很方便!并且使用该插件.原创 2020-12-25 16:02:37 · 301 阅读 · 0 评论 -
mockIo入门使用
package com.onlyou.ai.autobt.app.test;import org.junit.Test;import org.mockito.ArgumentCaptor;import org.mockito.ArgumentMatcher;import org.mockito.Mock;import org.mockito.MockitoAnnotations;import org.mockito.exceptions.verification.NoInter...原创 2020-11-25 09:29:27 · 418 阅读 · 0 评论 -
spring boot admin ui 整合element ui二次开发(二)
spring boot ui 二次开发(二)上次文章已经说明了如何启动进行spring boot ui的入门.本篇文章叙述如何整合element ui 以及添加一个菜单.第一步:添加element uipackage.json中的devDependencies中添加"element-ui": "^2.13.0"控制台执行cnpm install 在index.js中添加引入element ui的代码/**添加代码 */import ElementUI fro.原创 2020-11-13 18:20:45 · 1504 阅读 · 0 评论 -
spring boot Jackson忽略字段不序列化字段
使用JsonIgnoreProperties注解忽略多个字段@JsonIgnoreProperties({ "summary", "author" })public class ArticleIgnoreProperties { private String title; private String summary; private String content; private String author; // 省略getter、setter方法 @Override .原创 2020-11-13 10:44:47 · 2554 阅读 · 0 评论 -
spring boot admin ui 二次开发(一)
spring boot admin ui 二次开发我们使用spring boot admin进行项目的监控.但是我们对界面进行二次的开发的需求.因为admin的前端是用vue写的,所以需要会vue.一.项目下载下载git地址:https://github.com/codecentric/spring-boot-admin.git我们在对应的2.2.X下面进行二次开发. 下载项目截图如下. 二.项目启动其中spring-boot-admin-server-ui为vu.原创 2020-11-10 21:02:16 · 2093 阅读 · 0 评论 -
获取计算机的硬件软件指标
pom文件引入<dependency> <groupId>com.github.oshi</groupId> <artifactId>oshi-core</artifactId> <version>3.4.4</version> </dependency>测试代码/** * 类说明 * * @aut.原创 2020-10-28 14:52:19 · 1084 阅读 · 0 评论 -
datax快速入门
1.软件准备 载地址 http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz python版本 Python(推荐Python2.6.X) java版本 JDK(1.8以上,推荐1.8) 2.安装 略过 .. (解压文件)3.两个命令介绍通过命令查看配置模板python datax.py -r {YOUR_READER} -w {YOU...原创 2020-07-14 17:54:45 · 426 阅读 · 0 评论 -
spring 集成百度的雪花算法uid-generator
1.引入pom文件 因为log文件有冲突,所以排除了重复的slf4j的jar包.<dependency> <groupId>com.xfvape</groupId> <artifactId>uid-generator</artifactId> <ve...原创 2020-05-08 15:29:31 · 2466 阅读 · 0 评论 -
Mybatis 使用discriminator鉴别器映射
碰见的问题场景:需要根据查询出来的字段的值,分别设置两个不同的字段。这是一个类似java的case when的一个判断。通过查找相关的资料,知道discriminator可以进行设置,相关的代码如下:<resultMap id="BaseResultMap" type="com.onlyou.ai.autobt.repository.vo.SampleVO"> <...原创 2020-03-02 17:18:10 · 286 阅读 · 0 评论 -
数据高并发任务申请
我们经常会碰见各种集群版本的任务申请,如何保证任务申请的并发性最高,并且保证任务不会被重复的分配。主要的策略就是利用数据库的锁更新进行尝试,如果不能锁成功,就直接进行重试别的记录。伪代码如下1.查询总记录数2.总记录数等于零直接跳出3.查询若干的记录4.n次尝试申请记录,如果成功则跳出,如果失败则调到步骤1.申请记录主要是修改记录中的某个字段的影响行数来判断是否申请...原创 2020-02-25 14:47:59 · 203 阅读 · 0 评论 -
ImageIO处理图片抛异常 Unsupported Image Type
问题描述: 解决问题因为服务器上读取报错Unsupported Image Type ,而本地windows确不会报错。 代码如下 InputStream inputStream = null; BufferedImage image = null; try { inputStream = n...原创 2020-02-24 16:27:34 · 804 阅读 · 0 评论 -
多线程的基本概念
1.同步和异步 同步和异步通常用来形容一次方法的调用。同步方法调用一旦开始,调用者必须等到方法代用返回后,才能继续后续的行为。 异步方法调用更像一个消息传递,一旦开始,方法调用就会即可放回,调用者就可以继续后续的操作。 而异步方法通常会在另外一个线程中真是的执行,整个过程不会阻碍调用者的工作。 2.并发和并行...原创 2020-01-09 17:48:00 · 182 阅读 · 1 评论 -
限流算法与实现
常见的限流算法计数器算法计数器算法指在一段时间内,进行计数,与阀值进行比较,如果超过了阀值则进行限流操作,到了时间临界点,将计数器清零进行重新基数,即单位时间段内可访问请求的次数进行控制。计数器算法是一种比直观简单的限流算法,常用于应用服务对外提供的接口层面。由于计数器算法存在时间临界点缺陷,因此在时间临界点左右的极短时间段内容易遭到攻击。比如设定每分钟最多可以请求100次...原创 2019-12-25 17:32:27 · 196 阅读 · 0 评论 -
java 四种reference的对比
package cn.zwy.test;import java.lang.ref.PhantomReference;import java.lang.ref.ReferenceQueue;import java.lang.ref.SoftReference;import java.lang.ref.WeakReference;import java.util.WeakHashMap;转载 2016-07-26 14:00:51 · 606 阅读 · 0 评论 -
字符串转化工具
字符各种格式互转package cn.hancloud.gaqbxt.core.utils;import java.lang.Character.UnicodeBlock;/** * utf8/gbk/unicode编码相互转换工具类 * * 2016年7月25日 上午9:23:53 */public class EncodeUtil { /** * gbk原创 2016-07-25 09:29:56 · 468 阅读 · 0 评论 -
YUI api压缩 js/css
package com.jfinal.zwy.test;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.转载 2016-04-15 18:04:15 · 742 阅读 · 0 评论 -
设计模式之简单的工厂模式
package com.zwy;/*简单的工厂内通过switch case 来生成对象,不在由用户去 new ,将new 操作封装在了,createOperator的内部*/public class SimpleFactory { public static Operator createOperator(char operatorType){ Operator operator =原创 2015-09-15 22:05:50 · 389 阅读 · 0 评论 -
svn对比结果的补丁打包
因为版本的升级通常都是需要进行war包的补丁文件打包,这是需要去文件对比版本,然后找出修改的文件,然后打成补丁包.文件少的时候,还可以忍受,但是当修改文件多的时候,这兼职关于,如何打包svn项目的补丁的插件使用常识配置.1.projectPath 对于type=1,type=2,type=3:是复制文件来源的路径,另外对于type=2,type=3,还表示要对比的时间的文原创 2016-08-01 11:14:27 · 2616 阅读 · 0 评论 -
spring boot 文件上传
spring mvc 不暴露response进行文件下载.package cn.netinnet.billServer.aop;import java.io.File;import java.io.IOException;import javax.servlet.http.HttpServletResponse;import org.apache.commons.io.F原创 2016-11-28 15:25:54 · 1354 阅读 · 0 评论 -
cas 循环数组
自己测试通过的cas版本的多读多写的无锁模式的循序队列import java.util.concurrent.atomic.AtomicLong;import java.util.concurrent.atomic.AtomicReferenceArray;/*cas的缓存循环数组, * 存数据:采用先占用位置,然后在放数据的原则. * 取数据:采用先取数据,置为cas置为空原创 2017-01-09 14:06:59 · 664 阅读 · 0 评论 -
Android studio安装碰见的坑
一.问题1adb devices 不能查看到Genymotion的虚拟机.并且有时候会报错adb server version (31) doesn't match this client (36); killing... error: could not install *sm谷歌了许多还是不能解决问题!最后还是自己解决的.1.首先 Genymotion中设置adb的路径原创 2017-03-10 10:22:56 · 392 阅读 · 0 评论 -
关于一次mycat的大sql查找的大内存分析
Mycat因为宕机的内存分析,查找大结果集合的sql。 首先通过 jps 查找linux 中java的进程 可以知道mycat的进程是187644 2.dump jvm的内存 jmap -dump:live,format=b,file=temp2.bin 18764...原创 2018-09-06 06:26:44 · 807 阅读 · 0 评论 -
Volatile从入门到放弃
1.引言 如果你对java的volatile有着疑虑请阅读本文,如果你想对volatile想有一个更深的了解,请阅读本文.本文主要讲的是volatile的写happen-before在volatile读之前所涉及相关的原理,以及在Hotspot中相关代码的实现. 首先从一段代码开始讲起,如下 初始化 int a = 0, int b = 0...原创 2017-01-19 15:21:26 · 4481 阅读 · 3 评论 -
如何加载包下面的所有类?
package com.zwy.util;import java.io.File;import java.io.FileFilter;import java.net.JarURLConnection;import java.net.URL;import java.util.Enumeration;import java.util.HashSet;import java.util.S转载 2016-03-29 08:04:33 · 2002 阅读 · 0 评论 -
Jedis 实现发布订阅
package com.zwy.redis;import org.junit.Before;import org.junit.Test;import redis.clients.jedis.Jedis;public class Publish { private Jedis jedis = null; @Before public void init() { jedis =原创 2015-12-22 10:27:45 · 3352 阅读 · 0 评论 -
设计模式之外观模式
/*迪米特法则:如果两个类不必彼此直接同行,那么这两个内就不应当发生直接的相互作用,如果其中一个类需要调用另外一个类 * 的 某一个方法的话,可以通过第三者转发这个调用. * 根本思想:强调类之间的松耦合. * 程序设计中类之间的耦合越弱,越有利于复用,一个处在弱耦合的类被修改,不会队友关系的类造成波及,信息的隐藏 * 有利于类的复用. * *//*Facade: 外观类,原创 2015-09-18 08:08:15 · 382 阅读 · 0 评论 -
设计模式之模板方法
/*模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的 * 结构即可重新定义该算法的某些特定步骤. * * 我的个人理解就是把一些共同的行为搬到父类,把一些可变的不一样的留到子类中去实现. * * 注:模板方法是通过巴布遍的行为搬移到超类,去除子类中的重复代码来体现他的优势. * 模板方法就是提供了一个很好的代码复用原创 2015-09-18 07:39:04 · 396 阅读 · 0 评论 -
sortedMap的使用 HashMap的排序
HashMap也是可以排序的,示例代码如下.package com.zwy;import java.util.SortedMap;import java.util.TreeMap;public class TestSortMap { public static void main(String[] args) { SortedMap map = new TreeMap()原创 2015-11-04 14:18:58 · 1916 阅读 · 0 评论 -
设计模式之4 抽象工厂
package com.zwy.day2;/*比工厂类,多了一个就是工厂类多了一个父类*/public class AbstractFactory { public static void main(String[] args) { Factory factory = new SubFactory(); Operator operator = factory.createOpe原创 2015-09-16 11:45:07 · 436 阅读 · 0 评论 -
设计模式之策略模式
主要用来在不同的算法之间的切换,而且不会影响客户端.使得修改的代码量最少.package com.zwy;/*策略模式,它定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化不会影响到用算法的客户*/public class Strategy { /** * main(这里用一句话描述这个方法的作用) * (这里描述这个方法适用条件 – 可选) * @par原创 2015-09-15 22:54:52 · 445 阅读 · 1 评论 -
设计模式之代理模式
代理模式:顾名思义,就是对一个对象的访问,通过这个代理来访问,package com.zwy;/*代理模式: * 为其他的对象提供一种代理以控制对这个对象的访问. * 第一:远程代理也就是为一个对象在不同的地址空间提供局部的代表,这样就可以隐藏一个对象不存在于不同地址空间的事实. * 第二:虚拟代理,是根据需要创建开销很大的对象,通过它来存放实例化需要很长时间的真实对象. *原创 2015-09-16 07:41:45 · 420 阅读 · 0 评论 -
bean 反射生成插入的sql
import java.lang.reflect.Method;import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;public class BeanUtil { static Map g原创 2015-09-15 21:11:42 · 659 阅读 · 0 评论