https://cdn.jsdelivr.net/gh/lewky/lewky.github.io@master/images/avatar.jpg

雨临Lewis的博客

Java深入系列(1) - 日期

日期格式化的跨年问题

通常格式化日期时,都是使用的YYYY/MM/dd来格式化日期,但是在遇到跨年日期时,就会遇到很神奇的现象,如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
final Calendar calendar = Calendar.getInstance();
// 2020-12-26
calendar.set(2020, 11, 26);
final Date date1226 = calendar.getTime();
// 2020-12-27
calendar.set(2020, 11, 27);
final Date date1227 = calendar.getTime();
// YYYY
final DateFormat Y = new SimpleDateFormat("YYYY/MM/dd");
System.out.println("2020-12-26用YYYY/MM/dd表示:" + Y.format(date1226));
System.out.println("2020-12-27用YYYY/MM/dd表示:" + Y.format(date1227));

Java深入系列(0) - 基础篇

前言

本文主要汇总Java深入学习或者工作过程中遇到的一些不好归类的基础问题。

方法重载

什么是方法重载?为什么不能根据返回类型来区分重载?

方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。

重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载。为什么这里不包括返回类型呢?很简单,如果只是返回类型不同,是无法区分开来的,如下:

Hugo系列(3) - LoveIt主题美化与博客功能增强

前言

本博客使用的是Hugo的LoveIt主题,本文也是基于该主题而写的,不过Hugo的美化步骤应该大同小异,版本如下:

1
2
3
4
5
hexo: 3.8.0

hugo: v0.74.2/extended windows/amd64 BuildDate: unknown

LoveIt: v0.2.10

请注意,本文的所有功能都离不开两个新增加的文件:_custom.scsscustom.js,部分功能还需要jquery,下文会提及如何引入。

Hugo系列(1) - 简单搭建教程与远程部署

前言

使用Hexo搭建个人博客也有两年多时间了,当文章数量达到上百篇之后,开始发现Hexo生成文章的效率越来越慢,直到每次生成都需要至少五分钟的时间。我发现生成效率和文章涉及到的分类和标签有很大关系,由于文章数量多,每篇文章又都关联了若干个分类和标签,再加上我使用了压缩样式的插件,最终导致极其低下的生成效率。

在经过一段时间的考量后,决定将Hexo博客迁移到Hugo。Hugo是用go语言开发的,在用法上和Hexo类似,可以简单地把Hugo当成go语言版的Hexo,但是它拥有更快的生成效率。下面是官网的原话:

Eclipse - 快捷键篇

常用的快捷键

ctrl + shift + r 查找工作空间内的文件,不包括Jar包内的文件

ctrl + shift + t 查找工作空间内的文件,包括Jar包内的文件

ctrl + o 查看当前类的所有方法

ctrl + e 快速切换编辑器,在打开了非常多的文件时会很便利

ctrl + / 单行注释或多行注释或取消注释

ctrl + t 查找一个类的继承关系树

ctrl + d 删除光标所在行

ctrl + space 代码提示,和输入法快捷键冲突时也可以用alt + /

ctrl + shift + f 格式化代码

ctrl + k 快速跳转到下一个相同的被选中字符,在查找相同的字符串时会很方便

ctrl + shift + k 快速跳转到上一个相同的被选中字符

shift + enter 在光标所在行的下一行创建一行空白行

ctrl + shift + enter 在光标所在行的上一行创建一行空白行

alt + ← 跳转到上一步操作

alt + → 跳转到下一步操作

alt + ↑ 将光标所在的那一行向上挪动一行

alt + ↓ 将光标所在的那一行向下挪动一行

JDK自带的那些好用的工具

将中文转换为ASCII码的工具 在jdk的安装目录下,有一个bin文件夹,这里隐藏了一个将中文转换为ASCII码的工具:native2ascii.exe。双击运行该程序,输入要转换的中文,按下Enter,就可以得到相应的ASCII码了。 接下来要如何将该ASCII码复制到文本上? 右键cmd窗口,选择编辑菜单里的标记,选定了要复制的内容后按下Enter就自动复制到