- 博客(27)
- 收藏
- 关注
原创 三目运算符的空指针问题
public static void main(String[] args) { System.out.println(null);// 编译不通过 System.out.println(false ? 1 : null);// null System.out.println(false ? 1 : false ? 0 : null);// NPE }这篇文章讲的比较详细:https://developer.aliyun.com/arti...
2022-03-01 17:18:41 209
原创 使用python搭配pandoc实现html批量转word
使用python搭配pandoc实现html批量转word好兄弟工作上有一批(5000+)html的文档需要转成word格式,他采用了两种实现方式,但都有些问题:直接改后缀有些会乱码 --> 有些会乱码,原因不知一个一个复制粘贴 --> 太费时间找到我来帮忙,研究了下发现了pandoc这个神器,记录下实现的过程和踩的坑pandoc简介pandoc是一个强大的文档格式转换工具,支持丰富的格式转换,并尽可能的保留原来的排版,号称文档格式转换的瑞士军刀具体支持哪些格式转换可以查看
2021-11-12 16:56:54 4632 3
原创 CMD常用指令汇总
CMD常用指令汇总收集整理一下自己常用的cmd指令,提高使用效率类型指令描述备注常用工具calc计算器notepad记事本mspaint画图系统管理control控制面板系统控制shutdown -s -t 600600秒后自动关机shutdown -a取消定时关机shutdown -r -t 600600秒后自动重启...
2021-10-21 14:32:13 228
原创 Git如何忽略已经上传的文件或文件夹?
Git如何忽略已经上传的文件或文件夹?背景:使用IDEA新建项目,有时候会不小心将.idea文件夹上传上去,由于缓存的存在,之后再在.gitignore中添加这个文件夹就无效了,需要清除掉缓存.gitignore才会生效git rm --cached <file>这个命令会直接从暂存区删除文件,工作区则不做出改变。git rm --cached命令比git reset head更好,前者是删除掉,后者是替换掉。git rm -r --cached <file> 可以删除文件
2021-10-19 11:27:18 1432
原创 Java发送form-data请求实现文件上传
如何使用Java发送form-data格式的请求上传multipart文件?封装了以下工具类:package com.leeyaonan.clinkz.common.util;import java.io.File;import java.io.IOException;import java.nio.charset.StandardCharsets;import java.util.*;import java.util.concurrent.ScheduledExecutorService;
2021-10-18 16:09:14 10273 2
原创 Zip4j学习笔记
Zip4j学习笔记github地址:https://github.com/srikanth-lingala/zip4j使用版本:2.9.0maven依赖: <dependency> <groupId>net.lingala.zip4j</groupId> <artifactId>zip4j</artifactId> <version>2.9.0<
2021-09-27 15:07:50 511
原创 Git如何创建本地分支并推送到远程仓库
Git如何创建本地分支并推送到远程仓库假设新的分支名称为:new_branch-- 切换到拉取分支的原分支,假设为mastergit checkout mastergit pull-- 拉取新的本地分支git checkout -b new_branch-- 推送到远程仓库git push origin new_branch:new_branch-- 设置关联git push --set-upstream origin new_branch...
2021-09-24 10:43:38 437
原创 SpringBoot配置文件加载顺序
SpringBoot配置文件加载顺序新搭建了一个SpringBoot项目,通过实践研究一下SpringBoot的配置文件加载顺序测试方法:在不同的位置分别创建配置文件,并配置不同的端口号启动程序后查看端口号,找到对应的配置文件,先启动的端口号即为优先级高的删除该配置文件,再次启动,逐个排查,直到整理出完整的顺序端口号配置: 生效顺序根目录:
2021-09-24 10:34:14 122
转载 为什么SpringBoot中main方法执行完毕后程序不会直接退出呢
科普:为什么SpringBoot中main方法执行完毕后程序不会直接退出呢【转载】https://cloud.tencent.com/developer/article/1590215针对这个问题我们可以转化一下思路:一个JVM进程,在什么情况下会正常退出?大部分人应该都知道使用System.exit()或Runtime.exit()可以直接导致当前JVM进程退出,但是仔细想想这个好像跟SpringBoot没啥关系哈另外一个可能会导致进程退出的是所有的非daemon进程完全终止,那么根据这个条件
2021-09-23 10:50:14 1415
原创 SpringBoot启动一下就结束了
新建的SpringBoot项目,启动一下就结束了,控制台打印如下:2021-09-22 11:30:12.504 INFO 17840 --- [ main] com.leeyaonan.clinkz.ClinkzApplication : Starting ClinkzApplication using Java 11.0.3 on DESKTOP-AJMPIS9 with PID 17840 (D:\Projects\rotli\clinkz\target\classes s
2021-09-22 11:57:52 3305 2
原创 Git生成ssh密钥
SSHSSH keysSSH key 可以让你在你的电脑和Code服务器之间建立安全的加密连接。 先执行以下语句来判断是否已经存在本地公钥:cat ~/.ssh/id_rsa.pub如果你看到一长串以 ssh-rsa或 ssh-dsa开头的字符串, 你可以跳过 ssh-keygen的步骤。提示: 最好的情况是一个密码对应一个ssh key,但是那不是必须的。你完全可以跳过创建密码这个步骤。请记住设置的密码并不能被修改或获取。你可以按如下命令来生成ssh key:ssh-keygen -t r
2021-09-22 10:37:43 513
原创 bat脚本更新本地Git仓库
bat脚本更新本地Git仓库回到家从远程拉代码的时候觉得每次都要输入指令很麻烦,突然想到既然每次执行的命令都一致,是否可以写一个脚本来实现自动拉取,查询网络后编写如下简易版脚本:echo offfor /d %%i in (*) do (cd %%iIF EXIST .git (echo %%igit pullecho.)cd ..) 主要的步骤就是遍历脚本当前所在的目录下的子目录,判断如果存在.git文件就执行git pull的命令,拉取远程分支这个脚本文件必须放在项目外层目录
2021-08-19 23:52:26 875
原创 MySQL计算时间差的方法
MySQL计算时间差的方法对于timestamp类型TIMESTAMPDIFF可以使用TimeStampDiff()函数计算两个时间之间的时间差,函数声明如下:TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)其中,unit是时间的单位,枚举值有:SECOND:秒MINUTE:分钟HOUR:小时DAY:天WEEK:周MONTH:月份QUARTER:季度YEAR:年注意,相减的时候是:datetime_expr2减去dateti
2021-08-19 14:32:05 411
转载 什么是同步异步?阻塞非阻塞?
什么是同步异步?什么是阻塞非阻塞?https://mp.weixin.qq.com/s/3c-NfdRZYu60VmMpR4vvTg自从发布《你管这破玩意叫 IO 多路复用》之后,我发现读者问得最多的问题是,可不可以写篇文章解释下什么是同步异步,阻塞非阻塞,老是傻傻分不清。我一开始也是非常困惑,尤其是看网上一些“生动形象”的例子,比如烧水壶。但现在我感觉这个问题又没什么好说的,不知道是不是我理解得有点肤浅,那我试着解释一下。同步和异步,描述的是调用者,要不要主动等待函数的返回值。这个就是同步
2021-08-16 17:21:32 131
原创 Java数组转List的几种方式对比
在实际开发中常常会遇到将数组转换为集合的场景,整理各种处理方式如下:假定我们有一个字符串数组String[] arr = {“1”, “2”, “3”};最无脑的方式(不见得最差)定义一个新集合,遍历数组然后做数据格式转化后加入到集合中。这种方式就不多说了,没什么实现难度,只是代码不够简洁,但是遍历的时候可以做一些操作,实际使用更灵活String[] arr = {"1", "2", "3"};List<Integer> integers = new ArrayList<&
2021-08-11 14:59:18 288
转载 设计模式-建造者模式
建造者模式简介与示例建造者模式是创建型模式中的一种,在面向对象编程中很常用建造者模式的关键,是将复杂对象的构建过程与它本身的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式对应的UML图:代码实现:首先定义一个Product类:public class Product { ArrayList<String> parts = new ArrayList<String>(); public void add(String part) {
2021-08-09 10:47:04 132
原创 超好用的IDEA插件汇总
IDEA官方插件网站:Plugins | JetBrains我在使用的IDEA插件RestfulToolkit-fix可以根据URL直接跳转到对应的方法可以快速的发送http请求Alibaba Java Coding Guidelines阿里巴巴代码规约扫描插件,可以检查代码中不符合规约的部分,并提供详细的解释和改进建议Free MyBatis plugin增强idea对MyBatis支持的插件可以快速生成mapper.xml文件快速从代码跳转到mapper以及从mapp.
2021-08-08 23:52:57 248
原创 Java程序员面试准备-路线
编辑时间线:2021年8月8日:初版,参考2021年全新Java学习路线图,对标阿里P7技术栈 - 知乎 (zhihu.com)第一章Java知识体系系统篇1-1 Java核心技术1-1-1 Java开发入门1-1-2 Java编程基础1-1-3 方法与数组1-1-4 面向对象1-1-5 异常处理1-1-6 常用类库API1-1-7 文件与IO1-1-8 集合1-1-9 多线程与并发1-1-10 网络编程1-1-11 反射与内省1-1-12 泛型1-1-13 正则表达式.
2021-08-08 22:23:15 281
转载 Java中的Object类
Java中的Object类转载:漫画:Object类很大,你忍一下 (qq.com)漫画:Object类很大,你忍一下(完结篇) (qq.com)Object类包含了九大常用方法:clone()getClass()finalize()toString()equals()hashCode()wait()notify()notifyAll()getClass()getClass方法是干什么的呢?首先,getClass方法用于获取一个对
2021-08-08 16:49:49 180
转载 设计模式-原型模式
设计模式-原型模式和单例模式一样,原型模式是一种创建型设计模式,就是从一个样板对象中复制出一个内部属性一致的对象。举个例子:假如有一天,小灰被外星人抓走了,外星人要拿小灰做实验,想了解小灰在吃得好、睡得好、玩得开心的场景下,与现实中小灰的生存状态有什么区别。于是,外星人克隆了几个一模一样的小灰:复制体A,复制体B,复制体C就这样,小灰的原型被留在现实中,而三个复制体分别提供了吃得好、睡得好、玩得开心三种不同环境,小灰的原型则不受三个复制体的影响。过了一段时间,我们来观察一下本体与分身的生存状态。
2021-08-06 16:32:18 208
原创 我的装机软件清单-备忘
闲鱼上捡了一些垃圾装了台新电脑,记录一下自己装机的软件清单,后续再装电脑的时候可以直接翻出来用办公软件:Markdown编辑器:Typora文档编辑器:Sublime办公软件套装:WPS Office桌面工具:截图工具:Snipaste窗口固定:Deskpins云存储工具:百度网盘腾讯微云系统安全:火绒安全软件开发工具:Intellij IDEA 2021.2PyCharm 2021.2开发环境:Java11Python 3.9.6数据库连接工具
2021-08-04 23:04:13 129
原创 各个系统下关闭占用端口号的进程
各个系统下关闭占用端口号的进程以8080端口为例Windowswin + R --> cmdnetstat -ano | findstr 8080查询到的最后一列即为对应进程的PID关闭方式一:打开任务管理器,详细信息,找到对应的PID,结束任务关闭方式二:使用命令行关闭taskkill -PID 进程号 -F...
2021-07-30 17:55:36 288
转载 关于文件路径的斜杠和反斜杠问题
关于文件路径的斜杠和反斜杠问题C文件路径使用双反斜杠[\\]因为 \ 在 C/C++/C# 中是转义前导字符,例如 \n 代表换行。如果路径中刚好有类似转义字符开头的,那么就会引起问题,所以路径中的 \ 必须用 \ 的形式。Windows的路径中表示文件层级用反斜杠[\]Windows 用反斜杠(“\”)的历史来自 DOS,而 DOS 的另一个传统是用斜杠(“/”)表示命令行参数,比如:cd %SystemDrive%dir /s /b shell32.dll既然 DOS 这边斜杠被占用
2021-07-30 14:48:43 1079
原创 MySQL截取字符串的方法-substring_index
substring_index的用法substring_index(str,delim,count)str:要处理的字符串delim:分隔符count:计数(要截取的位置,正数为从左向右,负数为从右向左)工作中遇到的案例:排查生产问题的时候,需要从类似下面的日志中取出一个orderId这个字段对应的数字customer_id=87380–>customer_id有最新跟进的订单,orderId=293976–>ENDSQL语句:select substring_ind
2021-07-28 15:23:53 350
原创 Git Stash的使用方法与注意事项
常用git stash命令:git stash save “save message” : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。git stash list :查看stash了哪些存储git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}git stash show -p : 显示第一个存储的改动,如果
2021-07-15 18:07:15 239
转载 什么是三级等保?
资料源自知乎等平台,搜集整理如下知乎:https://www.zhihu.com/question/398105835/answer/1618748819在了解三级等保之前,我们需要知道等级保护到底是什么?等级保护指对国家重要信息、法人和其他组织及公民的专有信息以及公开信息和存储、传输、处理这些信息的信息系统分等级实行安全保护,对信息系统中使用的信息安全产品实行按等级管理,对信息系统中发生的信息安全事件分等级响应、处置。我国实行网络安全等级保护制度,等级保护对象分为五个级别,由一到五级别逐渐.
2021-07-14 11:12:36 3319
原创 MySQL对浮点数设置保留位数
MySQL对浮点数设置保留位数文章目录MySQL对浮点数设置保留位数FORMATROUNDTRUNCATECONVERT(类型转换函数)有如下几个方法可以设置查询结果保留的位数FORMATFORMAT(X,D)X:原始数据D:保留位数小数部分四舍五入整数部分,从右向左每3位一个逗号ROUNDROUND(X,D)X:原始数据D:保留位数小数部分四舍五入TRUNCATETRUNCATE(X,D)X:原始数据D:保留位数小数部分多余位数直接舍去CONVERT(类型
2021-07-07 11:35:19 1748
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人