- 博客(35)
- 资源 (2)
- 收藏
- 关注
原创 MySQL-MVCC
m_low_limit_id 表示生成视图时候,出现过的最大的事务 ID+1,实际上等于下一个即将分配的事务ID, 所以,大于【当前事务视图】的m_low_limit_id的【数据行版本】,则不可见。每一行数据,实际上都有多个版本,每次事务更新数据,都会新增一个数据行版本,新的版本中,会包含【事务ID】,以及【回滚指针】(即上一个旧版本地址),这些数据行,通过【回滚指针】连接,形成了一个版本链。InnoDB的每个事务,都有一个唯一的事务ID,事务开始时候,想InnoDB申请的,且是严格递增的。
2025-03-06 17:13:45
655
原创 Redis源码-SDS
若SDS中剩余空间长度avail大于新增内容的长度addlen,则无需扩容;若SDS中剩余空间长度avail小于或等于新增内容的长度addlen:若新增后【已使用总长度】len+addlen<1MB,则按新长度的两倍扩容;若新增后【已使用总长度】len+addlen>1MB,则按新长度加上1MB扩容。SDS的类型有五种,如果新增后【已使用总长度】len+addlen计算出来的类型和旧的SDS类一样,则直接扩大字符数组的大小;
2025-01-20 15:36:36
622
原创 Redis源码-redisObject
redis中,所有的数据类型最终都转换成了redisObject,该结构体的定义,在文件server.h中。
2025-01-20 15:23:16
448
原创 Redis源码阅读-源码阅读方式
首先通过地址(https://github.com/redis/redis)下载redis的源码。redis的源码版本,这里可以选择合适的查看,这里选择的是redis 5.x版本的源码。
2025-01-07 20:06:09
323
原创 Ubuntu 20.04 LTS安装 GitLab
Ubuntu 20.04 LTS安装 GitLabUbuntu 20.04 LTS安装 GitLab首先信任 GitLab 的 GPG 公钥:配置国内镜像源安装 gitlab-ce安装完后gitlab配置Ubuntu 20.04 LTS安装 GitLab首先信任 GitLab 的 GPG 公钥:curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null配置国内镜像源
2022-05-19 23:27:56
530
原创 Java 8 新特性
Java 8 新特性Lambda 表达式函数式编程,所有功能就是返回一个新的值,没有其他行为,尤其是不得修改外部变量的值。简单demo如下import java.util.ArrayList;import java.util.List;public class StreamDemo { public static void main(String[] args) { List<String> firstList = new ArrayList<>
2021-10-04 16:58:20
272
原创 Arrays.asList的坑
在使用过程Arrays.asList的过程中,遇到了一个remove的坑,在此记录一下demo示例如下 public static void main(String[] args) { List<String> stringList = Arrays.asList("abc", "def", "ghi", "jkl", "mno"); System.out.println("first:"); stringList.forEach(Sys
2021-10-04 14:58:12
198
原创 java 中ArrayList.remove(index) 导致删除不干净的问题
测试程序如下:public class TestArrayList { public static void main(String[] args) { List<Integer> list = new ArrayList<>(); for(int i=0;i<5;i++){ list.add(i+1); } System.out.println("删除前:list.szie(
2021-04-27 00:11:40
392
原创 ubuntu 设置vim编辑器tab键为4个空格
1.执行如下命令jack@jack-virtual-machine:~/code/local/shell$ sudo vim /etc/vim/vimrc2.在打开的文件末尾添加如下命令行:"#修改tab键为4个空格set ts=4
2020-11-06 17:39:03
419
原创 在ubuntu 中装jdk1.8(另一种方式)
1.进入jdk下载官网,找到linux版本的jdk,我使用的系统是ubuntu 12.04,所以我选择的是如下版本,此外,现在下载jdk需要登陆账号,可以百度搜索一下,可以找到共享账号。官网下载地址:jdk1.8下载2.下载成功后,找到下载目录,比如我的是在主文件夹下的下载目录中,这里建议新建一个java目录,将该安装包复制过java目录下去,步骤如下:创建java目录jack@jack-virtual-machine: sudo mkdir /usr/lib/java复制安装包至java目录
2020-11-06 11:03:04
823
原创 在ubuntu 中装jdk1.8
1.下载linux版本的jdk,我使用的系统是ubuntu 12.04,所以我选择的是如下版本2.下载成功后,找到下载目录,比如我的是在主文件夹下的下载目录中,这里建议新建一个java目录,将该安装包复制过java目录下去,可以通过可视化界面直接操作,也可通过cp 命令操作,比如:cp ./下载/jdk-8u271-linux-x64.tar.gz ./java下载目录:新建的java目录:3.然后通过终端进入相应目录,即刚刚新建的java目录,便于执行对应的命令:jack@jack-
2020-11-03 17:31:46
2521
原创 ubuntu12.04如何将窗口的控制按钮设置成右边,即符合windows习惯
1.打开终端(ctrl+alt+t),输入gconf-editor,看本机是否安装了gconf-editor2.若提示尚未安装“gconf-editor”,则继续在终端中输入"sudo apt-get install gconf-editor",便可安装gconf-editor3.安装成功后则输入“gconf-editor”,便会弹出设置窗口如下:找到/apps/metacity/general目录下的button_layout,双击,弹出窗口,修改值为 menu:minimize,maximize
2020-11-03 15:39:23
269
原创 基于spring boot 医院预约挂号系统(部分)
文章目录前言二、改进后的页面(部分)三、后端3.1 系统基于RESTful架构设计了API访问接口,其API定义如下:3.2 服务类接口HospitalService:3.3 系统开发环境3.4 系统测试四、总结前言之前发布了基于原生jsp,servelt的医院预约挂号系统的文档,这篇是基于spring boot 医院预约挂号系统的版本2,本文主要描述其中部分内容。# 一、系统设计(部分)## 系统设计1.1方案比选后端框架:系统使用了spring boot 框架进行开发,首先和原生的ja
2020-08-25 14:39:29
6582
6
原创 基于spring boot开发的个人网盘
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、项目现阶段部分效果演示二、项目数据库部分表设计1.创建user表、file表sql语句2.FileMapper.xml和FileMapper接口三、项目前端页面开发1.前端主要页面html部分源码:2.javascript部分四、后端接口开发1.文件工具类2.restful接口(restcontroller类)3.FileService文件服务接口五、总结前言因为开发中很多时候都需要上传和下载文件,所以想开发出一个模
2020-08-25 11:12:28
5715
9
原创 spring boot 整合mybatis报错“serverTimezone=UTC“
报错信息如下:分析原因以后,发现错误原因如下:刚开始在配置文件中的数据库连接参数是这样的:然后根据错误信息,改成这样,添加了“serverTimezone=Asia/Shanghai”这个参数就能正常访问了。查资料以后总结原因如下:首先,UTC表示世界统一时间、世界标准时间、国际协调时间。这套时间系统被应用于许多互联网和万维网的标准中,而我们国家和UTC的时差为8,可以表示为UTC+8,另外主要原因是mysql依赖包版本问题,高版本mysql数据库默认是UTC,然后java层的时间是本地时
2020-08-18 21:27:23
4500
原创 基于UDP的歌词同步系统
1 系统功能说明1.1系统简介歌词在线同步系统,主要实现的是播放歌曲,然后能够通过UDP通信,从服务端加载歌词,并根据歌曲播放进度同步显示歌词。1.2系统主要功能实现播放子系统,其功能如下:1.播放终端能够播放歌曲,并根据歌曲的信息从后台下载歌词2. 歌词显示应当与歌曲播放同步1.3系统开发环境编译器:Spring tool suite运行环境:JDK1.8导入整个项目,先运行server.java,再运行client.java即可启动项目2 系统设计2.1系统总体设计本系统采用的是
2020-07-15 17:20:16
336
原创 医院预约挂号系统
1. 整理了一下之前做过的web项目,发现了一个用原生jsp,servlet开发的小型web项目,该web项目是大二学习了web基础知识以后完成的一个小项目,主要作用在于运用mvc模式,然后理解servlet以及jsp等的使用,具有学习意义,通过该项目锻炼编码能力和web开发能力。首先该系统测试、使用说明如下:一、环境配置:1.编译器:建议使用Eclipse;服务器:Tomcat8.0;数据库版本:mysql5.5;数据库名:test;如何导入数据库脚本文件:数据库脚本后续会给出2.
2020-07-07 01:30:52
13186
14
原创 数据结构-顺序表的基本操作(c语言)
数据结构中顺序表的增删改查基本操作:代码如下: #include <stdio.h> #include <stdlib.h> typedef struct Table{ int * head; int length; int size; }table; //初始化 void initTable(table *t,int size){ (*t).head=(int*)ma
2020-07-05 21:50:25
688
原创 c语言中结构体的值传递和地址传递的区别
通俗的来说,值传递只是把变量的值当做参数传递进子函数中,无论函数体中如何改变参数值,主函数的变量值都不会改变。而地址传递,是把变量的地址传入子函数中,子函数中对于参数的改变,是通过传入的地址参数去内存中修改该变量存储的值,所以主函数中的变量值也会同步改变。下面来演示一下c语言中如何改变结构体中的变量值: #include <stdio.h> #include <stdlib.h> typedef struct Table{ int * he
2020-07-05 01:06:46
4655
原创 java 多线程(商品进货销售)
题目:利用线程通知机制编写一个Java多线程程序,模拟商店对某件商品的进货与销售过程并将相关信息打印出来,具体要求如下:进货与销售过程各由一个线程模拟;当商品数目少于10时进货,进货数目随机生成但不少于50;销售数目随机生成,数目不大于商品数量;2次销售之间的时间随机生成,但不大于2s。代码:(1)商品类://商品类public class Goods { private int goodsNum = 0;//商品数目 //进货,并返回进货数量 public int addGoods(
2020-06-19 23:37:42
2694
原创 java 网络编程(TCP-多线程)
题目:客户端能够接收用户输入的任意个数并发送到服务器;服务器端能够接收到这若干个数之后计算其和、平均数以及方差并返回给客户端;客户端接收到结果后打印出来并继续接收用户的下一轮数据。要求客户端为图形界面,同时利用多线程技术使其服务端能够同时服务多个客户端。代码:1.服务端源码:(1)主线程源码:public class Server { public static void main(String[] args) { try { ServerSocket
2020-06-19 23:22:52
639
原创 java 多线程(抛硬币)
题目:编写一个Java程序,该程序将启动4个线程,其中3个是掷硬币线程,1个是主线程。每个掷硬币线程将连续掷出若干次硬币(10次以内,次数随机生成);主线程将打印出正面出现的总次数以及正面出现的概率。代码:(1)public class Coin implements Runnable{ private int num;//随机的硬币数量 private int positiveNum;//正面数量 @Override public void run() { //随机产生硬币数量
2020-06-19 22:56:18
562
原创 java RSA加密示例
import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.interfaces.RSAPrivateKey;import java.security.interfaces.RSAPublicKey;import java.util.Scanner;import javax.crypto.Cipher;public class TestRSA { public static v
2020-06-19 22:36:12
541
原创 java AES加密示例
import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto.SecretKey;import java.util.Scanner;public class TestAES { public static void main(String[] args) throws Exception { System.out.println("输入需要加密的消息:"); ...
2020-06-19 22:25:40
312
原创 javafx 多线程赛马设计
根据上一篇博客的内容,这篇将展示设计过程:二.概要设计2.1 系统流程图2.2 功能模块图 2.3 赛马程序模拟程序初始化模块 在这一模块当中,要求使用者选择当局需要赛马的马匹数量,界面包含内容:下拉框cb选择马匹数量,按钮enter用于进入下一界面2.4 修改参数模块本模块分为两个小模块,第一模块主要是用于选择需要修改的号码,然后进入第二模块,第二模块主要是用于修改每匹马的参数(力量,耐力,配合力),且范围为0-20,超出范围会有提示2.5 投注...
2020-06-07 13:37:26
2232
1
原创 javafx 结合多线程使用
最近有点时间,整理一下大学做过的东西,发现了之前做过的一个课设关于java 多线程赛马的简单程序,这里记录一下。主要是用到了java的多线程,还有冒泡排序算法,还有对于文件流的操作,现在回头看看自己写过的代码,也是一种“提升”,哈哈。1.题目要求如下:要求:设计一个模拟赛马比赛的软件 提示:可采用线程,用图片表示马。(1)设计一个模拟赛马比赛的软件,每局的马匹数可以设置(例如8匹马),动画显示赛马的过程。(2)设计界面,可以填入和保存每匹马的相关参数包括:力量(与加速度相关)、耐力(与持久力
2020-06-07 13:05:13
1910
原创 java 通过rest接口API获取json数据
1.定义一个java实体类该实体类对应json数据中需要获取的json对象public class ParamterEntity { private String id; private String name; public String getId() { return id; } public void setId(String id) { this.id = id;...
2020-05-04 00:27:51
3053
原创 java 爬虫概要
最近需要爬取一个网站的数据,但是因为很少接触这方面的技术,一般来说python 爬取数据比较合适,但是Python接触不多,那就用java爬取吧。作为一个初学者,希望能够记录下自己的学习过程,开始学习之前,需要对爬虫有大概的了解,以下是我总结的爬虫技术要点。首先,爬虫原理其实很简单,整体思路就是进入某个页面,拿到整个页面的数据,然后使用正则表达式进行字符串的分割,拼接,进而筛选出需要的数据。那么...
2020-05-01 12:06:07
205
原创 java 连接SQL数据库代码,实现数据库表中数据的查询
1.首先点击电脑的开始,找到SQL Server 配置管理器,将SQL Server网络配置中的SQLEXPRESS 的协议如下图中的三个服务改为启用,然后点击TCP/IP协议,修改动态端口为1433,重启服务器才能生效。2.新建一个数据库mydata,在数据库中建立一个表,并插入数据--学生表create table student(sno char(8) PRIM...
2019-07-31 18:30:21
6268
原创 java 通过jdbc 连接SQL数据库 (以及数据库登录问题)
数据库部分:打开数据库,默认的是windows身份验证,点击连接;进入以后界面如上:接着就是点开安全性->登录名,找到默认的sa ,右键点击属性,进入如下界面:然后改为SQL Server身份验证,密码可以设置为容易记住的,比如我的就是123,便于登录;注意:需要把强制密码策略前面的勾取消掉,然后点击左上方的状态,把登录名改为启用;此外也可以新建登录名:...
2019-07-31 17:09:27
377
原创 c语言中的getchar和gets的疑惑
char *gets(char *s) 函数从 stdin 读取一行到 s 所指向的缓冲区,直到一个终止符或 EOF。int puts(const char *s) 函数把字符串 s 和一个尾随的换行符写入到 stdout。但是这里有个问题,看下面例子:#include <stdio.h>char land();int main( ) { char s[5];...
2019-01-27 18:15:39
944
Hosptial.zip
2020-07-07
简单赛马.zip
2019-07-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人