自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 收藏
  • 关注

原创 Java中Bean和Bean集合的复制——解决BeanUtils.copyProperties不支持复制集合和map方案

这样可以得到复制后的bean集合,比for循环BeanUtils.copyProperties方法更快,更优雅。我们在项目中总是遇到实体类(entity)和视图类(vo)需要相互转换,可能是单个bean、可能是bean集合。优点:当需要set多个字段时可以使用BeanUtils.copyProperties方法,提高代码可读性。思路:单个bean可以用set方法修改属性字段,集合就循环set。可以将两个bean相同的字段属性复制给后者,即使是null。

2023-01-09 17:43:59 2567 1

原创 解决导出多个Excel表ZipOutputStream内存溢出问题——java heap space

在本地跑没有问题,但上传到服务器导出是,报错java heap space(内存溢出)。3、解决方案:先生成临时文件,然后再一点点写入压缩流里。1、检查错误,这段代码的问题。2、原因:流溢出导致程序报错。

2022-12-14 13:41:56 1838

原创 导出多个Excel表生成多级目录压缩包——ZipOutputStream+easypoi

ZipOutputStream是一种压缩流,是Java用来生成zip压缩包的应该类。下面熟悉一下主要内容:创建压缩流zip包下的目录词条,创建zip实体将实体推入压缩流里。

2022-12-14 11:33:17 1265

原创 easypoi——Excel表自定义模板样式(简单丝滑)

在网上浏览了很多其他的博客,发现如果想要实现自己的样式,就需要重新生成一个文本簿,然后再慢慢添加样式,添加表头,但浪费了我们写的实体类注解,很是麻烦。现在,把你想要的样式写入ExcelExportStylerUtil类即可实现,目前只是提供了单元格边框、字体居中的功能。这一篇文章可以与上一篇文章完美融合,使用起来非常丝滑,解决你Excel表的大部分问题。

2022-11-23 17:23:37 1835

原创 EasyPoi——导出导入表格数据工具(解决groupName无法获取数据问题)

Easypoi主打的功能就是容易,让一个没见接触过poi的人员就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,PDF模板,通过简单的注解和模板语言,完成功能。@ExcelCollection 表示一个集合,主要针对一对多的导出,比如一个老师对应多个科目,科目就可以用集合表示。@Excel 作用到filed上面,是对Excel一列的一个描述。

2022-11-22 10:11:42 1636 1

原创 Mybatis——数据库交互数据的注解和标签

虽然mybatis只提供了if标签,没有提供else标签。但并妨碍我们使用判断标签,因为mybatis提供了另一个标签来代替了if-else——这时候我们只能在映射文件中实现判断是否完全相同数据这一功能。我们一般单表判断可以直接使用mybatis-puls的eq方法来判断。标签来完成功能,上面案例就一个判断是否相同数据的某一段判断。但它有一个缺陷,就是如果我们需要判断一条数据是否与数据库的。@Param的作用就是给参数命名,类似给一个别名。@Param一般用在传递了一个集合时使用。

2022-11-21 15:12:57 440

原创 力扣——12. 整数转罗马数字

数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。例如, 罗马数字 2 写做 II ,即为两个并列的 1。由于题目给了很多限定,所以我们可以把会出现的罗马数字与对应的数值写在集合里,后面可以直接用。解释: M = 1000, CM = 900, XC = 90, IV = 4.I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。解释: L = 50, V = 5, III = 3.

2022-11-16 14:59:44 98

原创 力扣——11. 盛最多水的容器(双指针)

有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。首先我们要明确,越高的边约能容纳更多的水、约宽的边约能容纳更多的水。所以一开始以最宽的两边为指针向内缩,在移动时,我们保留更高的边。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。输入:[1,8,6,2,5,4,8,3,7]输入:height = [1,1]

2022-11-16 14:44:11 94

原创 spring注解使用习惯-Control层前后端交互

需要返回短字段或者少量字段,常用在select、delete需要返回大量字段,常用在update、create原因:get请求所带的数据是拼接在url后,长度是有限的;post请求所带的数据是不设限的,放在请求体里。

2022-11-15 10:14:15 282

原创 Mybatis——xml文件映射sql返回结果为null或者一次查询出现多个结果问题

使用mybatis的xml映射sql查询时,如果查询结果没有数据,就返回为空,不会生成对象(正常现象是无论查询结果如何,都会返回生成一个对象),如果模糊查询有数据,就会报错,错误:一个查询出现两个结果。

2022-11-04 10:36:39 1151

原创 java输入问题——scanner问题

Scanner.hasnext()循环无法结束。Scanner.nextLine()方法被跳过。

2022-10-26 16:26:42 770

原创 秋招面经——上海汉得Java(9.27)

我:假设有A、B两表,通过连接筛选条件得到结果,左连接是:A表与B表的重合部分加上A表未重合的部分;全连接是:AB两表重合的部分,加A表未重合的部分、加B表未重合的部分。我:首先对象创建是先存放在新生代中,然后经历gc没有被回收会晋升到生存者区,然后经历gc还没被回收且达到晋升条件,那就晋升到老年代,如果当中被gc回收了,那就结束了。equals只能用于比较两个对象是否相等,在没有重写equals方法时,和==相同,但在String类中重写了equals方法,是比较两者中的值是否相等。

2022-10-15 16:18:27 881

原创 java面试——JVM(内存结构、垃圾回收、内存溢出)

对于JVM内存配置参数:-Xmx10240m -Xms10240m -Xmn5120m -XX:SurvvorRatiO=3具最小内存值和Survivor区总大小分别是?所谓的双亲委派,就是指优先委派上级类加载器进行加载,如果上级类加载器。GC的目的在于对无用的对象内存自动释放,减少内存碎片、加快分配速度。虚拟机栈:存储方法内的局部变量、方法参数、线程。除程序计数器外,都有可能产生内存溢出。方法区与永久代、元空间之间的关系。说说GC和分代回收算法。方法区:存放类的信息。类加载过程、双亲委派。

2022-09-19 11:17:54 235

原创 Java面试——单例模式(5种写法、可能存在的问题)

破坏单例:反射破坏单例、反序列化破坏单例(单例实现了序列化接口)、Unsafe破坏单例。反射破坏原理:获取单例的类名,用反射机制强行访问构造方法,生成新的对象。防止反射破坏:在构造方法中判断是否已经生成实例,如有则抛出异常。构造方法私有,提供一个静态的成员变量,提供公共静态方法访问。防止:写一个特殊方法 readResolve。枚举类单例可以防止反射破坏、反序列化破坏。定义:一个类只有一个实例。饿汉式:一开始就生成实例。懒汉式:需要时才生成实例。懒汉式多线程时会有问题。不用考虑线程安全问题。

2022-09-17 22:14:33 251

原创 Java面试——并发问题(sleep、synchronized、volatile等)

1.8之前ConcurrentHashMap使用了Segment+数组+链表的结构,每个Segment对应一把锁,如果多个线程访问不同的Segment,则不会冲突。1.8开始ConcurrentHashMap将数组的每个头节点作为锁,如果多个线程访问的头节点不同,则不会冲突。Hashtable并发度低,整个Hashtable对应一把锁,同一时刻,只能有一个线程操作它。Hashtable初始数组大小是11、扩容阈值是超过3/4,扩容数量是原容量*2+1。3.keepAliveTime 生存时间。

2022-09-16 20:27:28 434

原创 java面试——集合HashMap源码理解问题

hashCode 都有了,为何还要提供 hash()方法?数组容量为何是2的n次幂?key能否为null,作为key的对象有什么要求?介绍一下put方法流程,1.7和1.8有何不同?加载因子为何默认是0.75f。数据错乱(1.7、.18)多线程下会有什么问题?

2022-09-15 19:47:44 200

原创 java面试——集合(ArrayList、lterator、LinkedList)源码理解

了解源码,才能更了解方法的运行过程

2022-09-14 20:14:45 154

原创 剑指 Offer II 004. 只出现一次的数字

题目给出了一个数组,里面只有一个数值是唯一的,其他数值都有三个,我的思路是直接排序,然后遍历数组找唯一不同的数值。但这道题其实是用位运算解决的,目前不会,等会了再回来更新,或者有大佬可以评论教一下。...

2022-06-28 16:44:54 75

原创 力扣26. 删除有序数组中的重复项

用双指针来解决

2022-06-27 16:10:53 160

原创 ArrayList 和 LinkedList 的区别

ArrayList是基于动态数组实现的集合。LinkedList是基于链表实现的集合。

2022-06-27 15:22:44 228

原创 力扣 9. 回文数

从题目来看,可以看出负数肯定不是回文数,需要从左到右,再到从右往左要一模一样。因为给的数字,这道题有两种解法,分别是字符串解法、数学解法。注意:0也是回文数。可以将该数值转换成字符串,然后再用双下标判断,就是一个下标是最左边,一个是最右边,两下标向中间逼近,判断两下标的值是否相同。数学解法因为是数值,可以用取余再乘的方法将值倒转,然后两数值是否相等,如果相等,即是回文数。...

2022-06-25 15:32:04 1706 2

原创 力扣1. 两数之和

题解可以像冒泡排序一样遍历目标数组,找到数组内两个数相加等于目标数值,返回两个数值的下标,否在返回0;

2022-06-25 15:13:54 51

原创 数组(入门理解)

文章目录数组概念数组类型数组的基本操作面试中关于数组的常见问题总结数组概念数组是最简单、也是使用最广泛的数据结构。栈、队列等其他数据结构均由数组演变而来。理解了数组才更容易理解其他的数据结构。下图是一个包含元素(1,2,3和4)的简单数组,数组长度为4。每个数据元素都关联一个正数值,我们称之为索引,它表明数组中每个元素所在的位置。大部分语言将初始索引定义为零。索引相当于指向,如下标 0指向的是值是 1。提示:以下是本篇文章正文内容,下面案例可供参考数组类型以下是数组的两种类型:一维数

2022-04-28 11:49:01 260

原创 Mybatis——typeAliases,全限定名,降低冗余

文章目录类型别名(typeAliases)typeAliases用在哪里?位置书写没使用前使用后类型别名(typeAliases)类型别名可为 Java 类型设置一个缩写名字。写过全限定名的知道,全限定名是真的长,如果再没有自动提示,估计痛苦程度还能再上升一个级别,现在有了typeAliases,可以用一个别名代替全限定名,大大减少了代码名字长度。typeAliases用在哪里?位置typeAliases标签用在mybatis的xml文件里,我们一般将这配置文件放在resources文件里,一.

2021-12-30 16:58:54 405

原创 Mysql information_schema数据库学习

文章目录information_schema数据库1.概述——MySQL百科全书2.information_schema数据库表功能说明information_schema数据库1.概述——MySQL百科全书information_schema数据库和performance_schema 数据库是MySQL自带的,其中performance_schema 数据库用于性能分析,而information_schema数据库提供了访问数据库元数据的方式。什么是元数据呢?元数据是关于数据的数据,如数据库名.

2021-12-27 20:28:55 102

原创 java打印一维数组

文章目录前言System.out.println()语句直接打印数组出错Java打印一维数组的方法1.for 和for-each循环1.for循环2.for-each 循环示例:2. Arrays.toString() 方法3. Arrays.deepToString() 方法4. Arrays.asList() 方法前言System.out.println()语句直接打印数组出错int[] intArray = {1,2,3,4,5,6};System.out.println(intArray.

2021-12-27 19:24:48 1677

原创 maven——安装与配置详解Windows10

文章目录一、maven安装官网链接解压后二、maven配置1.配置环境变量1.右键我的点击--->属性2.高级系统设置--->点击3.点击环境变量4.点击新建环境变量----变量名为MAVEN_HOME,变量值为你解压的文件路径。5.在系统变量中找到path,点击编辑,在最后追加%MAVEN_HOME%\bin。6.检查是否配置成功2.配置setting文件1.配置你的本地仓库2.配置阿里云镜像3.配置maven全局JDK版本一、maven安装官网链接官网下载提示:maven3.3+.

2021-12-27 15:47:54 545

原创 力扣217. 存在重复元素

文章目录217. 存在重复元素题目链接题目示例 1:示例 2:示例 3:答案代码整体思路1.对待测数组进行排序2.遍历数组,判断是否存在重复元素可以尝试多种排序方法217. 存在重复元素题目链接传送门:题目题目给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:.

2021-12-27 10:04:00 241

原创 力扣53.最大子数组和

53. 最大子数组和传送门:题目给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [5,4,-1,7,8]输出:23来源:力扣(LeetCode)链接:h

2021-12-27 09:50:05 250

原创 简单了解PHP

文章目录PHP是什么?PHP的使用范围1.web服务端2.命令行脚本PHP的优势PHP的入门语句PHP是什么? PHP是一种可嵌入HMTML、可在服务器端执行的内嵌式脚本语言,风格有点类似于C语言。PHP的使用范围1.web服务端PHP是一门使用于web开发的后端语言,在web开发领域使用范围广泛,是网页开发的主流语言。当然,PHP 的用武之地不仅仅只是在网站开发,在游戏开发、广告系统开发、API接口开发、移动端后台开发,内部 OA 系统开发上都能使用 PHP。2.命令行脚本我们也可以通

2021-08-10 16:23:19 158

原创 HTML5学习——常见标签

文章目录前言最初样式head标签body标签基本标签标题标签标签标签段落标签字体标签图像、音频标签链接标签有序、无序表单前言小白上路,记录前端三件套的学习之旅,不定期更新。本章为HTML5的简略记录。最初样式创建HTML5的最初代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> &.

2021-07-11 10:39:48 254 3

原创 7-6 转圈游戏(2013慈溪) (15 分)——解析

7-6 转圈游戏(2013慈溪) (15 分)输入格式:输出格式:输入样例:4 12 3输出样例:1230解析:这道题重点在理解顺时针和逆时针的位置变化,首先,他们的循序是不会改变的,改变的只有位置,顺时针就位置向前多少位,逆时针就位置向后多少位。理解了这些,我们只需要确定0在哪里就可以知道所有位置了,顺时针就是加,逆时针就是减。#include<bits/stdc++.h>using namespace std;int main(void){ int i,p

2021-04-10 16:32:29 220

原创 7-3 可爱的Tommy (5 分)——解析

7-3 可爱的Tommy (5 分)John带上小狗Tommy去见女友Mary,他们同时出发相向而行。Tommy跑得快,遇到Mary以后就往回跑,遇到John以后再往回跑,……,直到两人相遇。请问:Tommy一共跑了多少路程?输入格式开始时两人之间的距离(km)John、Mary和Tommy的速度(km/h)输出格式Tommy所跑的路程(km)要求:输出2位小数(末位四舍五入)。输入样例43.53.6 2.8 22.5输出样例152.93解析:挺简单的数学题,只需要将(总路程/两人

2021-04-10 16:07:32 1824 1

原创 杭电OJ2050——折线分割平面(递推)C语言解析

题目传送门折线分割平面Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 53300 Accepted Submission(s): 34887Problem Description我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平

2021-03-07 21:18:44 249

原创 杭电OJ2042——不容易系列之二(C语言解析)

传送门不容易系列之二Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 50633 Accepted Submission(s): 40518Problem Description你活的不容易,我活的不容易,他活的也不容易。不过,如果你看了下面的故事,就会知道,有位老汉比你还不容易。重庆市郊黄泥板村的徐老汉(大号徐东海,简称XDH)这两

2020-12-31 22:36:06 324

原创 数据结构实验——查找算法C语言

以下是通过链表进行排序查询:涉及 循序查找、二分查找、快速排序#include<stdio.h>#include<stdlib.h>#define MAXSIZE 1000struct LNode{ int Data[MAXSIZE]; //Data为待排序序列数组 int Last; //Last为最后一个元素的数组下标 }; typedef struct LNode *List; List Create(){ List L; L = (List

2020-12-17 16:26:53 735

原创 数据结构实验——排序算法C语言

利用顺序表进行排序,以下有三种比较简单的排序算法:简单选择排序、直接插入排序、冒泡排序,希望对你有所帮助哦~#include<stdio.h>#include<stdlib.h>#define MAXSIZE 1000struct LNode{ int Data[MAXSIZE]; //Data为待排序序列数组 int Last; //Last为最后一个元素的数组下标 }; typedef struct LNode *List; List Create(

2020-12-14 15:22:47 995 1

原创 杭电OJ_2033——人见人爱A+B(c语言解析)

题目传送门人见人爱A+BTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 78249 Accepted Submission(s): 50746Problem DescriptionHDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。

2020-12-11 17:24:01 1524

原创 杭电OJ2040——亲和数(C语言解析)

传送门亲和数Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 70059 Accepted Submission(s): 42290Problem Description古希腊数学家毕达哥拉斯在自然数研究中发现,220的所有真约数(即不是自身的约数)之和为:1+2+4+5+10+11+20+22+44+55+110=284。而284

2020-12-05 10:42:21 434

原创 数据结构实验三——图的创建及其基本操作(邻接矩阵C语言)

采用邻接矩阵创建带权无向图:①统计图中边的个数并输出;②统计图中各顶点的度并输出;③统计网图的总权重;④统计度为n的顶点个数(n可以为0、1、2、…);//邻接矩阵#include <stdio.h>#include <stdlib.h>#define INFINITY 65535 //∞设为65535#define MAXVERTEXNUM 100 //最大顶点数设为100 int d[100];typedef struct GNode *PtrToGNo

2020-12-03 23:03:03 1210

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除