Java
无名小卒菜
记录开发中遇到的问题,互相学习。
展开
-
JAVA求最简分数a/b
【代码】JAVA求最简分数a/b。原创 2023-01-06 10:51:15 · 493 阅读 · 1 评论 -
springboot集成日志
pom引入, <!-- log4j12日志适配器 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </dependency>配置文件,<?xml version="1.0" encodin原创 2021-07-14 17:06:48 · 272 阅读 · 0 评论 -
springboot拦截器得到get和post参数
过滤器:import org.apache.logging.log4j.core.config.Order;import org.springframework.stereotype.Component;import javax.servlet.*;import javax.servlet.annotation.WebFilter;import javax.servlet.http.HttpServletRequest;import java.io.IOException;@WebF.原创 2021-07-14 16:50:41 · 1671 阅读 · 0 评论 -
字典表设计
主表,create table land_system_in.tb_dict_type( dic_type_id varchar(32) not null comment '字典类型id' primary key, dic_type_code varchar(50) null comment '字典类型key', dict_t原创 2021-07-12 10:56:45 · 2332 阅读 · 0 评论 -
OSS上传文件
OssFileController:@Api(tags = {"OSS对象存储文件 管理"})@RestController@RequestMapping("/oss")public class OssFileController { @Resource private OssFileService fileUploadService; @ApiOperation(value = "文件上传", httpMethod = "POST") @PostMappi.原创 2021-06-28 17:45:05 · 1031 阅读 · 0 评论 -
EasyExcel不创建对象的写工具类
参考:不创建对象的写 /** * 不创建对象的写 */ @Test public void noModelWrite() { // 写法1 String fileName = TestFileUtil.getPath() + "noModelWrite" + System.currentTimeMillis() + ".xlsx"; // 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板原创 2021-05-21 15:59:44 · 1412 阅读 · 3 评论 -
Java开发常用的在线工具
JSON在线校验格式化工具(Be JSON)在线文本差异对比,文本比对、文本比较工具BASE64转图片 - 站长工具 - 极速数据在线Cron表达式生成器 - 码工具在线JSON转excel,JSON转csv(ES JSON在线工具)ShowDoc...原创 2021-05-20 15:43:16 · 569 阅读 · 0 评论 -
mybatisplus自动生成mapper文件
import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;import com.baomidou.mybatisplus.core.toolkit.StringPool;import com.baomidou.mybatisplus.core.toolkit.StringUtils;import com.baomido..原创 2021-05-20 15:34:41 · 2444 阅读 · 0 评论 -
map和object对象互转
//Object转MapMap map = JSONObject.parseObject(JSONObject.toJSONString(findArchiveDto), Map.class);Map<String,Object> map = JSONObject.parseObject(JSON.toJSONString(findArchiveDto));//Map转ObjectFindArchiveDto findArchiveDto1 = JSON.parseObject(JSO.原创 2021-05-20 15:15:31 · 4137 阅读 · 0 评论 -
飞书发送通知
发送飞书格式, public void sendMsg(List<String> msgList) { //飞书机器人url 通过webhook将自定义服务的消息推送至飞书 String url=""; Map<String, Object> params = new LinkedHashMap<>(); params.put("msg_type", "text"); Ma.原创 2021-05-20 14:45:27 · 2882 阅读 · 0 评论 -
DES加解密工具类
DES加解密工具类,MD5转码工具类import javax.crypto.Cipher;import javax.crypto.spec.SecretKeySpec;import java.security.Key;/*** * DES ECB对称加密 解密 * @author hl * */public class Des { private static final String CIPHER_ALGORITHM = "DES/ECB/ISO10126Padding.原创 2021-05-20 14:23:15 · 187 阅读 · 0 评论 -
接口得到数据批量写入表不关心增减字段
import com.alibaba.fastjson.JSONArray;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.scheduling.annota..原创 2021-05-20 14:16:28 · 104 阅读 · 0 评论 -
动态枚举工具类
import sun.reflect.ConstructorAccessor;import sun.reflect.FieldAccessor;import sun.reflect.ReflectionFactory;import java.lang.reflect.AccessibleObject;import java.lang.reflect.Array;import java.lang.reflect.Field;import java.lang.reflect.Modifier;..原创 2021-05-20 13:53:24 · 405 阅读 · 0 评论 -
java删除HTML标签
public class HtmlUtil { private static final String regEx_script = "<script[^>]*?>[\\s\\S]*?<\\/script>"; // 定义script的正则表达式 private static final String regEx_style = "<style[^>]*?>[\\s\\S]*?<\\/style>"; // 定义style的正则.原创 2021-02-24 15:36:08 · 402 阅读 · 0 评论 -
Java多线程
一:Java中三种多线程的实现方式在Java中实现多线程有两种途径,继承Thread类,重写run方法,多线程启动的方法,就是start方法。(单继承的局限)public class TestThread extends Thread { private String name; public TestThread(String name) { thi...原创 2020-03-29 14:06:41 · 179 阅读 · 0 评论 -
反射机制
一:什么是反射?JAVA反射机制是在运行状态中,对于任何一个类,都能够知道这个类的所有属性和方法。 对于任何一个对象,都能够调用它的任意方法和属性,这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。二: Class 对象:类的信息,什么是 RTTI?RTTI 即 Runtime Type Information,顾名思义,也就是在运行时,识别对象和类的信息。 RT...原创 2020-03-26 22:43:48 · 217 阅读 · 0 评论 -
对象克隆
1.为什么要使用对象克隆想对一个对象进行处理,又想保留原有的数据,就需要克隆了。java中的克隆,针对的是类的实例。2.如何实现对象克隆实现Cloneable接口并重写Object类中的clone()方法; 实现Serializable接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆。3.深拷贝和浅拷贝区别是什么浅拷贝只是复制了对象的引用地址,两个对象指向同一个内...原创 2020-03-25 18:16:09 · 147 阅读 · 0 评论 -
详解Math.round函数
1.代码如下,public class TestMathRound { public static void main(String[] args) { System.out.println("小数点后第一位=5"); System.out.println("正数:Math.round(11.5)=" + Math.round(11.5));//12...原创 2020-03-23 11:50:44 · 28868 阅读 · 2 评论 -
利用过滤器解决跨域问题
1.什么是跨域?跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。注:同源策略:是指协议,域名,端口都要相同,其中有一个不同都会产生跨域。2.这里我们演示一个demo,端口号不同引起的跨域问题,假设项目A ,ajax访问项目B的接口,但是两个项目的端口号不同,引起的跨域问题。写一个简单的java web项目A,端口...原创 2019-11-26 17:09:48 · 2399 阅读 · 2 评论 -
db2获取当前月份的第一天和最后一天
1.查询条件查询当月的数据,数据库是db2,然后网上找了很多,发现很复杂,我们的db2并不支持 LAST_DAY 之类的函数,最后实在是觉得太麻烦,索性用java处理,发现相当简单。2.在此总结当sql太复杂很难实现或者影响开发效率的时候,能用java处理就用java处理。3.java获取当月的第一天 /** * 取得指定日期的所处月份的第一天 * ...原创 2019-11-13 18:24:14 · 4156 阅读 · 4 评论 -
移除List中不满足条件的数据
刚开始想到用list.remove(i),后面打印数据发现很多并没有移除掉,然后查了一下百度才知道原因,然后发现最好的方法是使用迭代删除,代码如下,//准备数据 List<Student> list = new ArrayList<>(); list.add(new Student("male")); list.ad...原创 2019-11-13 18:17:44 · 2693 阅读 · 0 评论 -
利用com.alibaba.fastjson.JSONObject三层封装List对象
1.简写一下,就不亮出来完整的代码了,首先定义一下最外层的 ResultInfoP0类,生成set和get方法就行。public class ResultInfoP0 implements Serializable { private int code; private String msg; private DataPO data; public Re...原创 2019-11-13 18:04:44 · 1321 阅读 · 0 评论 -
List对象属性去重JDK8
一:javabean如下,public class Student { String name; int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return a...原创 2019-05-22 17:30:35 · 3283 阅读 · 0 评论 -
校验数组中是否重复字符串
/** * 判断数组中是否有重复的值 * @param array * @return */ public static boolean cheakIsRepeat(String[] array) { HashSet<String> hashSet = new HashSet<String>(); for (int i = 0; i < a...原创 2019-05-27 17:26:53 · 1578 阅读 · 0 评论 -
Java日期相关的方法
1.Java日期加一天,/** * 增加一天 * @param s * @param n * @return */ public static String addDay(String s, int n) { try { SimpleDateFormat sdf = new SimpleDate...原创 2019-07-18 15:29:54 · 137 阅读 · 0 评论 -
用java -version javac -version得到不同结果的解决办法
java -version javac -version得到不同结果,一个是jdk1.7,一个是jdk12。将path中JAVA_HOME的路径放在最前面,就可以了。参考:JAVA_HOME与JAVA -VERSION不一致怎么办...原创 2019-07-29 10:30:11 · 291 阅读 · 1 评论 -
获取下个月Java和sql的两种实现
sql实现:Oracle实现select to_char(sysdate, 'YYYYMM') as nowDate, to_char(add_months(sysdate, 1), 'YYYYMM') nextDate, to_char(add_months(sysdate, 2), 'YYYYMM') SecondDate from dual;...原创 2017-09-12 14:44:15 · 753 阅读 · 0 评论 -
jar包依赖JDK版本降级,Jsoup降级
公司的jdk环境是1.6,很旧的项目,所以新增加的jar包依赖,需要降级使用,下面方法可以实现降级,降到1.5,或者1.4以下都可以。工具包地址:Retrotranslator-1.2.9解压之后,如图所示:在dos窗口中执行命令如下:降级到1.5使用java -jar D:\apps\Retrotranslator-1.2.9-bin\retrotranslator-t...原创 2018-07-10 18:56:00 · 3559 阅读 · 4 评论 -
正则校验车牌号
包含新能源车,public class RegEXTest { public static void main(String[] args) { String regEx = "^(([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z](([0-9]{5}[DF])|([DF]([A-HJ-NP-Z0-9])[0-9]{4})))|([京津沪渝冀豫云辽黑...原创 2019-05-22 16:40:17 · 2425 阅读 · 0 评论 -
Calendar获取这个月,周,日
public class TestDate { public static void main(String[] args) { // 2019-05-22 Calendar cal = Calendar.getInstance(); System.out.println(cal.get(Calendar.MONTH) + 1); System.out.println(cal...原创 2019-05-22 15:19:53 · 456 阅读 · 0 评论 -
String数组排序去重
利用TreeSet实现,public class TestArray { public static void main(String[] args) { String[] a = { "a", "cb", "c", "a", "ab" }; TreeSet<String> vinFlag = new TreeSet<String>(); for (S...原创 2019-05-22 15:16:52 · 2309 阅读 · 0 评论 -
Dubbo+Zookeeper 使用IDEA MAVEN配置运行dubbo demo
运行dubbo demo 项目,学习使用 dubbo 框架环境准备:zookeeper 下载地址https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/dubbo demo 下载地址https://github.com/apache/incubator-dubbo.gitmaven 下载地址https://maven.apac...原创 2018-05-10 11:48:58 · 8216 阅读 · 0 评论 -
jsoup深度遍历html中所有的子链接
import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;import java.io.IOException;import java.util.*;public class testDOM {...原创 2018-07-10 11:04:13 · 1804 阅读 · 0 评论 -
ResultSet取得返回值和null比较
1.当数据库字段为数值类型的时候,使用getInt()和getShort()接收值时,若值为SQL NULL,会自动转换成0,将无法正确判断。 ps = conn.prepareStatement(sql.toString()); rs = ps.executeQuery(); while (rs.next()) ...原创 2018-07-17 18:31:20 · 3795 阅读 · 0 评论 -
jar包冲突引起的java.lang.NoClassDefFoundError
1.项目中用到httpclient-4.3.jar 和 httpcore-4.3.jar,和http4was8.5.jar冲突,导致服务器编译的时候,不知道去找哪一个jar包里面的类。报错如图所示:2.由于项目没有采用maven管理,只能手动修改jar包下的package路径。mvnrepository.com是很好的jar包下载地址,工具包地址: jarjar » 1.3。原j...原创 2018-07-31 10:38:10 · 8670 阅读 · 2 评论 -
HttpClient POST请求API接口
项目需要做了一个http的接口,POST请求,返回接口数据,JSON 格式参考了许多网上例子,写了一个实现。接口需要头信息,加密签名串。X-Signature(签名串) = Lowercase(Binary2HEX(HMAC-SHA256(APPKEY, Sign)))Binary2HEX 将二进制转换为 HEX HMAC-SHA256 使用 HMAC 算法签名, 摘要算法为 sh...原创 2019-03-08 15:23:13 · 2558 阅读 · 0 评论 -
Unparseable date: “2019-03-27“
虽然开发多年,依然会遇到很多坑,很多知识并不是学以致用,而是实践出真知,譬如:public static void main(String[] args) { try { String dateStr="2019-03-27"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd hh:MM:ss"); Dat...原创 2019-03-27 11:20:49 · 32276 阅读 · 8 评论 -
null.equals引起的空指针
当我们比较两个参数值是否相等的时候,经常用到equals,但是 偶尔我们会忘记判断非空,例如写出这样的代码:这样就会引起空指针,正确的写法是,我们知道java中对equals的定义:对于任何非空引用值x,x.equals(null)都应返回false。关于null的理解:1.null是任何引用类型的默认值,不严格的说是所有object类型的默认值。这对所有变量都是适...原创 2019-03-28 14:09:36 · 18171 阅读 · 0 评论 -
date.before(Date when)
当我们比较两个时间的早晚,会用到Date的before或者after的方法,但是我们通常会忽略判断非空,导致引起空指针,在java api中我们可以看到,原创 2019-03-28 14:20:20 · 1792 阅读 · 0 评论 -
对象序列化
目标:将对象保存到磁盘或者在网络中传递,通过对象系列化,可以将对象保存在磁盘或网络中。为了实现对象系列化,对应的类必须实现下面的两种接口之一:– Serializable– Externalizable...原创 2017-09-15 09:22:27 · 186 阅读 · 0 评论