文章目录
jaav运行过程
java文件通过javac 编程成 class文件(字节码),然后不同平台的jvm把class文件 解释成成机器码文件。
所以jvm是一个桥梁。
java集合相关
- list集合是否包含某个元素
使用contains
方法即可
日期相关
获取上个月的年月
// 获取上个月的年月
LocalDate now = LocalDate.now();
LocalDate earlier = now.minusMonths(1);
int year = earlier.getYear();
int monthValue = earlier.getMonthValue();
小时转换成秒
TimeUnit.HOURS.toSeconds(1)
两个日期相减获取时间值
// 两个日期相减获取秒差值
System.out.println("seconds:" + ChronoUnit.SECONDS.between(fromDateTime, toDateTime));
// 两个日期相减获取时间差值
System.out.println("hours:" + ChronoUnit.HOURS.between(fromDateTime, toDateTime));
date与LocalDateTime互相转换
/**
* Date 转 LocalDateTime
* @author kangyu
* @date 11:58 2020/6/12
* @param dateToConvert
* @return java.time.LocalDateTime
*/
public static LocalDateTime convertToLocalDateTimeViaInstant(Date dateToConvert) {
return dateToConvert.toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDateTime();
}
java线程安全之静态变量、实例变量、局部变量
springboot fastjson 对象属性json类型自动排序
// 默认json会对属性里的json字符串值进行排序,加了这个 Feature.OrderedField则会禁止排序
fastJsonConfig.setFeatures(Feature.OrderedField);
String.format
%s支持任何类型,输出的是字符串
根据开始时间 结束时间 获取周列表 | 给定一个日期 获取本周所有日期
/**
* 根据开始时间 结束时间 获取周列表
*
* @param parse1,parse2
* @return void
* @author kangyu
* @date 15:53 2020/11/20
*/
public List<List<LocalDate>> getListListDate(LocalDate parse1, LocalDate parse2) {
List<LocalDate> localDates = datesListOfCalendarWeek(parse1);
long count = localDates.stream().filter(e -> e.equals(parse2)).count();
List<List<LocalDate>> listList = Lists.newArrayList();
listList.add(localDates);
if (count == 0) {
for (int i = 0; i < localDates.size(); i++) {
LocalDate localDate = localDates.get(localDates.size() - 1);
LocalDate localDate1 = localDate.plusDays(1);
localDates = datesListOfCalendarWeek(localDate1);
listList.add(localDates);
count = localDates.stream().filter(e -> e.equals(parse2)).count();
if (count == 1) {
break;
}
}
}
List<LocalDate> collect = listList.get(0).stream().filter(e -> e.compareTo(parse1) >= 0).collect(Collectors.toList());
listList.set(0, collect);
List<LocalDate> collect2 = listList.get(listList.size() - 1).stream().filter(e -> e.compareTo(parse2) <= 0).collect(Collectors.toList());
listList.set(listList.size() - 1, collect2);
return listList;
}
/**
* 给定一个日期 获取本周所有日期
*
* @param date
* @return java.util.List<java.time.LocalDate>
* @author kangyu
* @date 14:49 2020/11/20
*/
/* Pure Java 8 / java.time */
public static List<LocalDate> datesListOfCalendarWeek(LocalDate date) {
LocalDate start = date.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
return IntStream.range(0, Period.ofWeeks(1).getDays()).mapToObj(start::plusDays).collect(Collectors.toList());
}
idea .gitignore-not-working
https://stackoverflow.com/questions/25436312/gitignore-not-working