无题
Typora+Hexo图片上传路径问题
最近在搭自己的博客,发现在typora上用markdown的语法——“”附上的图片没办法在博客上面正确显示。找了一圈,最后确定是图片的路径问题。
首先要安装好hexo-asset-image插件,没安装过的可以在cmd中使用npm安装(在自己博客文件夹的根目录下运行)
npm install hexo-asset-image –save
可以使用下面这句代码查看自己的版本号
npm hexo-asset-image -version
把要引用的图片放在和自己的.md文件的同名文件夹下面
(另外嘀咕一下,看网上很多教程说要把这个post_asset_folder设为true,其实设不设无所谓,可以自己新建一个同名文件夹,另外也不是非要hexo new 新建.md文件时自动生成的同名文件夹)
看网上很多教程说要把这个post_asset_folder设为true,其实设不设无所谓,可以自己新建一个同名文件夹
在typora中我引用图片用的是相对路径
相对路径
然后就是用hexo对博客进行编译,转换成html代码
hexo clean &&am ...
无题
返回当前线程的名称:Thread.currentThread().getName()
线程的名称是由:Thread-编号定义的。编号从0开始。
线程要运行的代码都统一存放在了run方法中。
线程要运行必须要通过类中指定的方法开启。start方法。(启动后,就多了一条执行路径)
start方法: 1)启动了线程; 2)让jvm调用了run方法。
线程的启动
☆ Thread类中run()和start()方法的区别:
start():用start方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码。通过调用Thread类的start()方法来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行,一旦得到cpu时间片,就开始执行run()方法,这里方法run()称为线程体,它包含了要执行的这个线程的内容,Run方法运行结束,此线程随即终止。
run():run()方法只是类的一个普通方法而已,如果直接调用Run方法,程序中依然只有主线程这一个线程,其程序执行路径还是只有一条,还是要顺序执行,还是要等待run方法体执行完毕后才可继续执行下面的 ...
JavaSE IO流
JavaSE IO流
1 流的分类
注意:输入流和输出流都是站在程序(内存)的角度上来说
2 结点流与处理流
节点流类型
节点流就是一根管道直接插到数据源上面,直接读数据源里面的数据,或者是直接往数据源里面写入数据。典型的节点流是文件流:文件的字节输入流(FileInputStream),文件的字节输出流(FileOutputStream),文件的字符输入流(FileReader),文件的字符输出流(FileWriter)。
处理流类型
处理流是包在别的流上面的流,相当于是包到别的管道上面的管道。
3 基本流介绍
InputStream
OutputStream
Reader
Writer
4 结点流介绍
FileInputStream
1 构造方法
FileInputStream(File file): 通过打开与实际文件的连接来创建一个 FileInputStream ,该文件由文件系统中的 File对象 file命名。
FileInputStream(String name): 通过打开与实际文件的连接来创建一个 FileInputStream ,该 ...
JavaSE 异常
异常
异常的分类
Throwable:可抛出的。
Error:错误,一般情况下,不编写针对性的代码进行处理,通常是jvm发生的,需要对程序进行修正。
Exception:异常,可以有针对性的处理方式
这个体系中的所有类和对象都具备一个独有的特点;就是可抛性。
可抛性的体现:就是这个体系中的类和对象都可以被throws和throw两个关键字所操作。
异常的处理
Java异常处理的五个关键字:try、catch、finally、throw、throws
☆ throw与throws区别:
throws 是用来声明一个方法可能抛出的所有异常信息,而throw则是指抛出的一个具体的异常类型。此外throws是将异常声明但是不处理,而是将异常往上传,谁调用我就交给谁处理。
throw用于抛出异常对象,后面跟的是异常对象;throw用在函数内。
throws用于抛出异常类,后面跟的异常类名,可以跟多个,用逗号隔开。throws用在函数上。
throws格式:方法名(参数)throws 异常类1,异常类2,…
throw:就是自己进行异常处理,处理的时候有两种方式,要么自己捕获异 ...
Hexo博客之butterfly主题优雅魔改系列
Hexo博客之butterfly主题优雅魔改系列
转载
为了便于各位博主了解到是否新增了魔改方案,请查看更新记录页
直接体验魔改效果可以访问我的个人博客 小康博客
此文更新可能不及时,如果更新记录有新的方案后,本文没有那么请移至我的个人博客进行查找。
前置说明
魔改亮点
🆙主题可升级:几乎不改动主题源码。即便魔改,也不需要为升级主题而烦恼。
🍳简单快速:简单上手,快速修改。
🍭看我72变:多种背景随意更换。
📕优雅阅读:对卡片进行不同的透明度设置,实现更优雅的阅读。
👦个性友联:为你的好友设置不同的颜色
🎈页脚更炫酷:彩色渐变footer喜欢么?
🍟更多优点等你发现
为什么写这篇文章?
相信在这之前,大家肯定看过网上的各种魔改教程。但是这些魔改教程基本上千篇一律,都是一种方式,大量修改模板(主题源文件)。这种方式的好处就是简单快速且直接,缺点就是每次升级😏,不用我说了吧。除非你不打算在升级。
但是对于一个热爱升级的我来说,我怎么可以这样。于是乎我便写了这篇文章。按照此教程进行的魔改,大部分都是通过引入新的js文件和css文件实现的。这意味着再也不用因为升级而再次魔改 ...
使用hexo+github免费搭建个人博客网站
使用hexo+github免费搭建个人博客网站超详细教程
参考依据
优点
1、不需要服务器,github免费提供的托管服务
2、不需要域名,github同样提供了一个.io的域名
3、不用自己写xml、hexo提供了很多开源的博客模板。
4、便于维护更新,换风格直接换模板就行。
安装相关工具
1、安装Node.js
nodejs官网
普通用户建议安装稳定版(第一个)
2、安装Git
git官网
打开cmd命令行(win+r 输入cmd回车)分别执行,查看是否安装成功
node -v
npm -v
git --version
安装hexo时,nodejs和git版本有一定的关系,建议都安装最新的稳定版本
会得到相对应的版本信息(如图)
如果都可以成功运行出现版本信息证明安装成功。
这里写过一篇介绍git的文章,如果安装遇到问题可以去查看:
《必须要会的Git基本使用及常用命令操作》
3、安装Hexo
必须按照步骤来,因为hexo需要使用node.js的npm命令。
打开cmd命令行(win+r 输入cmd回车)分别执行
npm install hexo-cli -g
等待 ...
JavaSE 内存管理
JavaSE 内存管理
Java运行时数据区域
java分了5片内存。
1:寄存器。2:本地方法区。3:方法区。4:栈。5:堆。
栈:存储的都是局部变量 ( 函数中定义的变量,函数上的参数,语句中的变量 );
只要数据运算完成所在的区域结束,该数据就会被释放。
堆:用于存储数组和对象,也就是实体。啥是实体啊?就是用于封装多个数据的。
1:每一个实体都有内存首地址值。
2:堆内存中的变量都有默认初始化值。因为数据类型不同,值也不一样。
3:垃圾回收机制。
垃圾回收机制回收的是堆里面的内存,栈里面的数据自动入栈自动出栈
引用类型的数据在堆当中,内存中操作的只有栈,new关键字在堆里面分配一块内存
String是不可变字符,即一旦分配了内存,此内存的值将不会改变,又将String赋值是会重新分配一块内存,字符串池: StringBuffer
在堆中的东西叫对象
对象访问过程
在Java语言中,对象访问是如何进行的?
答:对象访问在Java语言中无处不在,是最普通的程序行为,但即使是最简单的访问,也会却涉及Java栈、Java堆、方法区这三个最重要内存区域之间的关联关系,如下面的这 ...
Java集合框架
Java集合框架
List
Set
Map
集合框架:用于存储数据的容器。
对于集合容器,有很多种。因为每一个容器的自身特点不同,其实原理在于每个容器的内部数据结构不同。
集合容器在不断向上抽取过程中。出现了集合体系。
在使用一个体系时,原则:参阅顶层内容。建立底层对象。
List
–< java.util >-- List接口:
List 本身是Collection接口的子接口,具备了Collection的所有方法。现在学习List体系特有的共性方法,查阅方法发现List的特有方法都有索引,这是该集合最大的特点。
List:有序(元素存入集合的顺序和取出的顺序一致),元素都有索引。元素可以重复。
ArrayList:底层的数据结构是数组,线程不同步,ArrayList替代了Vector,查询元素的速度非常快。
LinkedList:底层的数据结构是链表,线程不同步,增删元素的速度非常快。
Vector:底层的数据结构就是数组,线程同步的,Vector无论查询和增删都巨慢。
可变长度数组的原理:
当元素超出数组长度,会产生一个新数组,将原数组的数据复制到新数组中, ...
JavaSE 面向对象
面向对象
理解与特点
类
对象
内部类
封装
继承
this super
final static
抽象类
接口
多态
1 基本介绍
面向对象的理解
面向对象和面向过程的思想有着本质上的区别, 作为面向对象的思维来说,当你拿到一个问题时,你分析这个问题不再是第一步先做什么,第二步再做什么,这是面向过程的思维,你应该分析这个问题里面有哪些类和对象,这是第一点,然后再分析这些类和对象应该具有哪些属性和方法。这是第二点。最后分析类和类之间具体有什么关系,这是第三点。
面向对象的基本思想是,从现实世界中客观存在的事物出发来构造软件系统,并在系统的构造中尽可能运用人类的自然思维方式。
面向对象更加强调运用人类在日常生活的逻辑思维中经常采用的思想方法与原则,如抽象、分类,继承、聚合、多态等。
特点
1:将复杂的事情简单化。
2:面向对象将以前的过程中的执行者,变成了指挥者。
3:面向对象这种思想是符合现在人们思考习惯的一种思想。
过程和对象在我们的程序中是如何体现的呢?过程其实就是函数;对象是将函数等一些内容进行了封装。
特征
(1)封装
(2)继承
(3)多态性
详情
...
JavaSE 基础知识
JavaSE 基础知识
Java 的三种技术架构
JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;
JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础;
JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序;
JDK 和 JRE
1,JDK:Java Development Kit ,java的开发和运行环境,java的开发工具和jre。
2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库
Java 环境配置
配置JavaHome :
%JAVA_HOME% = D:\\Program Files (x86)\\Java\\jdk1.7.0 path=%JAVA_HOME%/bin
配置path
path=%JAVA_HOME%/bin
JAVA_ ...
JavaSE常用类
JavaSE常用类
数组
String
Object
Math
Date
File
Properties
1 数组
用于存储同一类型数据的一个容器。好处:可以对该容器中的数据进行编号,从0开始。数组用于封装数据,就是一个具体的实体。
数组可以看成是多个相同类型数据组合,对这些数据的统一管理。
数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。
数组的元素可以是任何数据类型,包括基本类型和引用类型。
C和C++中的数组都可以分配在栈上面,而JAVA中的数组是只能分配在堆上面的,因为JAVA中的数组是引用类型。
☆ 数组的创建与初始化 一维数组的声明方式有2种:
格式一:数组元素类型 数组名[ ]; 即type var[ ];
格式二:数组元素类型[ ] 数组名; 即type[ ] var;
一维数组的初始化化:
动态初始化:数组定义与为数组元素分配空间和赋值的操作分开进行。
Date days=new Date[3];
days[0] =new Date(1,1,2020);
静态初始化
int a[ ] ={ 3, 9 ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick Start
Create a new post
$ hexo new "My New Post"
More info: Writing
Run server
$ hexo server
More info: Server
Generate static files
$ hexo generate
More info: Generating
Deploy to remote sites
$ hexo deploy
More info: Deployment