自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Reformat的博客

No Program,No Life

  • 博客(38)
  • 资源 (2)
  • 收藏
  • 关注

原创 Github图床搭建和使用(带CDN加速)

Github图床搭建和使用(带CDN加速)文章目录Github图床搭建和使用(带CDN加速)一.使用场景二.软件选型三.搭建过程1.创建 GitHub 图床仓库2.生成 Access token2.1. 创建2.2. 设置2.3.生成3.设置PicGo4.设置Typora四.呈现效果五.注意事项一.使用场景用于Markdown文档书写时引用图片,可配合Typora使用(粘贴图片后自动生成),方便后续在博客上发布二.软件选型Markdown编辑器:Typora(https://www.typo

2021-07-29 00:59:32 4765 3

原创 Java面试题之基本数据类型

声明题目来源于【每日一题】Java 基本数据类型基础面试题本文目的在于写下自己的理解和补充,若没有更好的理解会写明原答案,欢迎大家补充和指正1.如下赋值语句有什么问题吗? short i = 1; i = i + 1;//1 short j = 1; j += 1;//2结果:1.编译器提示错误 2.正常分析:这道题首先需要明白在java规范中:高...

2020-04-06 23:27:36 1143

原创 Java 线程异常处理---UncaughtExceptionHandler

介绍在多线程中,主线程是无法捕获到子线程的异常的。除非所有的异常能够在run()中被捕获,否则将会把异常栈信息输出到终端而中断该线程。所以Thread提供了UncaughtExceptionHandler来供我们在线程外部进行操作,确保子线程未捕获的异常能够被处理。源码分析Thread类中提供的接口 @FunctionalInterface public interface ...

2020-04-04 11:43:05 546 1

原创 Thread源码阅读---Java14

文章目录1.介绍2.提供的常量3.本地方法3.1 私有的本地方法3.2 公有的本地方法4.基本属性及方法4.1 线程ID4.2 线程名称4.3 线程状态4.4 守护进程4.5 线程优先级4.5 线程组5.初始化线程5.1 静态块5.2 公有的构造函数5.3 私有的构造函数的实现6.线程方法6.1 start6.2 sleep6.3 onSpinWait6.4 interrupt6.5 joi...

2020-04-04 02:24:34 263

原创 LeetCode 41. 缺失的第一个正数 详解

自考研以来,第一次再次更新博客,接下来的时间会不断写新的文章。这道题目也是字节跳动的面试题,下面分享我的解题思路。题目内容:给定一个未排序的整数数组,找出其中没有出现的最小的正整数。要求:你的算法的时间复杂度应为O(n),并且只能使用常数级别的空间。示例:输入: [7,8,9,11,12]输出: 1输入: [3,4,-1,1]输出: 2输入: [1,2,3]输出: 4...

2020-03-19 18:48:18 212

原创 理解Java序列化

序列化的理解序列化:把对象转换为字节序列的过程称为对象的序列化。反序列化:把字节序列恢复为对象的过程称为对象的反序列化。序列化目的:为了让不同JVM之间共享实例对象作用:保存类对象某个时刻下的状态 (快照) ,让其可以多次复用或者是在其他JVM上恢复(还原)特点:1.序列化将对象数据保存为一组字节数组,并且可以通过反序列化复原2. 仅保存某个时刻的成员变量,而并不关注静态变量3. ...

2018-11-13 19:32:12 196

原创 GC的回收算法

文章目录基本概念根对象(Roots)标记Mark-Sweep算法(标记-清除 算法)Copying算法(复制算法)Mark-Compact(标记-整理算法)Generational Collection(分代收集算法)新生代老年代基本概念JVM中GC(Garbage Collector)的回收最常见的四种基本算法:Mark-Sweep(标记-清除),Copying(复制),Mark-Comp...

2018-11-04 12:35:04 491

原创 Java的几种引用类型

概述Java里存在四种类型的引用:强引用、软引用、弱引用和虚引用。这四种引用类型,可以让我们决定对象的生命周期,利于JVM的GC回收,进而对内存溢出和内存泄漏可以有更好的解决途径。Java的几种引用类型与可达性引用类型可达性存在方式GC回收方式强可达强引用在一个线程内,无需引用直接可达在引用存在的情况下不会回收软可达软引用通过SoftRefere...

2018-11-04 12:27:49 1036

原创 深入理解Java虚拟机(二) --- JVM内存管理

文章目录运行时的数据区域一.程序计数器二.Java虚拟机栈局部变量表:操作数栈三.本地方法栈四.Java堆五.方法区(非堆)运行时常量池直接内存运行时的数据区域一.程序计数器目的:作为当前线程所执行字节码的行号指示器原理:通过字节码解释器改变计数器的值来选取下一条字节码指令特点:1.占用较小的内存空间​ 2.每条线程需要一个独立的程序计数器​ 3.Nat...

2018-10-20 19:27:57 229

原创 深入理解Java虚拟机(一)--- Java 与 JVM

文章目录Java 特性JVM 特性Java语言与JVM的关系Java技术体系四种体系平台Java 特性1.结构严谨,面向对象编程语言2.跨平台性3.较安全的内存管理和访问机制(避免了绝大部分内存泄漏和指针越界的问题)4.实现热点代码检测和运行时编译优化5.拥有一套完整的API接口6.拥有丰富的第三方库JVM 特性基于栈的虚拟机(Stack-based virtual mac...

2018-10-20 19:15:20 157

原创 深入理解字符串的底层存储方式

文章目录引言Case1:字符串常量Case2:字符串对象String.intern()引言以下讨论的,包括图示,都是基于JDK1.8以上。因为JDK1.7的常量池在方法区,而不是在Java堆中先了解字符串常量在内存的表示方式,接着了解字符串对象在内存的表示方式。在了解两种字符串表现方式后,String.intern()就将会很容易理解。关于Java堆栈内容可以阅读我的《深入理解Java虚...

2018-10-20 18:55:53 2626

原创 # Linux基础编程(三) Vim常用操作

文章目录Vim的四种模式文件操作移动操作插入操作删除操作复制粘贴剪切操作搜索操作替换更改操作其他操作Vim配置文件Vim的四种模式正常模式:可以使用快捷键命令,或按:输入命令行。在其他模式下,按即可回到正常模式插入模式:可以输入文本,在正常模式下,按i、a、o等都可以进入插入模式。可视模式:正常模式下按v可以进入可视模式,ctrl+v进入可视块模式。可视模式 : 上下移动光标就会整行...

2018-10-03 16:08:17 274

转载 Linux基础编程(二) 常用指令大全

文章目录系统信息关机 (系统的关机、重启以及登出 )文件和目录文件搜索挂载一个文件系统磁盘空间用户和群组文件的权限文件的特殊属性打包和压缩文件RPM 包 - (Fedora, Redhat及类似系统)YUM 软件包升级器 - (Fedora, RedHat及类似系统)DEB 包 (Debian, Ubuntu 以及类似系统)APT 软件工具 (Debian, Ubuntu 以及类似系统)查看文件内...

2018-09-29 20:55:23 217

原创 Linux基础编程(一) 文件

文件与颜色颜色文件类型绿色可执行文件红色压缩文件或者包文件蓝色目录白色普通文件,如文本文件,配置文件,源码文件等浅蓝色符号链接,主要是使用ln命令建立的文件(快捷方式)黄色设备文件灰色其他文件7种文件类型类型字符表示普通文件—(或者 f)目录d符号链接(快捷方式)l

2018-09-29 15:32:04 171

原创 十进制数与N进制的转换

文章目录题目代码(c语言)解析小结题目1)问题描述:将从键盘输入的十进制数转换为N(如二进制,八进制,十六进制)进制数据。2)要求:利用顺序栈实现数制转换问题代码(c语言)#include<stdio.h>#include<stdlib.h>//定义栈结构typedef struct stack{ int num[50]; int tap;}St...

2018-09-29 12:35:02 14330

原创 Linux Shell快捷键

文章目录历史记录操作移动光标删除操作替换操作其他操作历史记录操作键位效果Ctrl+p上一条命令行历史记录,等同于Ctrl+←Ctrl+n下一条命令行历史记录,等同于Ctrl+→!!执行最后一条指令移动光标键位效果ctrl + a移动到命令行开头,等同于home键ctrl + e移动到命令行尾部,等同于end键...

2018-09-26 10:04:24 710 1

转载 理解LayoutInflater的使用

引言在 实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。不同点是LayoutInflater是用 来找res/layout/下的xml布局文件,并且实例化;而findViewById()是找xml布局文件下的具体widget控件(如 Button、TextView等)。 LayoutInflater 是一个抽象类,在文档中如下声明: ...

2018-09-10 21:43:32 116

原创 MySQL知识点总结(七)---管理员操作

一. 创建用户命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';说明:username:你将创建的用户名host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%password:该用户的登陆密码,密码可以为空,如果为空则该...

2018-08-10 16:18:06 134

原创 MySQL知识点总结(六)---存储引擎

存储引擎的使用MyISAM存储引擎InnoDB存储引擎MEMORY存储引擎存储引擎的使用显示当前有哪些引擎可用show engines;不同的存储引擎就是不同存储方式修改默认的存储方式:可以在my.int的文件下进行修改 MyISAM存储引擎最常用的引擎具有以下特征 使用3个文件表示每个表:1.格式文件---存...

2018-08-10 16:15:01 166

原创 MySQL知识点总结(五)---表操作

一.创建表(DDL)1.简单创建2.给字段添加默认值的创建3.复制表创建二.删除表三.增/删/改表结构(DDL)1.添加字段2.修改字段3.删除字段四.增/删/改表数据(DML)1.insert—增加表数据普通插入将查询结果插入记录插入日期2.update 修改数据3.delete 删除数据五.创建表加入约束–Constraint约束的...

2018-08-10 16:12:25 248

原创 MySQL知识点总结(四)---数据类型

数值类型日期和时间类型字符串类型数值类型 类型 大小 范围(有符号) 范围(无符号) 用途 TINYINT 1 字节 (-128,127) (0,255) 小整数值 SMALLINT 2 字节 (-32 768,32 767) (0,65 535) 大整数值 MEDIUMINT ...

2018-08-10 16:04:56 86

原创 MySQL知识点总结(三)---数据处理函数/单行处理函数

一.数据处理函数/单行处理函数字符串函数1: left(str, len) 返回字符串str的左端len个字符2: length(str)3: lower(str)—返回小写的字符串str4: upper(str) 返回大写的字符串str4: substr(属性列,起点位置,截取长度) —取子字符串5: concat() —字符串拼接6: replace(替换7.t...

2018-08-10 16:01:03 463

原创 MySQL知识点总结(二)---查询操作

一.基本操作1.查看当前有什么数据库2.查看当前有什么数据库/表格存在补充:查看在指定数据库中的表—可以在别的数据库中查看3.查看当前对什么数据库进行操作4.查看一张表的表结构5.查看表是怎么创建的二.单表查询1.查询一个字段2.条件查询常用的运算符[^1]1.等于( = )2: 等于( <=> )3: is判断(null)4: n...

2018-08-10 15:55:39 407

原创 MySQL知识点总结(一)---基本概念和操作

基本概念一.运行数据库以及基本设置启动MySql:离开MySql:启动/停止MySQL服务(在cmd上):查看MySQL版本获取系统当前时间二.装载数据库基本概念1.端口号是服务的唯一标识: MySql的默认端口: 33062.表是一种结构化的文件(行,列,键)。3.行也称字段,每个字段都有:名称/数据类型/长度/约束4.SQL的...

2018-08-10 15:46:28 238

转载 深入理解Class.forName()

Class.forName()主要功能Class.forName(xxx.xx.xx)返回的是一个类。Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段。// xxx.xx.xx为字符串一.什么时候用Class.forName()?给你一个字符串变量,它代表一个类的包名和类名,你怎么实例化它?你第一想...

2018-08-05 13:29:36 350

原创 Git知识点总结(四) --- 仓库操作与多人协作

目录仓库操作初始化仓库将远程库下载到本地相关指令Example:将本地仓库与远程仓库关联Example小结多人协作 1注意事项工作模式引用仓库操作初始化仓库使用git init命令:定义仓库目录设成仓库目录后目录后面会有个(master)并且在该目录下会有一个.git隐藏目录将远程库下载到本地...

2018-08-05 02:21:53 207

原创 Git知识点总结(三) --- 分支和合并,临时保存,标签

目录分支与合并基本操作创建查看现有分支选择分支合并分支撤销上一次合并分支删除分支带有记录的合并临时保存基本操作Example分支与合并基本操作创建git branch <branchName>查看现有分支git branch查看本地分支git branch -r查看远程分支git ...

2018-08-05 02:12:08 1066

原创 Git知识点总结(二) --- 文件操作与撤销操作

文件操作添加文件删除文件重命名文件撤销操作文件操作添加文件添加文件到Git本地仓库,分两步:使用命令git add <file>将文件加入暂存区(Index)或者将新改动覆盖到暂存区注意:可反复多次使用,添加多个文件git add <file1> <file2>....

2018-08-05 02:06:22 191

原创 Git知识点总结(一) --- 基本概念与查询操作

目录基本概念特性三个工作区域文件的状态变化周期查询操作查看配置信息查看当前文件状态查看当前分支的提交历史和分支合并图显示当前分支的最近几次提交仓库图形管理界面不同的差别比较基本概念特性1.Git是一个分布式版本控制系统,能让使用的每个人电脑上都有一个完整的版本库。不同于 集中式的版本控制系统 ,若中央服务器瘫痪,所有人都...

2018-08-05 02:00:55 284

原创 LeetCode(初级算法)动态规划篇---爬楼梯

题目假设你正在爬楼梯。需要 n 步你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 步 + 1 步2. 2 步示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 步 + 1 步 + 1 ...

2018-05-15 18:54:10 565

原创 LeetCode(初级算法)排序与搜索篇---合并两个有序数组

题目给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m...

2018-05-14 17:03:34 109

原创 LeetCode(初级算法)排序与搜索篇---第一个错误的版本

第一个错误的版本题目你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 v...

2018-05-14 17:02:05 1097

原创 LeetCode(初级算法)数组篇---旋转数组

题目将包含 n 个元素的数组向右旋转 k 步。例如,如果 n = 7 , k = 3,给定数组 [1,2,3,4,5,6,7] ,向右旋转后的结果为 [5,6,7,1,2,3,4]。注意:尽可能找到更多的解决方案,这里最少有三种不同的方法解决这个问题。[显示提示]提示:要求空间复杂度为 O(1)解析做这道题之前需要知道,k是以一个数组长度为循环周期...

2018-04-27 10:56:59 239

原创 LeetCode(初级算法)数组篇---从排序数组中删除重复项

题目给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。...

2018-04-24 17:21:10 147

原创 LeetCode(初级算法)数组篇---存在重复

题目给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数应该返回 true。如果每个元素都不相同,则返回 false。解析在这道题里,我推荐大家使用两种方法。我的解题方式是能怎么简单就怎么简单,不追求到效率的极致,在力求不把问题复杂化方法一先排序,后在遍历数组时每次与下一个做比较,若存在相等则存在重复public class Solu...

2018-04-24 16:43:59 4421

原创 LeetCode(初级算法)数组篇---只出现一次的数字

从现在开始,我会在博客中,每天更新我之前写过的些算法题目,作为学习的记录,给大家参考。所有题目都是用java实现的,一开始的可能比较简单,慢慢的会加入一些有难度的题目。 题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [...

2018-04-23 20:20:53 126

原创 标签下的 Continue 与 break

问题的提出最近小伙伴玩LeetCode的时候,整了半天,每次都是超时,结果一看发现他误以为内层循环里进行break,就能直接弹出......... 所以做个对比代码实现package 标签;​import org.junit.Test;​public class lable { @Test   public void method() {   System.out.p...

2018-04-04 12:00:14 97

转载 Typora For Markdown 语法

数学表达式下标上标插入表情:happy:下划线删除线代码强调斜体插入图片插入URL连接目录列表Table of Contents(TOC)水平分割线标注表格数学表达式块任务列表列表块引用标题数学表达式要启用这个功能,首先到Preference->Editor中启用。然后使用$符号包裹Tex命令,例如:$lim_{x \t...

2017-11-22 17:07:56 225

poi-src-4.1.2.zip

17 February 2020 - POI 4.1.2 Apache POI小组很高兴宣布4.1.2版本。 此版本在XDDF中提供了更好的图表支持,Common SL / EMF模块中的各种渲染修复以及在XSLF中处理任意幻灯片索引时的OOM修复(+对SparseBitSet 1.2的新依赖)。 几个依赖项也已更新为最新版本,以获取安全修复程序和其他改进。

2020-04-04

poi-bin-4.1.2.zip

17 February 2020 - POI 4.1.2 Apache POI小组很高兴宣布4.1.2版本。 此版本在XDDF中提供了更好的图表支持,Common SL / EMF模块中的各种渲染修复以及在XSLF中处理任意幻灯片索引时的OOM修复(+对SparseBitSet 1.2的新依赖)。 几个依赖项也已更新为最新版本,以获取安全修复程序和其他改进。

2020-04-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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