JAVA
java知识
图图小淘气_real
这个作者很懒,什么都没留下…
展开
-
java获取两个日期之间的所有日期(年月日)
日期工具原创 2022-06-15 10:08:00 · 1788 阅读 · 0 评论 -
SpringBoot实现本地(网络)文件下载和zip压缩包批量下载
zip下载转载 2022-06-04 16:58:15 · 1836 阅读 · 1 评论 -
使用Iterator对List集合进行增加或者删除操作时报异常的分析
一、问题使用Iterator在对List集合进行遍历集合时,如果只是遍历而不进行增加、删除操作时,可以正常运行吗,但是如果我们在使用迭代器对List集合进行插入或者删除时,就会出现Exception in thread "main" java.util.ConcurrentModificationException这个异常。(调用了next方法)代码:package com.example.demo.domain;import java.util.ArrayList;import jav原创 2022-05-29 03:30:29 · 1026 阅读 · 0 评论 -
Java8流式编程GroupBy和求最值示例
流的创建(演示常用的)数组创建Arrays.streamArrays的静态方法stream() 可以获取数组流 String[] arr = { "a", "b", "c", "d", "e", "f", "g" }; Stream<String> stream = Stream.of(arr); Stream<String> stream1 = Arrays.stream(arr);集合创建Collection接口提供了两个默认方法创建流:str原创 2022-05-26 10:26:24 · 847 阅读 · 0 评论 -
Java日期工具类:获取指定月份周明细和获取两个月份间隔月份明细
获取指定月份周明细package com.ruoyi.ad.util;import java.text.SimpleDateFormat;import java.time.*;import java.time.temporal.ChronoUnit;import java.time.temporal.TemporalAdjusters;import java.time.temporal.WeekFields;import java.util.Date;import java.util原创 2021-04-16 13:07:40 · 506 阅读 · 0 评论 -
Springboot 验证码生成图片格式和base64编码格式
生成验证码:提供一个接口,这个接口里,我们将生成的验证码存入session,然后将验证码以图片格式或者base64编码串返回给调用端。校验验证码:提供一个接口,这个接口里,我们收到调用端传过来的校验码,然后从session取出验证码,两个验证码都全部转小写,进行无大小写区分匹配校验,返回true/flase 。存储验证码:生成的验证码,在未生成图片的时候,就将4位验证码字符先存入session,以‘JCCODE’作为存取session的key。创建工具类:import javax..原创 2021-03-31 10:27:51 · 820 阅读 · 0 评论 -
Java实现获取指定长度随机字符串
思路:使用assic码表,三个范围:数字(48-57),大写字母(65-90),小写字母(97-122)代码:import java.util.Random; /** * 随机字符串工具 * * @author volitation * */public class RandomString { /** * 获取指定长度随机字符串 * * @param length * @return */ public static String getRan原创 2021-03-29 13:55:23 · 654 阅读 · 0 评论 -
Java实现对象深度克隆
两种方式: 1). 实现Cloneable接口并重写Object类中的clone()方法; 2). 实现Serializable接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆,代码如下import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;impo原创 2021-03-07 15:45:23 · 880 阅读 · 0 评论 -
Java用*号画菱形(面试题)
题目如下:代码:package com.xieh;import java.util.ArrayList;import java.util.List;import java.util.Scanner;/** * * @author 谢辉 * 思路如下: * 1、一个菱形的行数肯定都是奇数行。例如1,3,5,7,9 * 2、从第一行开始1个*号,后面每行依次在上一行的基础上每次递增2 * 3、得到最大行数和最大行数需要的*的数量,可以绘画菱形了 */public原创 2021-03-04 10:14:01 · 607 阅读 · 5 评论 -
干支纪年
干支纪年表代码实现:package com.xieh;public class Demo { public static void main(String[] args) { // System.out.println(gzYear(1911)); for (int i = 1800; i < 2035; i++) { System.out.println("年份:" + i); System....原创 2021-01-22 15:28:48 · 172 阅读 · 1 评论 -
猴子吃香蕉-Java岗位面试题
原题:一只猴子收到一筐香蕉,猴子每天吃了筐中的一半香蕉后,又多吃了一个,直到第10天,这筐香蕉刚好吃完,请写段代码计算出这筐香蕉最初有几个。解题思路:首先就像做数学题一样,获取题目中重要的信息。思考一下,猴子在第10天的时候筐中的香蕉数量是几个才能刚好吃完?2/2 - 1 = 0,所以第10天香蕉的数量一定是2个的时候,猴子才能刚好吃完。所以:// 第10天吃的香蕉数量一定是2个// 第9天的香蕉数量是6个// 第8天的香蕉数量是14个// 第7天的香蕉数量是3.原创 2021-01-13 11:41:59 · 1207 阅读 · 0 评论 -
java多个文件打包成zip格式下载
我们在使用java下载时候,通常是通过路径获取二进制文件,再通过HttpServletResponse发送到前台,现在将多张图片打包成zip格式进行下载。代码如下:ZipOutputStream zos = null;BufferedInputStream br = null;//下载方法try { //文件的名称 String downloadFilename = registrationLoginResultVo.getBusinessName()+".zip"; r原创 2021-01-06 11:02:03 · 1413 阅读 · 2 评论 -
Java反射机制记录
Class对象获取的三种方式Java反射操作都需要首先获取Class对象。获取Class对象的方式有三种:公有属性class 方法getClass() Class.forName()示例:public class ReflectClassDemo { /** log4j */ private static final Logger LOGGER = Logger.getLogger(ReflectClassDemo.class); /** * <p&原创 2020-12-29 14:04:24 · 119 阅读 · 0 评论 -
通过网络地址下载图片示例
示例一:package com.xieh;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;public class TestDownLoad原创 2020-12-29 12:10:47 · 312 阅读 · 0 评论 -
url中特殊字符被转义成编码后处理
开发时有时服务端返回的json中包含url,url中可能含有一些特殊字符,这些特殊字符在传输的过程中可能会被转义成编码。这时候我们拿到手里要如何转换回去呢,先看下那些字符可能会被编码例:String url = "http://www.baidu.com/signedUrl%3Fsignature=eyJhbGciOiJSUzI1NiJ9.ey";String url2 = "http://192.168.73.88:9099/hefei/decision/road/cartrack?type=原创 2020-12-18 19:26:49 · 3157 阅读 · 1 评论 -
使用axios解决$.ajax不能下载文件问题
我们在使用ajax请求去向服务端下载文件时,我们通常从服务端拿到的只是一个字符串,jquery自动的将文件中的内容解析为字符串传给我们,此时,我们便不能再使用jquery的ajax请求来下载文件前端代码:<script src="../js/axios.min.js"></script> $("#carExport").click(function() { axios.post(basePath + '/excel/car', JSON.strin原创 2020-12-18 00:42:39 · 627 阅读 · 0 评论 -
Java实体类Bean与Map互相转化(两种方式)
前言:实体类和map相互转换,实体类需要有无参构造,不然会出现异常。一:BeanUtils类来实现pom:<dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.8.0</version> <scope&g.原创 2020-12-10 19:35:11 · 2038 阅读 · 0 评论 -
Java导出Excel
POI简介POI简介:Jakarta POI 是一套用于访问微软格式文档的Java API。Jakarta POI有很多组件组成,其中有用于操作Excel格式文件的HSSF和用于操作Word的HWPF,在各种组件中目前只有用于操作Excel的HSSF相对成熟。官方主页http://poi.apache.org/index.html,API文档http://poi.apache.org/apidocs/index.html引入pom <dependency>原创 2020-12-09 22:04:23 · 292 阅读 · 1 评论 -
Java线程池与异步编排
Java创建线程的四种方式1.继承Thread类实现多线程public class MyThread extends Thread { public MyThread() { } public void run() { for(int i=0;i<10;i++) { System.out.println(Thread.currentThread()+":"+i); } } pub原创 2020-12-06 00:12:24 · 1463 阅读 · 1 评论 -
Apache HttpClient工具类
1.测试:package myHttpClient; /** * Hello world! * */public class myApp { public static void main(String[] args) throws Exception { String reString = HttpClientUtils.doGet("https://www.baidu.com/").getContent(); System.out.print(reString); }}原创 2020-12-04 10:00:00 · 943 阅读 · 0 评论 -
fastjson解析数据后导致顺序改变问题
开发过程中遇到一个问题,服务器经过排序返回后的字符串数据使用fastjson解析后,数据顺序发生变化,引起业务异常。解决办法:1、解析时增加参数不调整顺序JSONObject respondeBodyJson = JSONObject.parseObject(jsonStr, Feature.OrderedField);2、初始化json对象为有序对象:JSONObject retObj = new JSONObject(true);这样生成的json对象就与放入数据时一致。原创 2020-12-03 16:54:09 · 2096 阅读 · 0 评论 -
Java使用springboot发送邮件
废话不说直接上代码!!!pom文件:<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>原创 2020-11-24 14:33:35 · 265 阅读 · 1 评论 -
Java的HttpRequest请求工具类
package com.xieh;import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStre.原创 2020-11-21 22:54:32 · 1221 阅读 · 0 评论 -
40个Java集合面试问题和答案
Java集合框架为Java编程语言的基础,也是Java面试中很重要的一个知识点。这里,我列出了一些关于Java集合的重要问题和答案。1.Java集合框架是什么?说出一些集合框架的优点?每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java并发包中,阻塞接口以及它们的实现。集合原创 2020-11-14 14:16:46 · 172 阅读 · 0 评论 -
java集合超详解
一、集合大纲1.集合和数组的区别:2.Collection集合的方法:3.常用集合的分类:Collection接口的接口 对象的集合(单列集合)├——-List接口:元素按进入先后有序保存,可重复│—————-├LinkedList接口实现类, 链表, 插入删除, 没有同步, 线程不安全│—————-├ArrayList接口实现类, 数组, 随机访问, 没有同步, 线程不安全│—————-└Vector接口实现类 数组,...原创 2020-11-14 14:15:56 · 151 阅读 · 0 评论 -
Java和JS的千分位分隔符
Java:package com.xieh;import java.text.DecimalFormat;public class MoneyFormat { public static void main(String args[]) { double n = 2000000.1458; DecimalFormat df = new DecimalFormat("#,###.00"); String m = df.format(n);原创 2020-11-13 09:27:59 · 270 阅读 · 0 评论 -
Map集合排序问题
首先我们应该清楚这个概念:这里的有序和无序不是指集合中的排序,而是是否按照元素添加的顺序来存储对象。list是按照元素的添加顺序来存储对象的,因此是有序的。他的实现类ArrayList、LinkedList、Vector都是有序的。Map是无序的,它的存储结构是哈希表<key,value>键值对,map中插入元素是根据key计算出的哈希值来存储元素的,因此他不是按照元素的添加顺序来存储对象的,所以Map是无序的。它的实现类有:HashMap、TableMap和TreeMap。其中Li原创 2020-11-12 22:09:26 · 1972 阅读 · 1 评论 -
java判断坐标是否在某一个区域内(圆形,多边形)
import java.awt.geom.Point2D;import java.util.ArrayList;import java.util.List;public class regionUtil { private static double EARTH_RADIUS = 6378137; //private static double EARTH_SEA = 1.852;海里 private static double rad(double d) { .原创 2020-11-12 14:53:45 · 5179 阅读 · 3 评论 -
二进制与十进制转换工具类
package util;/** * 二进制工具类 * * @author 谢辉 * @time 2020.07.01 * */public class BinaryUtil { /** * 十进制数字转二进制 * * @param num 十进制数字 * @param strResult 结果容器,追加结果用, * @return 返回结果字符串 */ public static String DecimalToBinary(Integer .原创 2020-07-01 23:21:47 · 771 阅读 · 0 评论 -
使用filter代替jsp获取参数
本人博客园文章地址:使用filter代替jsp获取参数原创 2020-04-12 17:09:11 · 125 阅读 · 0 评论 -
java读取excle内容(类似表结构)
代码:package com.test.word;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.OutputStream;import java.util.ArrayList;import java.util.HashMap;i...原创 2019-12-27 11:21:39 · 143 阅读 · 0 评论 -
jQuery同时添加或移除多个class类名
同时添加多个类名://方式一:$('selector').attr('class','a b c');//方式二:$('selector').addClass('a b c');同时移除多个类名://只需要通过空格来间隔 class 值即可一次性清除掉多个 class$('selector').removeClass('a b c');补充:addCl...原创 2019-12-14 10:30:15 · 4846 阅读 · 0 评论 -
java获取昨天今天明天的日期
我刚写完这个代码,就被开除了........代码双手奉上以备后用:package mydemo;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;public class Thre...原创 2019-12-14 00:51:24 · 1902 阅读 · 1 评论 -
定时器防抖案例
HTML:<body> <div class="wrapper"> <div class="center"> </div> <div class="main"> <div class="left"> <a href="#" class="sy">首页</a>...原创 2019-11-30 17:22:44 · 699 阅读 · 0 评论 -
JS模拟圆周运动
Math.sin(x) x 的正玄值。返回值在 -1.0 到 1.0 之间;Math.cos(x) x 的余弦值。返回的是 -1.0 到 1.0 之间的数;这两个函数中的X 都是指的“弧度”而非“角度”,弧度的计算公式为: 2*PI/360*角度;30° 角度 的弧度 = 2*PI/360*30如何得到圆上每个点的坐标?解决思路:根据三角形的正玄、余弦来得值;假设一个...原创 2019-11-25 01:38:59 · 306 阅读 · 0 评论 -
JAVA读取写入excle表兼容版
Maven依赖: <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi&...原创 2019-11-25 00:29:01 · 174 阅读 · 0 评论 -
Navicat生成的.psc格式文件数据库导入
psc格式文件为Navicat 系列软件的备份文件,恢复时需要把psc格式文件放到Navicat安装目录,新建一个空的数据库,剩下操作如下图所示,还原psc格式文件到数据库,完成后再导出为SQL文件格式文件在进行数据库导入操作:打开文件后,切换选项卡你会看见需要还原的数据库的表,如下图:(这里需要注意?是,不要使用版本过低的对应Navicat版本,否则会出现还原错误失败)导入完成后...原创 2019-11-19 21:14:29 · 5529 阅读 · 0 评论 -
js中把类数组转化为数组
说起伪数组,首先想到arguments, 这个我们函数参数的一个类数组,是类数组的代表。1.拥有length属性,可以使用下标来访问元素,这两点和数组相同。2.不能使用数组的方法,他们不能使用Array的方法。现在需求就是把类数组对象转化为数组对象,下面我们看一下这些方法。1.创建新数组,把类数组的元素添加到新数组中,大家都会我就不写了2.通过Array.prototyp...原创 2019-11-15 22:59:02 · 1263 阅读 · 0 评论 -
静态HTML页面的参数的获取
前言:继:JS获取地址栏中的参数文章续。"万能JSP":对于java开发的程序员,jsp获取参数真的是太简单了,虽然是基础知识,但是往往是走向高级程序员的重要基石,永远不要小看基础知识,下面来复习一下jsp页面获取参数...如:http://localhost:8080/SpringMVC/hello.jsp?name=john,在hello.jsp页面,我们可以这样得到...原创 2019-11-06 23:08:57 · 3251 阅读 · 0 评论 -
java生成指定范围的随机数
这里举例两种方法:方法1:Math.random() for (int i = 0; i < 30; i++) { // 最小值:1 + 0.0*10 = 1 + 0 =1 // 最大值:1 + 0.99*10 = 1 + 9.9 = 10.9 = 10 System.out.println((int) (1 + Math.random() * 10)...原创 2019-11-05 17:55:25 · 1454 阅读 · 0 评论