JAVA
兜不兜先生
温故而知新,坚持学习
展开
-
IO流 实现excel 导出
直接上代码/** * 按批次下载结果 * @param response * @param batchId * @throws IOException */ @GetMapping("/coupon/result/export/{batchId}") public void getBatchCouponResultExcel(HttpServletResponse response, @PathVariable Integer batchI原创 2020-12-04 15:54:37 · 655 阅读 · 0 评论 -
IO流 实现excel 导入
1.文件上传<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><form action="/marketing/coupon-batch/import/DELAY" method="post" enctype="multipart/form-d原创 2020-12-04 15:38:44 · 583 阅读 · 0 评论 -
简单 ExcelUtils
ExcelUtilsimport com.google.common.collect.Maps;import java.io.InputStream;import java.io.OutputStream;import java.math.BigDecimal;import java.text.DecimalFormat;import java.text.NumberFormat;import java.text.SimpleDateFormat;import java.util.Arra原创 2020-12-04 15:36:16 · 539 阅读 · 0 评论 -
validator 基于hibernate实现灵活验证
注解实体类@Datapublic class OrderDemandDTO implements DtoConverter<OrderDemand> { private Integer id; @NotNull(message = "订单ID不能为空") private Integer orderId; private Integer destinationCity; private String destinationCityName;原创 2020-06-02 14:43:15 · 183 阅读 · 0 评论 -
线程池的创建使用
Executors创建线程池newFixedThreadPool的阻塞队列大小是没有大小限制的,如果队列堆积数据太多会造成资源消耗。newCachedThreadPool是线程数量是没有大小限制的,当新的线程来了直接创建,同样会造成资源消耗殆尽。 ExecutorService executor = Executors.newFixedThreadPool(3); //jdk1.8之前的实现方式 CompletableFuture<String> fut原创 2020-05-26 16:25:40 · 169 阅读 · 0 评论 -
同一个类中事务嵌套问题
同一个类中方法1调用有事务的方法2不起作用解决办法:把注解放到类上就可以了原因:Spring采用动态代理(AOP)实现对bean的管理和切片,它为我们的每个class生成一个代理对象。只有在代理对象之间进行调用时,可以触发切面逻辑。而在同一个class中,方法B调用方法A,调用的是原对象的方法,而不通过代理对象。所以Spring无法切到这次调用,也就无法通过注解保证事务性了。子方法回滚让父方...原创 2020-01-06 16:40:02 · 997 阅读 · 0 评论 -
Wed Dec 20 2019 00:00:00 GMT+0800 (中国标准时间) 时间转换
转换yyyy-MM-dd HH:mm:ss( DateUtils)import java.text.SimpleDateFormat;import java.util.Date;import java.util.Locale;import java.util.regex.Pattern;/** * @ Author :L&C * @ Date : 2019/12/31 15...原创 2020-01-02 11:22:33 · 14259 阅读 · 2 评论 -
手写HashMap
jdk1.8以前为HashMap由hash函数+数组+单链表实现(本次实现)。jdk 1.8版本之后的java中HashMap是数组+链表+红黑树实现的。在链表长度<8的时候都是一样的,当链表长度到达8时,该链表会转换成红黑树来存储节点。结构图: ...原创 2019-08-13 19:12:33 · 85 阅读 · 0 评论 -
JVM 类的加载
什么是类的加载? 将类通过javac编译的.class文件中的二进制数据结构转化为方法区的运行时数据结构,再在堆中生成该类对应的java.lang.Class对象,然后就可以通过该对象访问方法区中的这些数据。 2.类的生命...原创 2019-08-14 17:23:27 · 92 阅读 · 0 评论