肖朋伟

Stay hungry,stay foolish!

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

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

2019-08-28 00:10:58

阅读数 383

评论数 0

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

CentOS7 下 Redis 的安装、配置、启动、关闭 redis 官网:https://redis.io/download 操作步骤 官网给了最简单的安装方式,emmm,太简单了,简单的不敢相信,我们还是走复杂的 提示: 输入名称时,建议使用 Tab 键补全,又快又爽。 使用 ls 随时查看...

2019-08-26 12:53:15

阅读数 119

评论数 0

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

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

2019-08-24 16:07:05

阅读数 190

评论数 3

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

Ubuntu 18 搜狗输入法 - 输入汉字时候选栏乱码问题 打开中终端 (1)如果是刚装完搜狗输入法,可尝试修复,输入命令: sudo apt-get install -f 进行检查,判断是否缺少依赖项,或者安装包出错,出错会重新安装 更多:sudo apt-get -f install 修复...

2019-08-19 09:06:19

阅读数 170

评论数 1

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

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

2019-08-17 22:31:11

阅读数 285

评论数 0

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

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

2019-08-17 13:00:38

阅读数 174

评论数 1

金额工具类

金额工具类 import java.math.BigDecimal; import java.text.DecimalFormat; /** * <p> * * @author coder * @since 2019-08-17 */ public clas...

2019-08-17 11:03:26

阅读数 397

评论数 1

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

不能使用 float 和 double 来表示金额等精确的值 关于面试,金额用什么数据类型? 不是 doube,更不是 float ,而是用 BigDecimal。对于金融项目,对于金额,误差是不能容忍的。那么用什么数据类型才能精确的表示金额?JDK 提供了一个 java.math.BigDeci...

2019-08-17 11:02:54

阅读数 6667

评论数 20

浮点数为什么不精确

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

2019-08-17 01:52:13

阅读数 2646

评论数 16

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

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

2019-08-15 21:26:27

阅读数 332

评论数 2

手写 Spring - 详细思路与实践

手写 Spring - 详细思路与实践 之前的一篇 手写 Spring,这样的文章很多,到处都是,要说真的能简单手写出 Spring MVC 其实不多,因为要理解,记忆,实践才能掌握,这不是一篇博客就能实现的,可能需要两篇。。再说面试的时候,要不要说呢,自己还没底。。自定义命名部分为加 X- 前缀...

2019-08-13 23:09:53

阅读数 534

评论数 1

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

最常见的 Git 错误及解决方法 经常用 Git,哪能不出错。 1、修改最后一次提交消息 - 提交消息写错了 解决方法: git commit --amend 该命令将打开编辑器,并允许更改最后一次提交消息。 (按 i 进行编辑,编辑后,按 ESC,如果保存退出使用 :wq,只退出输入 :q,如...

2019-08-10 17:22:23

阅读数 202

评论数 1

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

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

2019-08-10 14:39:56

阅读数 273

评论数 1

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

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

2019-08-10 11:47:02

阅读数 146

评论数 0

Ubuntu 18 使用命令卸载软件

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

2019-08-06 23:23:18

阅读数 90

评论数 0

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 命令查看当前状态,也没看...

2019-08-06 18:58:25

阅读数 1402

评论数 0

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

在 ubuntu 中为 navicat 创建快捷方式 参考原文:查看连接 问题: 在 ubuntu 中,解压 navicat 并不会生成快捷方式,每次运行都需要进入软件解压的目录,然后运行命令开启navicat,十分不便.今天尝试引入快捷方式,直接双击运行,感觉挺不错. 首先下载一个合适的 png...

2019-08-04 20:12:39

阅读数 131

评论数 0

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

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

2019-08-04 15:02:17

阅读数 160

评论数 1

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

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

2019-08-04 14:32:03

阅读数 134

评论数 1

svn 必须会敲的常用命令

1、svn help:可以通过该命令查看 svn 的所有操作命令,包括命令的缩写 2、首先需要从 svn 库中 checkout 对应的项目: (1)svn 项目路径为 svn://192.168.1.1/myproject/doc,将项目路径下的文件checkout到/home/test目录下,...

2019-08-04 12:47:09

阅读数 786

评论数 0

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