(0x00000000f839b8d8) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u91\7017\hotspot\src\share\vm\runtime\reflection.cpp, line 1092]
-
-Events (10 events):
-Event: 1530.339 Executing VM operation: ParallelGCFailedAllocation done
-Event: 1539.108 Executing VM operation: RevokeBias
-Event: 1539.108 Executing VM operation: RevokeBias done
-Event: 1539.108 Thread 0x0000000024d53000 Thread exited: 0x0000000024d53000
-Event: 1551.089 Executing VM operation: RevokeBias
-Event: 1551.090 Executing VM operation: RevokeBias done
-Event: 1551.090 Thread 0x0000000024d51800 Thread exited: 0x0000000024d51800
-Event: 1565.089 Executing VM operation: RevokeBias
-Event: 1565.089 Executing VM operation: RevokeBias done
-Event: 1565.089 Thread 0x0000000024d52000 Thread exited: 0x0000000024d52000
-
-
-Dynamic libraries:
-0x00007ff64b8f0000 - 0x00007ff64b927000 C:\Program Files\Java8\jdk1.8.0_91\bin\java.exe
-0x00007ffd5eb20000 - 0x00007ffd5ecf2000 C:\WINDOWS\SYSTEM32\ntdll.dll
-0x00007ffd5e880000 - 0x00007ffd5e92c000 C:\WINDOWS\System32\KERNEL32.DLL
-0x00007ffd5b1e0000 - 0x00007ffd5b3fd000 C:\WINDOWS\System32\KERNELBASE.dll
-0x00007ffd5e7d0000 - 0x00007ffd5e872000 C:\WINDOWS\System32\ADVAPI32.dll
-0x00007ffd5e260000 - 0x00007ffd5e2fe000 C:\WINDOWS\System32\msvcrt.dll
-0x00007ffd5e930000 - 0x00007ffd5e989000 C:\WINDOWS\System32\sechost.dll
-0x00007ffd5e0f0000 - 0x00007ffd5e211000 C:\WINDOWS\System32\RPCRT4.dll
-0x00007ffd5c690000 - 0x00007ffd5c7f5000 C:\WINDOWS\System32\USER32.dll
-0x00007ffd5bed0000 - 0x00007ffd5beee000 C:\WINDOWS\System32\win32u.dll
-0x00007ffd5e220000 - 0x00007ffd5e254000 C:\WINDOWS\System32\GDI32.dll
-0x00007ffd5b400000 - 0x00007ffd5b580000 C:\WINDOWS\System32\gdi32full.dll
-0x00007ffd4e400000 - 0x00007ffd4e67a000 C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.14393.953_none_42151e83c686086b\COMCTL32.dll
-0x00007ffd5e500000 - 0x00007ffd5e7c8000 C:\WINDOWS\System32\combase.dll
-0x00007ffd5b0e0000 - 0x00007ffd5b1d5000 C:\WINDOWS\System32\ucrtbase.dll
-0x00007ffd5add0000 - 0x00007ffd5ae3a000 C:\WINDOWS\System32\bcryptPrimitives.dll
-0x00007ffd5e3c0000 - 0x00007ffd5e3ee000 C:\WINDOWS\System32\IMM32.DLL
-0x0000000063160000 - 0x0000000063232000 C:\Program Files\Java8\jdk1.8.0_91\jre\bin\msvcr100.dll
-0x00000000628c0000 - 0x0000000063153000 C:\Program Files\Java8\jdk1.8.0_91\jre\bin\server\jvm.dll
-0x00007ffd5ae90000 - 0x00007ffd5aeb3000 C:\WINDOWS\System32\WINMM.dll
-0x00007ffd5ad60000 - 0x00007ffd5ad8b000 C:\WINDOWS\System32\WINMMBASE.dll
-0x00007ffd5aec0000 - 0x00007ffd5af02000 C:\WINDOWS\System32\cfgmgr32.dll
-0x00007ffd47e10000 - 0x00007ffd47e19000 C:\WINDOWS\SYSTEM32\WSOCK32.dll
-0x00007ffd5c150000 - 0x00007ffd5c158000 C:\WINDOWS\System32\PSAPI.DLL
-0x00007ffd59ab0000 - 0x00007ffd59aba000 C:\WINDOWS\SYSTEM32\VERSION.dll
-0x00007ffd5ea10000 - 0x00007ffd5ea7a000 C:\WINDOWS\System32\WS2_32.dll
-0x00000000628b0000 - 0x00000000628bf000 C:\Program Files\Java8\jdk1.8.0_91\jre\bin\verify.dll
-0x0000000062880000 - 0x00000000628a9000 C:\Program Files\Java8\jdk1.8.0_91\jre\bin\java.dll
-0x0000000062840000 - 0x0000000062875000 C:\Program Files\Java8\jdk1.8.0_91\jre\bin\jdwp.dll
-0x0000000062830000 - 0x0000000062838000 C:\Program Files\Java8\jdk1.8.0_91\jre\bin\npt.dll
-0x0000000062810000 - 0x0000000062826000 C:\Program Files\Java8\jdk1.8.0_91\jre\bin\zip.dll
-0x00007ffd5c940000 - 0x00007ffd5de48000 C:\WINDOWS\System32\SHELL32.dll
-0x00007ffd5b730000 - 0x00007ffd5be08000 C:\WINDOWS\System32\windows.storage.dll
-0x00007ffd5ae40000 - 0x00007ffd5ae8c000 C:\WINDOWS\System32\powrprof.dll
-0x00007ffd5dff0000 - 0x00007ffd5e042000 C:\WINDOWS\System32\shlwapi.dll
-0x00007ffd5ada0000 - 0x00007ffd5adaf000 C:\WINDOWS\System32\kernel.appcore.dll
-0x00007ffd5be20000 - 0x00007ffd5bec9000 C:\WINDOWS\System32\shcore.dll
-0x00007ffd5adb0000 - 0x00007ffd5adc4000 C:\WINDOWS\System32\profapi.dll
-0x0000000062800000 - 0x0000000062809000 C:\Program Files\Java8\jdk1.8.0_91\jre\bin\dt_socket.dll
-0x00007ffd59ac0000 - 0x00007ffd59c3a000 C:\Program Files (x86)\Sangfor\SSL\ClientComponent\SangforTcpX64.dll
-0x00007ffd5c800000 - 0x00007ffd5c938000 C:\WINDOWS\System32\ole32.dll
-0x00007ffd5e300000 - 0x00007ffd5e3bf000 C:\WINDOWS\System32\OLEAUT32.dll
-0x00007ffd5b630000 - 0x00007ffd5b6cc000 C:\WINDOWS\System32\msvcp_win.dll
-0x00007ffd5b6d0000 - 0x00007ffd5b725000 C:\WINDOWS\System32\WINTRUST.dll
-0x00007ffd5ad90000 - 0x00007ffd5ada0000 C:\WINDOWS\System32\MSASN1.dll
-0x00007ffd5af10000 - 0x00007ffd5b0d9000 C:\WINDOWS\System32\CRYPT32.dll
-0x00007ffd5a690000 - 0x00007ffd5a6ec000 C:\WINDOWS\system32\mswsock.dll
-0x00000000627b0000 - 0x00000000627bd000 C:\Program Files\Java8\jdk1.8.0_91\jre\bin\management.dll
-0x00000000627e0000 - 0x00000000627fa000 C:\Program Files\Java8\jdk1.8.0_91\jre\bin\net.dll
-0x00007ffd4d7e0000 - 0x00007ffd4d80d000 C:\Program Files (x86)\Sangfor\SSL\ClientComponent\SangforNspX64.dll
-0x00007ffd47b00000 - 0x00007ffd47b16000 C:\WINDOWS\system32\napinsp.dll
-0x00007ffd47970000 - 0x00007ffd4798a000 C:\WINDOWS\system32\pnrpnsp.dll
-0x00007ffd57e80000 - 0x00007ffd57e98000 C:\WINDOWS\system32\NLAapi.dll
-0x00007ffd5a450000 - 0x00007ffd5a4f1000 C:\WINDOWS\SYSTEM32\DNSAPI.dll
-0x00007ffd5e4f0000 - 0x00007ffd5e4f8000 C:\WINDOWS\System32\NSI.dll
-0x00007ffd5a410000 - 0x00007ffd5a448000 C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL
-0x00007ffd47af0000 - 0x00007ffd47afe000 C:\WINDOWS\System32\winrnr.dll
-0x00007ffd46e50000 - 0x00007ffd46e65000 C:\WINDOWS\System32\wshbth.dll
-0x00007ffd4d6a0000 - 0x00007ffd4d6aa000 C:\Windows\System32\rasadhlp.dll
-0x00007ffd54790000 - 0x00007ffd547fa000 C:\WINDOWS\System32\fwpuclnt.dll
-0x00007ffd5a940000 - 0x00007ffd5a96b000 C:\WINDOWS\SYSTEM32\bcrypt.dll
-0x00000000627c0000 - 0x00000000627d1000 C:\Program Files\Java8\jdk1.8.0_91\jre\bin\nio.dll
-0x0000000062780000 - 0x00000000627a4000 C:\Program Files\Java8\jdk1.8.0_91\jre\bin\sunec.dll
-0x00007ffd5a830000 - 0x00007ffd5a847000 C:\WINDOWS\SYSTEM32\CRYPTSP.dll
-0x00007ffd5a290000 - 0x00007ffd5a2c3000 C:\WINDOWS\system32\rsaenh.dll
-0x00007ffd5a510000 - 0x00007ffd5a52f000 C:\WINDOWS\SYSTEM32\USERENV.dll
-0x00007ffd5a850000 - 0x00007ffd5a85b000 C:\WINDOWS\SYSTEM32\CRYPTBASE.dll
-0x00007ffd564f0000 - 0x00007ffd56506000 C:\WINDOWS\SYSTEM32\dhcpcsvc6.DLL
-0x00007ffd569a0000 - 0x00007ffd569ba000 C:\WINDOWS\SYSTEM32\dhcpcsvc.DLL
-0x00007ffd4ce90000 - 0x00007ffd4d022000 C:\WINDOWS\SYSTEM32\dbghelp.dll
-
-VM Arguments:
-jvm_args: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:52222,suspend=y,server=n -Dspring.output.ansi.enabled=always -Dfile.encoding=UTF-8
-java_command: com.slife.WebApplication
-java_class_path (initial): C:\Program Files\Java8\jdk1.8.0_91\jre\lib\charsets.jar;C:\Program Files\Java8\jdk1.8.0_91\jre\lib\deploy.jar;C:\Program Files\Java8\jdk1.8.0_91\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java8\jdk1.8.0_91\jre\lib\ext\cldrdata.jar;C:\Program Files\Java8\jdk1.8.0_91\jre\lib\ext\dnsns.jar;C:\Program Files\Java8\jdk1.8.0_91\jre\lib\ext\jaccess.jar;C:\Program Files\Java8\jdk1.8.0_91\jre\lib\ext\jfxrt.jar;C:\Program Files\Java8\jdk1.8.0_91\jre\lib\ext\localedata.jar;C:\Program Files\Java8\jdk1.8.0_91\jre\lib\ext\nashorn.jar;C:\Program Files\Java8\jdk1.8.0_91\jre\lib\ext\sunec.jar;C:\Program Files\Java8\jdk1.8.0_91\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java8\jdk1.8.0_91\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java8\jdk1.8.0_91\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java8\jdk1.8.0_91\jre\lib\ext\zipfs.jar;C:\Program Files\Java8\jdk1.8.0_91\jre\lib\javaws.jar;C:\Program Files\Java8\jdk1.8.0_91\jre\lib\jce.jar;C:\Program Files\Java8\jdk1.8.0_91\jre\lib\jfr.jar;C:\Program Files\Java8\jdk1.8.0_91\jre\lib\jfxswt.jar;C:\Program Files\Java8\jdk1.8.0_91\jre\lib\jsse.jar;C:\Program Files\Java8\jdk1.8.0_91\jre\lib\management-agent.jar;C:\Program Files\Java8\jdk1.8.0_91\jre\lib\plugin.jar;C:\Program Files\Java8\jdk1.8.0_91\jre\lib\resources.jar;C:\Program Files\Java8\jdk1.8.0_91\jre\lib\rt.jar;E:\ideaword\moban\slife\slife-web\target\classes;E:\mavenrepository\org\apache\tomcat\embed\tomcat-embed-core\8.5.15\tomcat-embed-core-8.5.15.jar;E:\mavenrepository\org\apache\tomcat\embed\tomcat-embed-el\8.5.15\tomcat-embed-el-8.5.15.jar;E:\mavenrepository\org\sitemesh\sitemesh\3.0.1\sitemesh-3.0.1.jar;E:\mavenrepository\org\aspectj\aspectjweaver\1.8.10\aspectjweaver-1.8.10.jar;E:\mavenrepository\org\springframework\boot\spring-boot-devtools\1.5.4.RELEASE\spring-boot-devtools-1.5.4.RELEASE.jar;E:\mavenrepository\org\springframework\boot\spring-boot\1.5.4.RELEASE\spring-boot-1.5.4.RELEASE.jar;E:\mavenrepository\org\springframework\spring-cor
-Launcher Type: SUN_STANDARD
-
-Environment Variables:
-JAVA_HOME=C:\Program Files\Java8\jdk1.8.0_91
-CLASSPATH=.;C:\Program Files\Java8\jdk1.8.0_91\lib;C:\Program Files\Java8\jdk1.8.0_91\lib\tools.jar
-PATH=C:\ProgramData\Oracle\Java\javapath;E:\app\chen\product\11.2.0\client_3\bin;C:\Program Files (x86)\Common Files\NetSarang;E:\app\chen\product\11.2.0\client_2\bin;E:\app\chen\product\11.2.0\client_1;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Program Files (x86)\Lenovo\FusionEngine;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Java8\jdk1.8.0_91\bin;C:\Program Files\Java8\jdk1.8.0_91\jre\bin;D:\DevelopSoftware\apache-tomcat-8.5.8\lib;D:\DevelopSoftware\apache-tomcat-8.5.8\bin;D:\DevelopSoftware\apache-maven-3.2.2\bin;D:\DevelopSoftware\mysql-5.6.25-winx64\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;E:\coraclecommon\coraclevpn\OpenVPN\bin;C:\Program Files\TortoiseSVN\bin;D:\Program Files\nodejs\;D:\DevelopSoftware\spring-1.5.2.RELEASE\bin;D:\DevelopSoftware\gradle-3.5\bin;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;E:\Python\Python36-32\Scripts\;E:\Python\Python36-32\;D:\DevelopSoftware\SSH;C:\Users\chen\AppData\Local\Microsoft\WindowsApps;D:\Program Files (x86)\mosquitto;C:\Users\chen\AppData\Roaming\npm
-USERNAME=chen
-OS=Windows_NT
-PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 94 Stepping 3, GenuineIntel
-
-
-
---------------- S Y S T E M ---------------
-
-OS: Windows 10.0 , 64 bit Build 14393 (10.0.14393.1198)
-
-CPU:total 8 (4 cores per cpu, 2 threads per core) family 6 model 94 stepping 3, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, rtm, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx
-
-Memory: 4k page, physical 8300324k(1401884k free), swap 13805348k(4270924k free)
-
-vm_info: Java HotSpot(TM) 64-Bit Server VM (25.91-b15) for windows-amd64 JRE (1.8.0_91-b15), built on May 20 2016 17:43:15 by "java_re" with MS VC++ 10.0 (VS2010)
-
-time: Thu Oct 26 18:45:04 2017
-elapsed time: 1621 seconds (0d 0h 27m 1s)
-
diff --git a/slife-common/src/main/java/com/slife/base/controller/BaseController.java b/slife-common/src/main/java/com/slife/base/controller/BaseController.java
index bd94b4d..5317f86 100644
--- a/slife-common/src/main/java/com/slife/base/controller/BaseController.java
+++ b/slife-common/src/main/java/com/slife/base/controller/BaseController.java
@@ -1,7 +1,7 @@
package com.slife.base.controller;
import com.slife.constants.Setting;
-import com.slife.utils.DateUtils;
+import com.slife.utils.DateFormatUtils;
import com.slife.utils.ExcelUtils;
import com.slife.utils.FileUtils;
import org.slf4j.Logger;
@@ -9,7 +9,7 @@ import org.slf4j.LoggerFactory;
import javax.servlet.http.HttpServletResponse;
import java.text.ParseException;
-import java.util.Date;
+import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -38,7 +38,7 @@ public class BaseController{
map.put(excelTitle, arrayList);
- String nowDate = DateUtils.formatDate(new Date(),"yyyyMMddHHmmss");
+ String nowDate = DateFormatUtils.SHORT_DATE_SECONDS.format(LocalDateTime.now());
String fileLocal= ExcelUtils.exportXlsExcel(map,excelFilePath,String.valueOf(System
.currentTimeMillis()));
FileUtils.downLoadFile(response,fileLocal,nowDate,false); //导出2003 excel
diff --git a/slife-common/src/main/java/com/slife/utils/DateFormatUtils.java b/slife-common/src/main/java/com/slife/utils/DateFormatUtils.java
new file mode 100644
index 0000000..00731ee
--- /dev/null
+++ b/slife-common/src/main/java/com/slife/utils/DateFormatUtils.java
@@ -0,0 +1,127 @@
+package com.slife.utils;
+
+import lombok.Getter;
+import org.springframework.util.Assert;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
+import java.time.temporal.TemporalAccessor;
+import java.util.Date;
+
+/**
+ * 用于格式化时间
+ *
+ * @author felixu
+ * @since 2019.11.20
+ */
+public enum DateFormatUtils {
+
+ /**
+ * 约定自定义pattern使用default
+ */
+ DEFAULT("yyyy-MM-dd HH:mm:ss"),
+ FULL_DATE_SECONDS("yyyy-MM-dd HH:mm:ss"),
+ FULL_DATE_MINUTE("yyyy-MM-dd HH:mm"),
+ FULL_DATE("yyyy-MM-dd"),
+ FULL_MONTH("yyyy-MM"),
+ FULL_TIME("HH:mm:ss"),
+ FULL_MINUTE("HH:mm"),
+ SHORT_DATE_SECONDS("yyyyMMddHHmmss"),
+ SHORT_DATE_MINUTE("yyyyMMddHHmm"),
+ SHORT_DATE("yyyyMMdd"),
+ SHORT_MONTH("yyyyMM"),
+ SHORT_TIME("HHmmss"),
+ SHORT_MINUTE("HHmm"),
+ CH_DATE_SECONDS("yyyy年MM月dd日 HH时mm分ss秒"),
+ CH_DATE_MINUTE("yyyy年MM月dd日 HH时mm分"),
+ CH_DATE("yyyy年MM月dd日"),
+ CH_MONTH_DATE("MM月dd日"),
+ CH_MONTH("yyyy年MM月"),
+ CH_TIME("HH时mm分ss秒"),
+ CH_MINUTE("HH时mm分"),
+ CH_WEEK("yyyy年第w周"),
+ ;
+
+ /**
+ * 通过 lombok 提供 get 方法
+ * 主要为了方便后续可能有需要用到格式化对应的 pattern 的地方
+ */
+ @Getter
+ private String pattern;
+
+ /**
+ * 格式化解析器
+ */
+ private DateTimeFormatter formatter;
+
+ DateFormatUtils(String pattern) {
+ this.pattern = pattern;
+ this.formatter = DateTimeFormatter.ofPattern(pattern);
+ }
+
+ /**
+ * 按当前格式返回当前时间格式化后的结果
+ *
+ * @return 当前时间格式化后的字符串
+ */
+ public String now() {
+ return this.format(LocalDateTime.now());
+ }
+
+ /**
+ * 按当前格式格式化给定时间
+ * 针对 Java 8 提供的时间类,如 LocalDateTime、LocalDate、LocalTime
+ *
+ * @param target 需要被格式化的时间
+ * @return 当前时间格式化后的字符串
+ */
+ public String format(TemporalAccessor target) {
+ Assert.notNull(target, "the time must not be null");
+ return this.formatter.format(target);
+ }
+
+ /**
+ * 按当前格式格式化给定时间
+ * 针对 Date 类型
+ *
+ * @param target 需要被格式化的时间
+ * @return 当前时间格式化后的字符串
+ */
+ public String format(Date target) {
+ Assert.notNull(target, "the time must not be null");
+ return this.format(target.toInstant().atZone(ZoneId.systemDefault()));
+ }
+
+ /**
+ * 将当前格式的字符串解析为 LocalDateTime
+ *
+ * @param source 源字符串
+ * @return LocalDateTime
+ */
+ public LocalDateTime parseToLocalDateTime(String source) {
+ return LocalDateTime.parse(source, this.formatter);
+ }
+
+ /**
+ * 将当前格式的字符串解析为 LocalDate
+ *
+ * @param source 源字符串
+ * @return LocalDate
+ */
+ public LocalDate parseToLocalDate(String source) {
+ return LocalDate.parse(source, this.formatter);
+ }
+
+ /**
+ * 将当前格式的字符串解析为 LocalTime
+ *
+ * @param source 源字符串
+ * @return LocalTime
+ */
+ public LocalTime parseToLocalTime(String source) {
+ return LocalTime.parse(source, this.formatter);
+ }
+}
diff --git a/slife-common/src/main/java/com/slife/utils/DateUtils.java b/slife-common/src/main/java/com/slife/utils/DateUtils.java
deleted file mode 100644
index 74895a4..0000000
--- a/slife-common/src/main/java/com/slife/utils/DateUtils.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.slife.utils;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-/**
- * Created by chen on 2017/9/27.
- *
- * Email 122741482@qq.com
- *
- * Describe:
- */
-public class DateUtils {
- /**
- * 根据传入的日期格式化输出
- * yyyy-MM-dd 的字符串时间
- *
- * @param date 时间
- * @param formatStr yyyy-MM-dd等时间串
- * @return
- */
- public static String formatDate(Date date, String formatStr) {
- SimpleDateFormat formatter = new SimpleDateFormat(formatStr);
- String outDate = formatter.format(date);
- return outDate;
- }
-}