java
文章平均质量分 50
沉默木头人
科技源于生活,敲出未来,码出天际;
一只努力的小猿。
展开
-
Java clone复制对象,报java.lang.CloneNotSupportedException解决方法
java中使用clone()来克隆对象时,直接调用就可以:ReviewCost reviewCost = null; try { reviewCost = (ReviewCost) that.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); }但是这样在运行中会有错误:java.lang.CloneNotSupportedException: class com.bjhab.ent原创 2021-05-07 16:44:00 · 8150 阅读 · 0 评论 -
Java实现将List中的数据平均分成多个List
将List平均拆分成多个组:/** * 将一组数据平均分成n组 * @param source 要分组的数据源 * @param n 平均分成n组 * @param <T> * @return */ public static <T> List<List<T>> averageAssign(List<T> source, int n) { List<原创 2021-04-21 17:07:57 · 8685 阅读 · 0 评论 -
KKFileView前端实现Word,Excel,PPT在线预览(实测可用于内网项目)
目前网上现有的文件在线预览方式有以下几种:1、通过a标签href属性直接打开文件这种方式是通过把文件上传到服务器,在后台将文件转为pdf。通过浏览器可直接查看pdf文件的特点使用a标签直接就可以打开预览。缺点就是需要手动将文件转为pdf文件 还有涉及到编码及内容乱码问题。2、通过jquery插件jquery.media.js实现这个插件可以实现pdf预览功能(包括其他各种媒体文件)但是对word等类型的文件无能为力。3、直接通过页面内嵌iframe对页面的UI和内容展示实现不太好,类似于a标签原创 2021-03-25 10:27:05 · 15493 阅读 · 3 评论 -
Java计算两个时间段内的工作日天数
一般在OA系统中都会遇到计算员工这段时间内的工作天数。这种有两种方式可以解决:一是调用第三方服务接口进行计算,二是自己在系统中写代码计算。一的好处就是每年的节假日不用自己去维护直接用两个时间段就可以计算出来。但缺点是有些公司可以会和法定节假日期不一样那么这时候就计算不了了,还有就是一般这种OA的系统自己内部使用的话可能会部署在内网上那么就访问不了第三方接口了。二需要自己维护节假日和计算。但有效的解决了方式一的缺陷;根据方式二的特点介绍一个工具类,用来计算两个时间段内的工作天数:import ja原创 2021-03-18 17:22:17 · 7877 阅读 · 2 评论 -
推荐篇:原来阿里也对excel情有独钟
最近发现alibaba包下有一个excel导入导出工具类,非常好用,对于普通的场景及业务逻辑用起来非常方便。记录一下;位置:该工具类在 com.alibaba包下。<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.1.6</version> </depend原创 2020-10-21 10:29:11 · 6853 阅读 · 0 评论 -
Feign遇到的坑:调用生产方获取响应流。
遇到个小坑,记录下。在SpringBoot微服务架构中,通常都是使用eureka作为注册中心管理服务,使用feign来相互调用各个服务进行服务间的沟通。一般情况下去调用生产方的请求都是有返回值的,使用feign调用在消费方拿到生产方的返回值后去做处理,意思就是说生产方服务的请求是什么类型的返回值那么使用feign调用的时候就要接收什么类型的返回值:例如:A服务生产方:Feign调用:B服务消费方:以上可以看出当使用feign去调用生产方的请求时 参数和返回值必须保持一直才可以正常原创 2020-10-15 10:17:41 · 11595 阅读 · 5 评论 -
接上一篇:Java实现导出Excel并附带水印
上篇介绍了Java使用poi操作excel表格的导入和修改,在日常开发中经常也会遇到在页面上点击按钮将数据库中的数据导出到excel表中;今天我就遇到这么一个需求:根据条件将查询到的数据导出到Excel表格中要支持xls/xlsx两种不同类型的excel文件,携带水印效果,并且每个人导出时水印要不同。(听听听听,这说的是人话吗… 但是为了生活还得硬着头皮做出来啊。)在了解Excel的水印其实就是插入艺术字再修改字体的颜色、字体、透明度就变成了所谓的水印效果了(一顿操作后我发现其实就类似插入一张透明原创 2020-10-12 19:37:29 · 10774 阅读 · 9 评论 -
这么优秀的Excel工具类,你难道不用?
前段时间帮朋友弄一个对excel文件操作的方法,大功告成后特此分享出来,以便后面用到后可以直接CTRL+C&CTRL+V。这里一是读取excel表格中的数据(包含表格中的公式及各种复杂数据类型),二是修改excel表格中某一个单元格中的数据(并且保证修改后表格中的公式计算得到的数能够实时刷新)。其实像这种工具类网上搜一下全是,但是大部分都是非常混乱的有头没尾的对自己的业务无法应用的或者根本就是看不懂,下面这些方法是我结合网上某些例子及参考其他资料整理出的一款非常使用且简单易懂的excel工具类,原创 2020-10-01 11:00:32 · 6628 阅读 · 0 评论 -
SpringMVC是如何处理请求中的参数的
在第一节介绍了SpringMVC的执行流程,但是在请求中肯定是需要进行参数传递的,那么在SpringMVC的核心控制器拦截到请求后,它是如何处理请求中的参数的呢?我们同样也可以使用断点跟踪的方式来了解它是怎么处理的。在第一节的第五步中可以知道核心处理器在处理请求时是通过getMethodArgumentValues方法来处理本次请求中的参数的,所有我们直接从该方法开始跟踪了解。key=value形式传递基本数据类型第一步:跟踪到getMethodArgumentValues方法。在getMe原创 2020-09-21 14:50:29 · 7177 阅读 · 0 评论 -
SpringMVC三大组件的作用及原理
第一节介绍了SpringMVC的执行流程,其中里面涉及了三个组件,那么这三个组件是干什么的呢?在哪用到了呢?在这节中简单介绍下springmvc三个组件的作用 及工作流程。处理器映射器:处理器映射器的作用:根据请求的url查找Handler。第一节中说的工程启动或执行第一次请求的时候就会加载解析我们定义的请求地址,他是如何解析的没有说。springmvc的处理器映射器就是来做这个的。说明:SpringMVC执行initStrategies方法进行初始化的时候有两种方式:1、在web.xml中配置了原创 2020-09-21 14:38:06 · 8769 阅读 · 0 评论 -
还在好奇SpringMVC是怎么接收请求,让控制层执行的嘛?
本篇文章来了解下SpringMVC的执行过程及源码分析。SpringMVC目前是市面上主流的web控制层框架,后端的接口都是由他来接收请求后才由自己的代码进行处理,那么他是怎么接收到前端页面发来的请求的呢?他是怎么让我们自己的代码去执行这个请求的呢?好奇了这么多天,今天终于真相大白了。还在一味的背SpringMVC的那几步原理吗?背来背去发现都不知道自己在背什么,本章带你了解SpringMVC内部执行过程,让springMVC原理永远的刻在你里,化成灰也认识他。文章共分为四节,只是对SpringMV原创 2020-09-21 14:32:50 · 7226 阅读 · 1 评论 -
天呐!代码还可以这么写。一波骚操作
最近到接触Java8新特性发现更新后的版本确定优化了很多,这里简单介绍下新特性中的某些骚操作;利用Java8新特性,可以用简洁高效的代码来实现一些数据处理;定义一个Persion对象:@Data@NoArgsConstructor //无参构造@AllArgsConstructor //有参构造public class Persion { private Integer id; private String name; private String sex;原创 2020-08-27 09:32:35 · 6843 阅读 · 0 评论 -
Spring / SpringBoot集成Quartz实现动态管理定时任务
前言:最近在做Java开发对接微信公众平台之类的工作,在开发过程中遇到一个需求是定时任务这块的,但是普通的定时任务还远远不能满足;最后要实现的效果是每个任务都是不同的定时时间来执行而且是在前台页面上来控制这些任务的创建,取消,开启,暂停;就好比是向数据库添加一条记录(任务)那么在添加成功后这个任务就是进入定时执行状态了,每次执行的时间是由添加任务时前台页面选择的时间;要实现的效果如下:该项目的整体框架和环境选用的时SpringBoot,所以当时在网上看了大部分的boot整合Quartz的文章发现都原创 2020-08-05 11:27:17 · 7847 阅读 · 3 评论 -
关于Java字符串的全部,就在这篇文章里了
String 可以说是 Java 中最常见的数据类型,用来表示一串文本,它的使用频率非常高,为了小伙伴们着想,我怒肝了一周,把字符串能写的全都写了出来。来看一下脑图吧,感受一下这份手册涉及到的知识点,不是我吹,有了这份手册,字符串的相关知识可以说全部掌握了。一、多行字符串每个操作系统对换行符的定义都不尽相同,所以在拼接多行字符串之前,需要先获取到操作系统的换行符,Java 可以通过下面的方式获取:String newLine = System.getProperty("line.separator原创 2020-07-05 12:03:30 · 6560 阅读 · 0 评论 -
复习一波,hashMap的底层实现原理
前言HashMa是Java中最常用的集合类框架,也是Java语言中非常典型的数据结构,同时也是我们需要掌握的数据结构;java中集合的分类:java中的集合可以分为:单列集合(collection)与双列集合(Map)单列集合(collection)collection 有两个重要的子接口,也就是List和SetList的特点是: (存取有序,有索引,元素可以重复);Set的特点是: (存取无序,没有索引,元素不可以重复);List 重要的实现类有:ArrayList,LinkedList原创 2020-05-18 15:54:46 · 6658 阅读 · 1 评论 -
CAS 乐观锁
CAS:compare and swap,即比较并交换。CAS即java乐观锁的一种实现,CAS依靠的是CPU来实现的(java中的CAS类内部实现属于native方法,由JVM本地实现),属于硬件级别的操作。1.乐观锁,悲观锁:悲观锁:每次去取数据,很悲观,都觉得会被别人修改,所以在拿数据的时候都会上锁。简言之,共享资源每次都只给一个线程使用,其他线程阻塞,等第一个线程用完后再把资源转让给其...原创 2020-05-05 23:33:09 · 7289 阅读 · 0 评论 -
什么是分布式锁
一、什么是分布式锁?要介绍分布式锁,首先要提到与分布式锁相对应的是线程锁、进程锁。线程锁:主要用来给方法、代码块加锁。当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代码段。线程锁只在同一JVM中有效果,因为线程锁的实现在根本上是依靠线程之间共享内存实现的,比如synchronized是共享对象头,显示锁Lock是共享某个变量(state)。进程锁:为了控制同一操作系统中多个进程...原创 2020-04-21 10:45:08 · 10372 阅读 · 0 评论