java杂记
记录java一些琐碎知识和相关技术
大音~希声
这个作者很懒,什么都没留下…
展开
-
Java回调函数是什么?实现的方式有哪些
Java回调函数原创 2022-11-21 15:03:01 · 405 阅读 · 0 评论 -
浅谈ThreadLocal
浅谈ThreadLocal原创 2022-11-02 15:55:25 · 125 阅读 · 0 评论 -
自定义注解验证对象多级复杂属性以及不同属性之间校验(属性不能为空)
注解验证属性不能为空,以及当一个属性是什么样的时候,另一个属性不能为空原创 2022-09-16 11:24:37 · 1034 阅读 · 0 评论 -
jsp中加了一个html页面乱码
jsp中加载html页面乱码处理原创 2022-08-04 11:24:17 · 290 阅读 · 0 评论 -
使用json传递byte[]给前台
二进制传输前端的方式原创 2022-06-28 17:46:59 · 2126 阅读 · 0 评论 -
MyBatis 写入数据时带出id(包含oracle和Mysql自增)
oracle自增主键实现,以及mybatis获取自增主键原创 2022-06-10 15:12:31 · 634 阅读 · 0 评论 -
JAVA服务域名二级证书步骤
1.申请二级域名,会有两个文件(后缀.key .pem)7310525__linkxxx.com.key7310525__linkxxx.com.pem2、在服务器执行openssl pkcs12 -export -out calloutapptest.linkxxx.com.pfx -inkey 7310525__linkxxx.com.key -in 7310525__linkxxx.com.pem-- 输入两次密码需要记住Enter Export Password:Verifyin原创 2022-04-19 11:37:22 · 522 阅读 · 0 评论 -
mybatis多数据源的驼峰命名法
一、背景配置多数据源,驼峰失效mybatis: configuration: map-underscore-to-camel-case: true但数据源没问题,多数据源不知道那个数据源用,所以配置bean的时候配置一下二、解决方案设置如下代码即可org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration(); configur原创 2021-10-14 17:59:49 · 480 阅读 · 0 评论 -
工作中优雅的创建多线程(附带源码分析)
一、创建的几种方式(看看就好,项目中都用线程池,没人单独创建,这里复习一下)1、继承Threadpublic class ThreadDemo extends Thread{ @Override public void run() { System.out.println("我继承了Thread"); } public static void main(String[] args) { ThreadDemo eh = new Threa原创 2021-09-08 01:48:42 · 603 阅读 · 1 评论 -
Linux下RocketMQ详细步骤
一、安装RocketMQ需要安装maven1、安装maven下载wget https://mirrors.cnnic.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz --no-check-certificate解压tar -xf apache-maven-3.5.4-bin.tar.gz 2、配置环境变量全局环境变量或者用户环境变量即 /etc/profile或.bash_profile文件在其中原创 2021-09-07 16:03:13 · 333 阅读 · 0 评论 -
js获取本周本月第一天和最后一天
转载于https://www.cnblogs.com/sxxjyj/p/6093326.htmlvar now = new Date(); // 当前日期var nowDayOfWeek = now.getDay(); // 今天本周的第几天var nowDay = now.getDate(); // 当前日var nowMonth = now.getMonth(); // 当前月var nowYear = now.getYear(); // 当前年nowYear += (nowYear <转载 2021-07-19 16:45:56 · 553 阅读 · 0 评论 -
list里面的对象属性去重和覆盖
jdk1.8一、去重(set去重)List<Message> list= new ArrayList<>();...List<Message> unique = list.stream().collect(Collectors.collectingAndThen( Collectors.toCollection(() -> new TreeSet<>( Comparator.comparing(Message::getPhon原创 2021-05-13 11:18:19 · 582 阅读 · 0 评论 -
tomcat服务访问本地资源
一、背景项目经常会上传文件,并且预览,如头像之类的,如果放置于项目中,更新项目会有问题。二、方案写入本地,不做介绍。主要在于读取:在tomcat的server.xml 文件中 Host标签中添加如下1)windows中<Context path="/appletcode" docBase="E:\home\crmmeeting\appletcode" debug="0" reloadable="true"></Context>2)linux中<Contex原创 2021-04-13 16:43:20 · 610 阅读 · 0 评论 -
mybatis返回一个内部类
一、背景需要返回一个内部类出错二、解决注意两个点即可1、返回类型的写法resultType="com.netxxx.crm.outbound.util.FormatMessageUtil$Message"普通类和内部类之间不要用“.”,用“$”,虽然编译器对这两个都能跳转。2、内部类必须是静态的非静态的内部类的创建需要依赖外部类...原创 2021-04-09 10:54:11 · 859 阅读 · 0 评论 -
导出excel 报错The maximum column width for an individual cell is 255 characters
一、背景导出excel,某列数据太长二、解决/** * 自动调整列宽 * * @param sheet * @param columnNumber */ private static void autoSizeColumns(Sheet sheet, int columnNumber) { for (int i = 0; i < columnNumber; i++) { int orgWidth =原创 2021-03-17 10:43:32 · 4987 阅读 · 1 评论 -
RestTemplate 发送请求报415
一、现象Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.web.client.HttpClientErrorException$UnsupportedMediaType: 415二、RestTemplate如何让发送参照https:原创 2020-11-09 13:59:25 · 956 阅读 · 0 评论 -
spring的监听器应用以及监听器里面注入bean(需调用service)
一、应用场景需要程序启动后,不断地对一个接口访问二、代码(xml版本)web.xml<!-- 自定义监听器 外呼接口回执 --> <listener> <listener-class>com.xxxx..listener.OutboundListener</listener-class> </listener>自定义的监听器public class OutboundListener extends T原创 2020-11-03 17:14:03 · 1166 阅读 · 0 评论 -
java随机返回0或者1
int i = new java.util.Random().nextBoolean() ? 1 : 0;原创 2020-10-14 09:44:33 · 4373 阅读 · 0 评论 -
JSONArray对于日期格式的处理
所有的操作都是在这个包下操作的(不是阿里那个,后续整理)import net.sf.json.JSONArray;import net.sf.json.JsonConfig;一、问题JSONArray json = JSONArray.fromObject(list);日期格式会变成:"createDate":{"date":13,"day":2,"hours":0,"minutes":0,"month":9,"seconds":0,"time":1602518400000,"timezone原创 2020-10-13 13:42:41 · 2118 阅读 · 0 评论 -
shiro登录流程源码详解(手把手带你读源码)
一、源码解读(本文使用idea的截图)1、我们在登录控制层经常会写这么一段 UsernamePasswordToken token = new UsernamePasswordToken(username, password); Subject subject = SecurityUtils.getSubject(); try { subject.login(token); return R.ok(); }原创 2020-09-15 22:35:11 · 699 阅读 · 0 评论 -
shiro实现单个账户只能在一个地方登录(基于浏览器)
前序:我认为这种不叫做单点登录(本文不做详细配置流程)一、预览二、实现步骤1、登录LoginControllerUsernamePasswordToken token = new UsernamePasswordToken(username, password); Subject subject = SecurityUtils.getSubject(); try { subject.login(token); retu原创 2020-09-15 22:15:54 · 1492 阅读 · 4 评论 -
java下载边下载边打包,在加载中增加文件夹
一、预览1、文件在服务器上全在一个文件夹下2、下载的时候是这种结构aaa.zip 中包含文件夹 b、c、d将文件下载到a、b、c中二、代码 public void downloadReportFiles(HttpServletResponse response,String tids){ try{ response.setContentType("application/x-msdownload"); response.setHea原创 2020-08-13 15:06:04 · 309 阅读 · 0 评论 -
java发送邮件 html格式内容 多附件
一、预览原创 2020-08-11 17:17:15 · 735 阅读 · 0 评论 -
ftp的上传与单文件下载
一、预览(登录根目录下的report下存储)二、代码ftp参数public class TimeFTPconfig { private Integer id; private String host; private Integer port; private String user; private String pass; public Integer getId() { return id; } public void setId(Integer id) { this.原创 2020-08-11 16:59:53 · 243 阅读 · 0 评论 -
导出excel(单行表头+组合表头),java后台生成
1、效果图2、代码1)工具类package com.bootdo.common.utils;import com.bootdo.biz.domain.ExcelDO;import org.apache.poi.ss.usermodel.*;import org.apache.poi.ss.usermodel.Font;import org.apache.poi.xssf.usermodel.XSSFCellStyle;import org.apache.poi.xssf.usermode原创 2020-07-13 15:31:32 · 2400 阅读 · 5 评论 -
集合求差集之能用set用set
如题:集合去重removeAll是少不了的,set效率吊打list,有重复集业务没关系,removeAll()里面用set总没错吧。 Set<Integer> set1 = new HashSet(); Set<Integer> set2 = new HashSet(); List<Integer> list1 = new ArrayList(); List<Integer> list2 = new ArrayList(); f原创 2020-05-27 14:10:12 · 269 阅读 · 0 评论 -
java画pdf案例(itext),以及在SpringBoot中的应用
一、引人眼球、唾弃无脑照搬作者刚好用到的业务比较简单,没有用到图片,样式确实比较难调。画pdf使用的是itext,这个东西好像是被收购过,不同版本的api有点不一样,不影响,测试的工具和项目中用的不一样。 <dependency> <groupId>itext</groupId> <artifactId>itext</artifactId> <version>原创 2020-06-29 10:17:25 · 1159 阅读 · 0 评论 -
java杂记
1、三个表 语文成绩比数学高的select * from student a,(select * from sc where cid = (select cid from source where name=‘语文’ )) b,(select * from sc where cid =(select cid from source where name=‘数学’ )) cwhere a.s...原创 2020-02-18 17:41:51 · 129 阅读 · 0 评论 -
java发送请求访问接口(传递数据及上传文件)
一、使用原生jdk带的HttpURLConnection访问参数通过io流,麻烦的不行,写了一大堆,参数传输稀烂。(折腾半天有人说用RestTemplate啊,真可谓书到用时方恨少)二、Spring RestTemplate废话不多说,测试时,客户端private static RestTemplate restTemplate=new RestTemplate();1、get请求...原创 2020-01-15 23:56:33 · 5262 阅读 · 1 评论 -
java获取重定向后的网址(检测是否被篡改了主页)
背景:检测自己网站是否被人篡改<dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.8.2</version></dep...原创 2020-01-14 14:47:24 · 662 阅读 · 0 评论 -
jdk1.7创建最简单的SpringBoot
1、idea任意创建一个maven项目2、pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...原创 2020-01-11 13:58:18 · 1586 阅读 · 0 评论 -
springboot整合mybatisplus
开局警告:任何项目以最好看官方文档、避免半吊子博客坑人。首先idea一顿乱点建好springboot,测试成功后开始整合mybatis官方网址:https://baomidou.gitee.io/mybatis-plus-doc/#/quick-start一、导入依赖//引入当前版本依赖<dependency> <groupId>com.baomidou&...原创 2020-01-08 16:39:16 · 149 阅读 · 0 评论 -
反射
Java反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;并且能改变它的属性。我们知道反射机制允许程序在运行时取得任何一个已知名称的class的内部信息,包括包括其modifiers(修饰符),fields(属性),methods(方法)等,并可于运行时改变fields内容或调用methods。那么我们便可以更灵活的编写代码,...原创 2019-12-12 17:18:43 · 129 阅读 · 0 评论 -
Java修饰符的理解以及反射访问属性private的意义
一、访问控制修饰符:friendly(默认)!1、接口控制修饰符不写,默认的是?不写默认的依然是friendly。(同包没问题,不同包编译器报错,abstract写不写都行,看来是默认抽象)2、既然反射访问属性private的意义private想表达的不是“安全性”的意思,而是OOP的封装概念,是一种编译器可以帮助你的设计上的hint。通俗的将就是只要人想拿到属性肯定能拿到,这个只是编...原创 2019-12-12 17:08:53 · 411 阅读 · 0 评论 -
tcp连接的建立与释放(三次握手和四次挥手)三报文握手
tcp其实握手一次,平时所说是发送三次报文建立一次连接问什么要发送三次?答:当客户端想服务器端发送一个报文,中途出演延迟身一系列因素未到达(滞留在网络中),会再发一次,然后服务器返回确认的报文,此时客户端收到确认的报文就建立tcp连接,使用完销毁,然后最初发送的报文又到了服务端,服务端发送确认报文,此时再建立连接就不对了,故此需要第三次报文确认。...原创 2019-12-10 22:41:28 · 942 阅读 · 0 评论 -
表格前几列固定滚动条滑动(bootstrap)动态表头
项目需求是表头三行,动态获取,数据封装和第三行的属性得对应(核心) function buildTable($el, cells, rows) { var columnsone = [], columnstwo = [], columnsthree = [], datayk = [], ...原创 2019-12-04 11:34:25 · 1130 阅读 · 0 评论 -
rsa加密前后端交互(附带源码)
1、生成模hex、公钥指数hex私钥指数hex。上述完成了前台加密解密后台加密解密。原创 2019-11-06 16:48:36 · 1849 阅读 · 0 评论 -
Java excel导出(ie兼容)
导出excel可以前台导出也可后台导出一、前台导出(实质上已与java无关–js导出)function loadxls(){ //获取下 var textCetent = $(".textCetent").text(); //console.log(textCetent); //获取table的...原创 2019-12-03 14:27:10 · 658 阅读 · 0 评论 -
从数学的角度看rsa加密
rsa加密一、先上代码//生成两个素数 System.out.println(BigInteger.probablePrime(10, new Random())); System.out.println(BigInteger.probablePrime(10, new Random())); //653 857 //System.out.println(653*857...原创 2019-10-30 23:20:59 · 126 阅读 · 0 评论 -
@Autowired一个接口有多个实现类
之前用到@Autowired这个注解的时候,总是纳闷public class B implements A;public class C implements A;@Autowiredprivate A a;此时a调用方法是调用B的方法还是C的方法,实测如此启动会报错抛出了org.springframework.beans.factory.BeanCreationException,而...原创 2019-09-24 23:55:28 · 3412 阅读 · 1 评论