GC垃圾回收思想
垃圾回收是对内存空间的清理,主要是对无引用的对象在堆中的内存空间的释放
回收思想的历程
引用计数法:对堆中的对象的引用数进行计数,遍历所有对象的引用数,若存在=0的情况,就对该对象进行释放 缺点:当对象之间存在循环引用的情况时,对象该被清理,但引用数却>0,所以这种方法未被应用于任何一种java虚拟机
tracing算法:从堆栈和静态存储区开始对所有的引用进行遍历,对发现的引用追踪其对象,直到所有的”活“的对象都被找到,未被找到的就是垃圾,这就解决了上面循环引用的弊端
清理垃圾 ”标记-清扫“ 方法,对找到的”活“的对象进行标记,对未标记的对象进行 垃圾回收清扫缺点:由于是只对未”活“的对象进行清扫,所以会产生磁盘碎片
重新对对象分配内存空间,方法名 停止-复制做法:首先是停止程序的运行,(使用标记-清扫)将原堆中活的对象复制到另外一个堆中,在另外一个堆中就会紧凑排列缺点:效率很低,需要两个堆,而且要在两个堆中来回倒腾,生命周期长的对象会在两个堆之间多次来回复制
为解决两个堆的问题,对堆进行分块处理,复制动作发生在几个大块之间缺点:生命周期长的对象依然需要从一处复制到 ...
java基本数据流
字节流、字符流
能用字符流的一定能用字节流
能用字节流的不一定能用字符流
步骤
连接数据源 File类构建路径
拿到字节流或字符流对象
输入或者输出操作
关闭字节流或者关闭字符流
文件操作
123456789101112131415161718192021222324public static void main(String[] args) throws IOException { //创建文件路径,创建文件名 String path = "C:\\Users\\SimpleManWp\\Desktop"; String filename = "123.txt"; //根据路径和文件名创建文件对象 File f=new File(path,filename); System.out.println("文件长度:"+f.length()+"字节"); System.out.println("文件或者目录:"+(f.isF ...
基础小点杂
Scanner
1Scanner scanner = new Scanner(System.in);
将控制台获取的信息用scanner对象容器进行接收,使用对象即可以操作输入信息
循环 break 和 continue
break 跳出循环,无下次循环
continue 终止当前循环,有下次循环
方法重载
同一个类终,方法名相同,参数列表不同
方法重写
子类继承父类时,对父类的方法进行重新覆写
方法名、返回值类型、形参相同;访问权限>=重写前;抛出异常<=重写前
可变参数
一个方法只能有一个可变参数
可变参数只能在末尾
1(String str,String ... str1)
用 …表示
数组 数组的大小是不可变的
定义数组
12int[] numbers = new int[4];int numbers1[] = {1,2,3,4};
数组起始下标为0
堆栈
栈:声明的名字存在 栈中 main()方法是存在栈里面的,基本数据类型是存在栈中的
堆:new创建的时候开辟内存空间 也即对象是存在堆中的
构造器
构造器 ...
java基本数据类型
基本数据类型
整数型 byte short int long
long在给值的时候加L
浮点型 flout double
flout在给值的时候加F
由于浮点型表示一个数的时候是无限接近,在进行运算时一般不用浮点型来表示
例如 表示一个人的资质金额的时候 使用 bigdecima
字符型 char
布尔型 Boolean
变量初始值
基本数据类型 整数型0 浮点型0.0 布尔型false 字符型u0000
引用数据类型 null
精度
单精度浮点数在机内存占4个字节 float 8位有效数字(不带小数点,且最前面的0不算)
双精度浮点数在机内存占8个字节 double 17位有效数字(不带小数点,0-1之间时前面的0要算)
整数型 原码,反码,补码
反码 除符号位所有的0–>1 1–>0
补码 反码加1
注:反码补码出现原因,计算负数相加, 解决 +0和-0的问题,乘法也能转为加法,除法转为减法再转为加法,即四则运算全可转为加法运算
类型转换
自动类型转换 低–>高
强制类型转换 高–& ...
java基础POI引用
常规POI使用依赖12345678910<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.0</version></dependency><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.0</version></dependency>
导入controller123456@PostMapping("import")@ApiOperation(value = "批量导入", notes = "批量导入")@OperLog(operModu ...
Oracle数据库创建
用户、表空间、schema
用户,用户是用来连接和访问数据库
表空间,数据存储的实际物理空间 (理解方面:一个表中的数据可能是存在几个表空间中的)
注:临时表空间是用来 做排序操作,查询视图等操作的临时运行空间,运行完成后自动清理临时对象
schema
Oracle中,创建一个用户默认创建一个缺省的同名schema,一个用户对应一个schema
理解:创建一个schema就是创建一个对象,该对象将 某些表或者视图关联起来,方便在使用时直接使用schema就能找到
创建用户
1create user 用户名 identified by 密码 default tablespace 表空间名;
eg:create user wpuse identified by qwer1111;可以指定表空间,也可以不指定表空间
删除用户
1drop user 用户名 cascade;
给用户授权
语法:GRANT 权限1,权限2,权限3 on 表名 to 用户名;
123GRANT CONNECT, RESOURCE, DBA TO 用户名; --- 授登录权限GRANT ...
Oracle触发器
触发器
触发器:数据库发生的事件作为另一个事件发生的触发的设计
分类:根据触发事件不同分为三类
数据操作语句(DML)
数据定义语句(DDL)
数据库事件
DML触发器
监听数据操作语句
数据操作语句insert、delete、select、update四种操作语句执行时触发执行另外一个事件
补充INSTEAD OF触发器(DML触发器的扩展)
监听数据操作语句
当数据操作语句insert、delete、select、update四种操作语句要执行时,用另外的事件执行去替代被监听的语句(即被监听的事件不执行,执行替代后的事件)
DDL触发器
监听数据定义语句
执行DDL语句时触发,可以监听表的创建
数据库事件触发器
监听数据库事件
可以监听数据库启动或者关闭、用户登录或者登出
markdown语法
标题
一级标题二级标题三级标题四级标题1# 一级标题## 二级标题### 三级标题#### 四级标题···
编号
句子1
句子2
1- 句子1- 句子2
句子特效
加粗斜体句子
加粗句子
斜体句子
加删除线句子
1***加粗斜体句子*****加粗句子***斜体句子*~~加删除线句子~~
表格
表头1
表头2
表头3
数据1
数据2
数据3
数据1.1
数据2.1
数据3.1
1|表头1|表头2|表头3||---|---|---||数据1|数据2|数据3||数据1.1|数据2.1|数据3.1|
图片
1
超链接
百度
1[百度](www.baidu.com)
引用
一级引用句子
二级引用句子
三级引用句子
1> 引用句子>> 二级引用句子>>> 三级引用句子
分割线
1---
代码
1不同格式代码
1```代码格式不同格式代码
网易背景音乐添加
生成单条歌曲
去网易云音乐挑选一首能播放的歌曲
歌的详细信息的图片下有一个 生成外链播放器。点开调节里面的参数,确定后获取 html代码中的代码,如
1<iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width=330 height=86 src="//music.163.com/outchain/player?type=2&id=431610359&auto=1&height=66"></iframe>
直接在html中粘贴就能直接生成
注:markdown文件中能直接使用html
生成歌单,可上一首下一首
在网易云上新建一个歌单,将能单条生成外链的歌曲放进去
分享歌单(不分享不会出现外链接)
返回就会在歌曲列表上方出现 生成外链播放器,如上面一样调节参数后,获取 html代码
直接使用
1<iframe frameborder= ...
添加看板动画特效
安装依赖
pm install –save hexo-helper-live2d
注:卸载依赖:npm uninstall hexo-helper-live2d
依赖可以在 主目录的 package.json中查看
选择看板主题(黑猫看板主题)
npm install live2d-widget-model-hijiki
注:完成后,主目录的node_moduels文件夹下有相应的文件夹
主目录修改配置文件
123456789101112131415161718192021222324#live2d看板动画live2d: enable: true scriptFrom: local pluginRootPath: live2dw/ pluginJsPath: lib/ pluginModelPath: assets/ tagMode: false log: false model: use: live2d-widget-model-hijiki display: superSample: 2 width: 150 height: 30 ...