自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

肖朋伟

Stay hungry,stay foolish!

原创 告别吧 - 单链表反转(Java 实现)

告别吧 - 单链表反转(Java 实现)若有不足,还望指正,一、递归实现帮助理解:编写递归代码时最重要的有以下三点 : —— 摘自《算法 4》(1)递归总有一个最简单的情况,即方法的第一条语句总是一个包含 return 的条件语句。(2)递归调用总是去尝试解决一个规模更小的子问题,这样递归才能收敛到最简单的情况。含有某个参数一直在缩小。(3)递归调用的父问题和尝试解决的子问题之间不应...

2019-08-28 00:10:58 1152

原创 CentOS7 下 Redis 的安装、配置、启动、关闭、开启远程连接

CentOS7 下 Redis 的安装、配置、启动、关闭redis 官网:https://redis.io/download操作步骤官网给了最简单的安装方式,emmm,太简单了,简单的不敢相信,我们还是走复杂的提示:输入名称时,建议使用 Tab 键补全,又快又爽。使用 ls 随时查看目录下的文件列表先安装 gcc:yum install gcc -y(1)下载cd 进到一个目...

2019-08-26 12:53:15 868

原创 Ubuntu 18 boot 分区空间不足-解决方法

Ubuntu 18 boot 分区空间不足-解决方法直接进入 boot 下可以看到会有多个版本的文件,这是更新后没有删除(1)为了稳妥,先查看自己当前使用的版本,使用uname -r(2)然后准备删除其他低版本(3)先查看都安装了那些版本,使用: dpkg --get-selections | grep linux(4)删除制定版本内容,例如:sudo apt-get purg...

2019-08-24 16:07:05 1428 3

原创 Ubuntu 18 搜狗输入法 - 输入汉字时候选栏乱码问题

Ubuntu 18 搜狗输入法 - 输入汉字时候选栏乱码问题打开中终端(1)如果是刚装完搜狗输入法,可尝试修复,输入命令:sudo apt-get install -f进行检查,判断是否缺少依赖项,或者安装包出错,出错会重新安装更多:sudo apt-get -f install 修复损坏的软件包,尝试卸载出错的包,重新安装正确版本的。-f 是 参数放在 install 前面跟后面效果...

2019-08-19 09:06:19 2128 1

原创 为什么重写 equals() 要重写 hashCode()? hashCode 值相等,两个对象不一定相等?

为什么重写 equals() 要重写 hashCode()? hashCode 值相等,两个对象不一定相等?hashCode 方法,如果不重写的话,返回的实际上是该对象在 jvm 的堆上的地址,而不同对象的地址肯定不同,所以这个 hashCode 也就肯定不同了。如果重写了的话,由于采用的算法的问题,有可能导致两个不同对象的 hashCode 相同。equals 方法,如果不重写的话,是严格...

2019-08-17 22:31:11 905

原创 为什么包装类型间的相等判断应该用 equals

为什么包装类型间的相等判断应该用 equals大家都知道 java 中 == 和 equal 的区别, == 操作比较的是两个变量的值,对于引用型变量是判断变量是否指向同一引用对象,比地址。equals 操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。引用类型用 == 的示例:public static void main(String[] args) { Inte...

2019-08-17 13:00:38 1141 1

原创 金额工具类

金额工具类import java.math.BigDecimal;import java.text.DecimalFormat;/** * <p> * * @author coder * @since 2019-08-17 */public class AmountUtil { public static DecimalFormat fnum = new ...

2019-08-17 11:03:26 789 1

原创 不能使用 float 和 double 来表示金额等精确的值

不能使用 float 和 double 来表示金额等精确的值关于面试,金额用什么数据类型?不是 doube,更不是 float ,而是用 BigDecimal。对于金融项目,对于金额,误差是不能容忍的。那么用什么数据类型才能精确的表示金额?JDK 提供了一个 java.math.BigDecimal 的类,这个类可以表示任意精度的数字。Java 中 float 的精度为 6-7 位有效数字。...

2019-08-17 11:02:54 8858 21

原创 浮点数为什么不精确

浮点数为什么不精确?其实这句话本身就不精确, 相对精确一点的说法是: 我们在程序里写的 10 进制小数,计算机内部无法用二进制的小数来精确的表达。因为二进制只能表示 2 的 n 次方的数,n 可以取负值,3.3 无法用 2 的 n 次方的数组合计算出来,所以无法精确表示:3.3 = 1*2+1*1+0*1/2+1*1/4+0*1/8+0*1/16+1*1/32+…(解释:2+1=3,3+1...

2019-08-17 01:52:13 3158 16

原创 JVM 字节码指令手册 - 查看 Java 字节码

JVM 字节码指令手册 - 查看 Java 字节码jdk 进行的编译生成的 .class 是 16 进制数据文件,不利于学习分析。通过下命令javap -c Demo.class > Demo.txt或者其他方式可反汇编,得到字节码文件一、JVM 指令分类(1)操作数栈过程符号变量到操作数栈iload, iload_, lload, lload_, ...

2019-08-15 21:26:27 1618 2

原创 手写 Spring - 详细思路与实践

手写 Spring - 详细思路与实践之前的一篇 手写 Spring,这样的文章很多,到处都是,要说真的能简单手写出 Spring MVC 其实不多,因为要理解,记忆,实践才能掌握,这不是一篇博客就能实现的,可能需要两篇。。再说面试的时候,要不要说呢,自己还没底。。自定义命名部分为加 X- 前缀,请自行理解一、必背思路框架1、创建项目,准备 Jar 包2、properties 和 web....

2019-08-13 23:09:53 1715 1

原创 最常见的 Git 错误及解决方法

最常见的 Git 错误及解决方法经常用 Git,哪能不出错。1、修改最后一次提交消息 - 提交消息写错了解决方法:git commit --amend该命令将打开编辑器,并允许更改最后一次提交消息。(按 i 进行编辑,编辑后,按 ESC,如果保存退出使用 :wq,只退出输入 :q,如果出错,退出不保存使用 :qa!)拼写错误的分支名假设已经是下午三点了,但是你还没有吃午饭。饥肠辘...

2019-08-10 17:22:23 663 1

原创 Grub2 开机系统选择界面美化 - 主题修改

Grub2 开机系统选择界面美化 - 主题修改

2019-08-10 14:39:56 2646 1

原创 Ubuntu 18 系统时间问题 - 解决其使用 BIOS 时间,不联网同步

Ubuntu 18 系统时间问题 - 解决其使用 BIOS 时间,不联网同步Ubuntu 18 系统时间不对,会遇到很多问题,问题描述:Ubuntu 18 系统时间不对,大概差 8 个小时,因为在 BIOS 中的时间就是当前时间。解决方法:Ubuntu 系统下,在命令提示符输入:sudo timedatectl set-local-rtc 1更新时间sudo apt-get in...

2019-08-10 11:47:02 1568

原创 Ubuntu 18 使用命令卸载软件

Ubuntu 18 使用命令卸载软件先看一下看装了哪些软件列出所有软件,找出需要删除的软件的全称sudo dpkg --list例如:然后使用命令删除sudo apt-get --purge remove 名称(提示名称可以不用手动全输入,可以输开头一部分,按 Tab 键可以补全,以及按两下提示有哪些可能)例如:...

2019-08-06 23:23:18 1555

原创 You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).Please, commit your changes

Git 报错在 IDEA 中使用 Git 报错:You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).Please, commit your changes我使用 git status 命令查看当前状态,也没看出什么问题,解决方法使用命令放弃 git cherry-pick 变更git cherry-pi...

2019-08-06 18:58:25 5222 1

原创 在 ubuntu 18 中为 navicat 创建快捷方式

在 ubuntu 中为 navicat 创建快捷方式参考原文:查看连接问题:在 ubuntu 中,解压 navicat 并不会生成快捷方式,每次运行都需要进入软件解压的目录,然后运行命令开启navicat,十分不便.今天尝试引入快捷方式,直接双击运行,感觉挺不错.首先下载一个合适的 png 文件,用作快捷方式的图表,一般要求是png格式.这是我下载的图标链接,将其置于软件所在的路径下,并重...

2019-08-04 20:12:39 563 3

原创 ubuntu 18 安装 navicat Premium 中文乱码(很彻底)

ubuntu 安装 navicat Premium 数据库值中文乱码本来以为连接时,字符集不对,用 Auto,UTF8 都不行,后台了解到是软件的问题。解决方法:找到启动脚本,就是它。在根目录:用 vim 编辑器打开,将 LANG 修改为:zh_CN.UTF-8效果:...

2019-08-04 15:02:17 628 1

原创 ubuntu 18 解锁文件目录(谨慎操作)

ubuntu 解锁文件目录ubuntu 中一些文件目录是锁定的可以打开,但是不能向里面家东西,emmm使用命令:sudo chown xiaopengwei 目录名/ -R提示:将 xiaopengwei 替换为自己的用户名,就是 @ 前面的...

2019-08-04 14:32:03 552 1

原创 svn 必须会敲的常用命令

1、svn help:可以通过该命令查看 svn 的所有操作命令,包括命令的缩写2、首先需要从 svn 库中 checkout 对应的项目:(1)svn 项目路径为 svn://192.168.1.1/myproject/doc,将项目路径下的文件checkout到/home/test目录下,若没有/home/test路径会自动创建,同时只将doc中的子目录和文件checkout到该路径。s...

2019-08-04 12:47:09 1060

原创 ubuntu 18 自带截图工具 - 快捷键

ubuntu 自带截图工具 - 快捷键默认:快捷键作用PrtSc获取整个屏幕的截图并保存到 Pictures 目录Shift + PrtSc获取屏幕的某个区域截图并保存到 Pictures 目录。Alt + PrtSc获取当前窗口的截图并保存到 Pictures 目录。Ctrl + PrtSc获取整个屏幕的截图并存放到剪贴板。Shift + ...

2019-08-04 12:45:47 708 1

提示
确定要删除当前文章?
取消 删除