
java 积累篇
我纯洁全身都纯洁
这个作者很懒,什么都没留下…
展开
-
接口层对参数统一加密解密
页面调中台接口时有时候需要加密,因为接口太多了,需要页面调接口时统一在发送ajax和接收参数时处理。现在使用SM4加密算法,页面传from-data参数时先把每个参数的值进行SM4加密,接收时统一SM4解密。js代码我不管了,我把接口层用过滤器实现了,注意事项看注释。原创 2022-11-07 17:10:19 · 932 阅读 · 3 评论 -
打印异常信息字符串
平时开发时都是用log输出异常因为,但是如果需要把异常信息入库,就必须把异常对象转为字符串,如果直接用e.toString()或者e.getMessage(),异常信息会不全面,所以需要一个方法去转换原创 2022-06-27 17:28:56 · 393 阅读 · 0 评论 -
springboot自定义组件让非启动类包路径的注解被扫描到
springboot扫描包路径默认是启动类平级或下级包的类。当我们需要封装一个插件,然后被spingboot依赖,但里面的类并不一定和springboot启动类的包路径一样,所以需要自顶一个注解在启动类上面使用是的非自动类包路径里的程序被扫描到。一、新建一个maven工程,定义一个配置类如下,@ComponentScan注解配置要被扫描到的包路径: 1 2 3 4 @Configuration @ComponentScan("com.myp原创 2022-03-21 11:34:03 · 773 阅读 · 0 评论 -
正则表达式匹配${xxx}
public static void main(String[] args) { String str = "说的过124滤${会计}师对24顾${客}数量124212是${否}.....{这个不是}"; String patern = "\\$\\{([^}]*)\\}"; Pattern pattern = Pattern.compile(patern); Matcher matcher = pattern.matcher(str); .原创 2021-09-08 15:08:36 · 1449 阅读 · 0 评论 -
java匹配带有时间格式的文件名
import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.UUID;import java.util.regex.Matcher;import java.util.regex.Pattern;public class a { public static void main(String[] args) { test1.原创 2021-07-29 17:37:00 · 551 阅读 · 0 评论 -
递归遍历生成树型结构
代码如下:import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.stream.Collectors;import com.alibaba.druid.support.json.JSONUtils;public class 递归生成树 { public static void main(String[] args)原创 2021-06-16 16:33:24 · 565 阅读 · 0 评论 -
JAVA自定义加密解密方法
import java.util.Base64;public class Encryption { // 加密和解密只要offset一致即可 public static final int offset = Integer.MIN_VALUE + 10086; // 加密 public static String encryption(String s) { StringBuilder sb = new StringBuilder(); for (int i = 0.原创 2020-12-08 09:52:57 · 1445 阅读 · 0 评论 -
java自定义注解实现操作日志入库
1、定义一个注解类package com.staryea.annotation.operlog;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation...原创 2020-04-03 15:20:20 · 1683 阅读 · 0 评论 -
计算平均时间
序号 工作日期 上班时间 下班时间 1 2019-03-01 08:55:00 18:01:24 2 2019-03-04 08:55:00 21:00:08 3 2019-03-05 08:55:00 21:00:18 4 2019-03-06 08:55:00 21:00:00 5 ...原创 2019-03-05 20:39:20 · 2473 阅读 · 0 评论 -
Eclipse MyEclipse STS添加反编译插件JadClipse
1.首先寻找Window——>Preferences——>java是否有JadClipse,如果有就直接进入步骤4。2.下载jar:net.sf.jadclipse_3.3.0.jar。3.将jar文件放在工具的安装目录的plugins文件夹下,重启开发工具。4.下载反编译工具jad ,将jad.exe解压到某个目录。5.进入Window——>Preferenc...转载 2018-12-25 14:57:17 · 273 阅读 · 0 评论 -
单例模式的八种写法比较
单例模式是最常用到的设计模式之一,熟悉设计模式的朋友对单例模式都不会陌生。一般介绍单例模式的书籍都会提到 饿汉式 和 懒汉式 这两种实现方式。但是除了这两种方式,本文还会介绍其他几种实现单例的方式,让我们来一起看看吧。 简介单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某...转载 2018-12-12 09:28:38 · 192 阅读 · 0 评论 -
统计英文文章的单词出现次数
import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStreamReader;import java.util.HashMap;import java.util.Map;public class Test { public sta...原创 2018-06-12 20:13:19 · 1127 阅读 · 2 评论 -
用RandomAccessFile合并文件
我的代码实现了在文件的头尾处各添加了一行字符串import java.io.File;import java.io.FileInputStream;import java.io.InputStream;import java.io.RandomAccessFile;public class 合并文件 { public static void main(String[] args)...原创 2018-03-05 10:06:47 · 657 阅读 · 0 评论 -
数字转字符串
数字换字符串效率,写了个代码测试了下,发现最快方式是数字后面直接拼接空字符串。public class A { public static void main(String[] args){ long s = System.currentTimeMillis(); int count = 9_999_999; for (double原创 2018-01-08 15:49:46 · 422 阅读 · 0 评论 -
根据IP/掩码位获取IP的起始范围、IP总数、IP属不属于某个网段或者打印网段内所有的IP
import java.math.BigDecimal;import java.util.ArrayList;import java.util.List;import java.util.regex.Pattern;public class IpUtil { /** * 在main方法里面可以测试下 * 主要功能都在main方法原创 2017-09-15 11:10:59 · 6883 阅读 · 3 评论 -
BigDecimal中不要传入double或者float,只能传入String
先看下API1.6的说明BigDecimalpublic BigDecimal(double val)将 double 转换为 BigDecimal,后者是 double 的二进制浮点值准确的十进制表示形式。返回的BigDecimal 的标度是使(10scale × val) 为整数的最小值。注: 此构造方法的结果有一定的不可预知性。有人可能认为在 Java 中写入 n原创 2018-01-08 15:28:50 · 3116 阅读 · 0 评论 -
java 生成二维码
我利用的是QRCode.jar和Qrcode_swetake.jar做的主函数类:import java.awt.image.BufferedImage;import java.io.File;import javax.imageio.ImageIO;public class Test { public static void main(String[] args) {原创 2015-01-22 11:10:33 · 914 阅读 · 0 评论 -
java做一个远程桌面程序
这是一个远程桌面程序,只有看没有操作。先写一个服务端,用来发送这台电脑的图像import java.awt.Dimension;import java.awt.Rectangle;import java.awt.Robot;import java.awt.Toolkit;import java.awt.image.BufferedImage;import java.io.IOEx原创 2015-03-20 13:43:42 · 2482 阅读 · 1 评论 -
ftp上传文件
import java.io.File; import java.io.FileInputStream; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPReply; public class FTP上原创 2016-05-11 16:23:30 · 407 阅读 · 0 评论 -
获取每个单词出现的频率
package play;import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;public class 每个单词出现的频率 { public static void main(String[] args) { String s = "Welcome to ADempiere, a com原创 2016-06-01 09:21:39 · 713 阅读 · 0 评论 -
读写对象文件
import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io原创 2016-06-14 10:01:55 · 343 阅读 · 0 评论 -
删除数组中重复的数据(不准用集合、框架)
使用集合框架比较简单,只需要用元素不能重复的比如set就行。public class Ddq { public static void main(String[] args) { int arr[] = {3, 3, 3, 7, 7, 7, 9, 8, 2, 2, 7, 7, 3, 3, 0, 8}; String str = ""; for (int i = 0; i < a原创 2016-06-15 15:09:12 · 381 阅读 · 0 评论 -
java表达式类型的自动提升
java表达式类型的自动提升当一个java算术表达式中包含多个基本类型的值时,整个算术表达式的数据类型将发生自动提升。Java定义如下的自动提升规则:1. 所有byte型、short型和char型将被提升到int型。2. 整个算术表达式的数据类型自动提升到与表达式中最高等级操作数同样的类型。操作数的等级排列如下图所示,位于箭头右边类型的等级高于位于箭头左边类型的等级。下面程原创 2016-06-17 14:56:09 · 429 阅读 · 0 评论 -
java学生成绩管理系统
先上图吧主界面和增加界面总和成绩和实得学分是程序算出来的。数据库用的access,直接读写的access数据库文件。项目和a.accdb编码格式均为GBK。main方法在Grade。需要修改SqlOpen.dbpath。环境和工具:jdk1.6,eclipes3.5,sqljdbc4.jar(在bin目录下)。已知程序缺陷:0、表没有主键原创 2016-05-13 14:12:24 · 3210 阅读 · 0 评论 -
求最大公约数和最小公倍数
public class demo2 { public static void main(String[] args) { System.out.println(gongyue(24, 36)); System.out.println(gongbei(24, 36)); } // a与b的最大公约数 public static int gongyue(int min, in转载 2017-05-02 22:19:21 · 327 阅读 · 0 评论 -
JAVA通过URL下载文件(POST,参数)
package com.util;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStr转载 2017-11-28 19:02:37 · 13991 阅读 · 2 评论 -
使用jsoup对HTML文档进行解析和操作
最近做项目需要在java里面解析html标签,听人说jsoup好用,就用了下。网上搜了下用法,发现都是复制粘贴,就打算自己总结一个。我当时maven的最新包 org.jsoup jsoup 1.11.2//所有的对象都是Jsoup包中的。Document doc = Jsoup.parse("HTML字符串");//html转换成documentElements原创 2017-12-07 17:03:52 · 911 阅读 · 0 评论 -
InputStream转ByteArrayOutputStream
从网络上下载文件获取InputStream流中断查看:http://blog.youkuaiyun.com/hjgzj/article/details/78658150public static void main(String[] args) throws IOException { InputStream inputStream = new FileInputStream(new Fi原创 2017-12-18 11:26:53 · 12045 阅读 · 0 评论 -
List对于复杂对象排序的方法
直接上代码public static void main(String[] args) { List> custList = new ArrayList>(); Map custMap1 = new HashMap(); Map custMap2 = new HashMap(); Map custMap3 =原创 2017-12-19 11:58:49 · 3208 阅读 · 0 评论 -
抽奖方案实现原理
前一段时间需要公司网站需要做一个活动的抽奖页面,要求后台可以对奖品设置概率。几番周折,终于搞了出来。假设一个活动的所有奖品总概率为1,最小中奖概率可以设置到为0.000001(百万分之一),实现的方案如下:奖品名称中奖概率中奖开始范围中奖结束范围奖品10.11100000奖品20.5100001600000原创 2015-01-27 14:49:42 · 7222 阅读 · 0 评论