自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(135)
  • 资源 (6)
  • 收藏
  • 关注

原创 数据库篇之分页查询

在数据量大的情况下使用建立主键或唯一索引来实现,另外可通过。场景:当需要返回的数据是顺序或者逆序时。两个参数来分页查询数据库中的数据,比如。场景:数据量达到万级或百万级时。在数据量较小的情况下可使用。查询来实现分页查询。

2022-09-27 16:55:30 644 1

原创 数据库篇之InnoDB存储引擎

InnoDB存储引擎的设计目标主要是面向在线事务处理OLTP的应用,它支持事务,特点是行锁设计、支持外键,并支持类似于Oracle的非锁定读(读操作默认是不加锁)。从MySQL5.5.8开始,MySQL存储引擎默认是InnoDB。InnoDB具有高可用性、高性能以及高可扩展性。InnoDB(1)通过多版本并发控制****MVCC来获得高并发性,并且实现了SQL标准的4种隔离级别,默认是可重复读级别。(2)同时使用一种****的策略来避免幻读的产生。

2022-09-27 16:52:52 3159

原创 Java篇之序列化和IO

数据输入到计算机内存的过程即输入,反之输出到外部存储(比如数据库,文件,远程主机)的过程即输出。(比如将 Java 对象保存在文件中,或者在网络传输 Java 对象),这些场景都需要用到序列化。字节数据要转成我们能识别的正常字符,需要选择正确的编码方式。修饰的变量,在反序列化后变量值将会被置成类型的默认值。方式编码的字符,一个英文字符需要一个字节,一个中文需要三个字节。计算机的传输本质都是字节,而一个字符由多个字节组成,的,为什么使用字节流,而不是字符流?方式编码的字符,占一个字节;

2022-09-27 15:38:42 689

原创 Java篇之类的执行顺序

只使用类时,不会进行初始化在使用静态变量或创建对象时,才会进行初始化。初始化的顺序是。

2022-09-27 15:35:33 148

原创 Java篇之对象

用过的内存全部整合到一边,没有用过的内存放在另一边,中间有一个分界值指针,只需要向着没用过的内存方向将该指针移动对象内存大小位置即可。作为起点,向下搜索,遍历可以到达的节点。节点走过的路径是引用链,如果一个对象没有引用链相连,那么就说明这个对象是不可用的。另外,根据虚拟机当前运行状态的不同,如是否启用偏向锁等,对象头会有不同的设置方式。它需要保证引用所指向的对象都是活着的,当前线程栈帧中的对象在当前时刻肯定是活着的。,例如这个对象是哪个类的实例、如何才能找到类的元数据信息、对象的哈希码、对象的。

2022-09-27 15:33:02 320

原创 类加载机制

双亲委派机制是通过类加载器。

2022-09-27 15:21:24 238

原创 HashMap

在调整大小的过程中,有一步是把老数组中的全部元素转移到新数组中。这个过程在并发环境中会发生错误,导致数组链表中的链表形成循环链表。)(将链表转换成红黑树前会判断,如果当前数组的长度小于 64,那么会选择先进行数组扩容,而不是转换为红黑树)时,将链表转化为红黑树,以减少搜索时间。哈希表内部数组的大小很重要,要保持一个平衡的数字,不能让哈希碰撞太频繁,也不能占用空间太大。如果进行2倍扩容,也需要将表中已有的值,重新散列到新表中,重新散列的过程是通过。在哈希表使用的过程中,会不断的调整数组的容量。

2022-09-27 15:10:09 572

原创 数组/List 互转

性能比较(灰色字体是不推荐使用)

2022-09-27 15:00:44 534

原创 比较两个值是否相等

基本类型位数字节默认值对应的包装类型包装类的默认值数字型short1620Shortnullint3240Integernulllong6480LLongnull字符型byte810Bytenullchar162‘u0000’Characternull数字型float3240fFloatnulldouble6480dDoublenull布尔型boolean1—FALSEBooleannull。...

2022-08-18 16:30:40 1284

原创 从编译到运行

因为字节码是面向虚拟机,不面向任何特定的处理器,所以使得Java语言有可移植的特点,不需要重新编译就可以在不同的操作系统上运行,也就是Java语言可以跨平台。类库一起支持了反射(具体怎么支持才实现的,不知道😂),这样,通过类库就可以在运行时获取某个类的信息,比如变量、构造函数、方法。字节码,是Java虚拟机可以理解的代码,简短点理解就是,字节码是代码😅。编译是由编译器完成的,将源码一次性翻译成字节码,编译完成后生成中间的字节码文件,也就是。中包含类的信息,所以如果想要在运行时使用类的类型信息,可以从。...

2022-08-15 12:33:56 1007

原创 (五)编译中出现的向后兼容问题

合并,不建议用来调整记录的顺序。当时想着有这个用法,我又有这个需求,为啥不用。的设置不对,比如没有加版本号之类的。开源项目的配置,粗略一想,不是我能动的,自然也不会是这些原因。向后兼容问题,可能会有很多原因导致向后兼容出现问题,那么在这次编译中导致这个问题的原因是什么呢?,直到回退到没有修改的版本。回退完了,确认修改无误后提交。明明看报错一分钟解决的问题,花了挺长时间。也就是现在的代码是不允许重大修改的。,然后发现提示中给了解决方案,可以。,回退一个版本,把本地的修改隐藏。,知道把所有的都提交完成。....

2022-08-06 15:58:49 305

转载 【问题】Ubuntu18 没有分配ip

原文章链接: 修复ubuntu18虚拟机没有分配ip地址使用的虚拟机是Ubuntu18。虚拟机没有网,查看ip之后,发现没有ip给ens33分配ip分配完之后查看ip地址:

2022-07-06 19:01:00 226

原创 java接收数据的方式

前端传递数据的方式不同,java 也要使用不同的方式来接收数据。下面是三个例子。前端请求地址格式如下假如请求的具体地址是 。那么,java 接收参数格式如下,需要用 来接收2. 请求中用 params 传递数据前端请求地址格式如下假如请求的具体地址是 ,请求的参数是 和 。那么,java 接收参数格式如下,需要用 来接收单个的参数,一个 接收一个参数。 中客户以设置接收数据的默认值3. 请求中用 data传递数据 : 提交的数据是列表。前端请求地址格式如下假如请求的具体地址是

2022-06-08 21:57:13 4533

原创 (四)Alluxio 卸载挂载目录和删除文件

卸载:把以前加载到 根目录下的路径卸载,然后,底层存储系统的目录和 中的目录没有关系了。删除:把 中的普通文件(master 节点或者 worker 节点)中的文件从 中移出,但是并不会在底层存储系统中删除该文件。如果将挂载目录删除了,也就没有这个挂载节点了。卸载一个在 中已经挂载的目录,并确认该目录已经在Alluxio命名空间中被删除,但是不会删除底层存储系统中的文件。注意:在 节点的 web 界面查到有一个挂载节点,是将本地的 路径挂载到了 的 路径。现在将这个挂载节点卸载。卸载后的

2022-06-07 17:08:13 1011

原创 (三)Alluxio 的挂载和加载

挂载:把底层存储系统和 联系起来,文件的元数据信息在 的 master 节点中。加载:把 中的路径的数据放在 worker 节点中。把本地目录 挂载到 中的 。挂载以后, 目录下的内容就是 目录下的内容。挂载后的结果,可以通过 查看。但是之后在 中添加新的文件,新文件并不会自动加载到 中。把 中的某个文件加载到 空间中。当使用 挂载后,只是相当于把 和底层存储系统连接起来。可以使用 将文件(数据)加载到 的空间中,也就是把文件(数据)移到 worker 节点。2.2

2022-06-07 17:07:22 771

原创 (二)Alluxio 挂载和 fs ls

在多次测试和各种奇奇怪怪的操作之后,我发现我设置的根挂载点 中没有任何文件,但是通过 仍能查出来 空间中是有数据的。一顿凌乱之后,整理了一下目前自己理解的东西,期望能找寻蛛丝马迹。在使用本地运行项目时,挂载的是 RAMFS文件系统,该系统是使用 RAM 作为文件存储系统,运行速度较快。因为在本地运行 项目时, 的一个 节点和一个 节点都在本地,所以可能需要区分一下 的本地缓存路径 和存放所有文件元数据的 节点的空间(或者路径)。 和底层存储系统是两个独立的东西,底层存储系统是存储设备,可

2022-06-01 15:43:30 931

原创 Linux 下查询日志

文章目录查询某个时间点grep 命令 - 精准查询查询某个时间段grep 命令 - 精准查询sed 命令 - 模糊查询以查询日志 master.log 为例(因为我实际测试时使用的日志文件是在 logs 文件下的,所以实际查询时用的路径和举例用的路径不一样)查询某个时间点grep 命令 - 精准查询grep 命令 + 正则表达式,进行精准查询# 查询 2022.03.23 16点43分的日志cat master.log | grep '2022-03-23 16:43'# 另一种写法grep

2022-03-24 17:33:44 3658

原创 Linux 下查看内存问题

文章目录free 查看内存使用top 实时查看进程运行情况ps 查看进程占用的cpu和内存pstree 查看进程关系kill 杀死进程free 查看内存使用free — 查看内存使用情况# total共多少,used已使用多少,free空闲多少,buff/cache磁盘缓存多少,available可用多少# -m 输出结果使用 MB(兆字节)显示。默认是 KB(千字节)[root@VM-0-11-ubuntu /home/ubuntu/alluxio]$ free -m

2022-03-24 17:30:17 2829

原创 (一)Linux下 Alluxio 的编译和运行

文章目录概念:是什么?字节码编译与解释共存??代码放哪里?Linux 下编译Linux 下运行运行之前运行验证Alluxio是否运行第一次接触分布式项目,还是在Linux下编程,确实和Windows下编程有一点点不一样。没有一点点防备,就让我了解到不能用在 windows 上运行的代码,以及除了 web 开发之外的开发。熟悉了以前在Windows下的开发,用 IDEA 工具开发,点 build 编译项目(之前一直翻译成构建项目),点 run 运行项目,有时甚至都不点 build 。这个过程好像是肌肉记忆

2022-03-18 09:06:07 772

原创 了解分布式缓存系统 Alluxio

文章目录分布式是什么??缓存是什么??Alluxio 基础概念Alluxio 基础组成从技术上来讲,Alluxio 是一个数据编排技术(数据编排,大概类似于一个平台,这个平台是用来管理数据的,主要是管理,对象是数据),它相当于一个数据层,在应用层和存储层之间加了一层,为上下两层搭建了桥梁,将数据移到离应用更近的地方,从而更容易访问数据。数据驱动型应用是什么样的应用?数据驱动:以数据为基础,将数据组织成信息,然后利用机器学习、算法等手段处理信息,最终形成自动化的决策模型。数据驱动型应用是以数据为基础,对

2022-03-18 08:56:41 801

原创 TCP 协议

文章目录报文段TCP 头部TCP 数据TCP 连接三次握手四次挥手如何实现可靠性的??滑动窗口发送窗口接收窗口自动重传请求 ARQ拥塞控制拥塞控制算法慢启动拥塞避免快重传失序失序的2种情况TCP 数据传输的过程TCP 协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP 是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分区成适当长度的报文段)。然后TCP把报文段传给IP层,由它来通过网络将

2022-03-17 16:49:49 4609

原创 归并排序 MergeSort

1. 基本思想什么是归并排序??归并排序是基于归并的排序。归并,是将两个或两个以上的有序表合成一个有序表。假设待排序的数组有 n 个元素,将数组看成是 n 个有序的子数组,每个子数组只有一个元素。然后两两合并,得到每个子数组长度为2。然后继续两两合并,直到合并为长度为 n 的数组。时间复杂度平均复杂度是 O(nlogn),最好复杂度是 O(nlogn),最坏复杂度是 O(nlogn) 。(图片来源于网络)将原数组划分子数组的过程看成是一棵二叉树,那么数组划分到每个子数组中只有一个元素

2022-01-28 13:00:27 4756 1

原创 快速排序 QuickSort

文章目录1. 基本思想2. 代码实现(java)3. 代码说明1. 基本思想快速排序的基本思想是基于分治法的。在待排序数组中选取一个元素作为基准,假设以第一个元素为基准。每趟排序都能确定基准的位置。找到基准在数组中最终存放的位置。左边是所有比该元素小的值,右边是所有比该元素大的值。然后再分别对左边和右边两部分递归排序。直到每部分只有一个元素时停止排序。适用场景只适用于 顺序结构 (也就是数组),不能对链式结构排序。时间复杂度平均复杂度:O(nlogn),最好复杂度:O(nl

2022-01-24 16:49:00 330

原创 优先级队列 PriorityQueue

1. 优先级队列是什么??首先,优先级队列是一个队列,队列所有的性质,它也有。其次,优先级队列每次取出的是优先级最高的元素。优先级队列的内部是用堆来维护的。将优先级最高的排在前面。2. 什么时候用这个队列呢??看完优先级队列的定义,好像看懂了,又好像没看懂。这队列,什么用它呢?1)排序的对象和排序时比较的对象常见的排序方法(插入、快排等),排序的对象和比较的对象是一样的,根据数本身的大小进行排序。优先级队列可以对排序对象和比较对象相同的进行排序,也可以对 排序的对象和排序时比较的对象不同 的

2022-01-22 16:31:50 460

原创 堆排序 heapsort

1)什么是堆?堆是一棵顺序存储的完全二叉树。每个结点的关键字都小于或等于其所有子结点的关键字,这样的堆称为小根堆。每个结点的关键字都大于或等于其所有子结点的关键字,这样的堆称为大根堆。2)什么是堆排序?堆排序(Heapsort)是指利用堆这种数据结构来进行排序的选择排序算法。堆积是一个近似完全二叉树的结构,并同时满足子结点的值总是小于(或者大于)它的父节点。小根堆在排序算法中用于升序排列;大根堆在排序算法中用于降序排序;堆排序 只适用于顺序结构。堆排序的平均时间复杂度是O(nlongn)

2022-01-22 11:10:57 942

原创 二叉树中递归遇到的问题

本篇文章以求二叉树中的最大值和最小值的最大差值为例,记录一下递归中遇到的问题,是递归时的参数问题,什么时候需要把变量放在参数中,什么时候需要把变量定义为全局变量。变量定义为全局变量以下面的二叉树为例,求整棵树中的节点的值的最大差值,也就是求出最大值和最小值。前序遍历的过程如下:图中圆圈中记录的是结点的访问顺序,前序的遍历顺序和访问顺序相同。走到结点 1 (遍历结点),记录下当前的最大值和最小值 [1, 1] (访问结点),然后遍历左子树,遍历完左子树再右子树。当走到节点 2 时,更新最大值和最

2022-01-20 15:08:54 386

原创 二叉树和树的小问题

先大概说一下二叉树的基本内容。1. 二叉树什么是二叉树?二叉树是一种树形结构,每个结点最多两棵子树,而且子树有左右之分,次序不能颠倒。左右子树也是一棵二叉树。1.1 二叉树的存储二叉树可以用数组和链表存储。1)顺序存储使用一组地址连续的存储单元依次自上而下,自左而右的顺序存储二叉树上的结点。简单来说,就是用数组存储,存二叉树的顺序是从上到下,从左到右。顺序存储方式适合完全二叉树或满二叉树。因为数组的长度是固定的,而这种二叉树的空节点少,不会浪费很多数组的地址空间。// java 定义方式

2022-01-20 15:07:41 710

原创 kmp算法

整篇以主串为 ababcabcacbab ,模式串为 abcac为例。模式串与主串做匹配时,如果是暴力匹配,在主串某趟匹配失败后,模式串要移动第一位,而主串也有苦难需要回退。在KMP算法中,如果在匹配过程中,主串不需要回退,当匹配失败后,会从当前位置开始继续匹配。而模式串会滑动到某一位开始比较,而不是没都回退到第一位开始比较。1. 前缀表:不能不了解KMP算法中,在写代码之前, 先了解一下KMP算法。首先看一下模式串子串的前后缀。前缀:除最后一个字符以外,字符串的所有头部子串。后缀:除第一个字符以

2021-12-19 21:43:59 460

转载 递归复杂度计算

详细分析:代码随想录:递归算法的时间与空间复杂度分析时间复杂度递归算法的时间复杂度本质上是要看: 递归的次数 * 每次递归的时间复杂度递归过程 抽象成一颗递归树,二叉树中每一个节点都是一次递归一棵深度(按根节点深度为1)为k的二叉树最多可以有 2^k - 1 个节点。一棵高度为 k 的二叉树最多可以有 2^k - 1 个节点。空间复杂度递归算法的空间复杂度 = 每次递归的空间复杂度 * 递归深度每次递归所需的空间都被压到调用栈里,一次递归结束,这个栈就是就是把本次递归的数据弹出去。所以这个栈

2021-12-19 21:38:30 518

原创 【vue】组件通信:用prop交流

文章目录1. 修改子组件的变量1.1 父组件1.2 子组件1.3 查看父组件中变量是否变化2. 修改父组件的变量2.1 父组件2.2 子组件2.3 查看父组件中变量是否变化组件之间实现通信的方式主要有三种,这里记录的是使用props进行通信的方式。这种通信方式适合用于父子组件之间的通信。有时候需要在一个组件内需要引入另一个组件,我这里说的是这种情况,具体的可以看代码(网上有很多父子组件的说法,我也没理解 ╮(╯▽╰)╭ )。父组件向子组件传递数据,是单向的,也就是,父组件传递给子组件的数据(变量),子组

2021-11-12 17:27:21 1041 1

原创 前后端交互:前端传递数据是json格式

文章目录前端发送数据后端接收数据方案一:接收全部数据(String类型的变量)方案二:接收每个数据(Map类型的变量)这篇文章记录的是前后端在交互时,数据以json的格式进行传递。本文章中的例子,前端使用的语言是vue,后端使用的语言是 java。整篇文章使用的数据例子(json格式)如下:{ "name": "testfilename.xlsx", "list": [ { "row": "1", "col": "A"

2021-11-05 08:59:01 15762 5

原创 【vue】将项目部署到nginx

文章目录1. 部署步骤Step1 打包Step2 修改配置文件Step3 查看网站2. nginx配置文件全部内容3. 部署多个网站到nginx服务器上1. 部署步骤Step1 打包在项目终端打包,打包完成后会出现一个 dist 文件夹。npm run build将 dist 文件夹拷贝到 nginx 安装目录下的 html 文件夹中。Step2 修改配置文件对 nginx 进行反向代理,否则无法使用后端的api接口,会报跨域的错误。在 nginx 安装目录下的 conf/nginx.con

2021-10-16 16:05:16 931

原创 【vue】修改网站在浏览器上的标题和修改图标

文章目录1. 修改title2. 设置图标修改如下的内容,最终的效果如下图:1. 修改title在项目根目录下创建vue的配置文件 vue.config.js,在该文件中设置网站的标题module.exports = { // 设置网站title chainWebpack: config => { config.plugin('html').tap(args => { args[0].title = '数据分析工具'

2021-10-16 15:50:10 734

原创 【vue】主动触发点击事件

由vue代码触发点击事件,实现的效果是:点击按钮,触发 <input> 输入框点击事件,从而实现选择文件。示例如下:<template> <input type="file" id="input-upload-file" ref="selectFiles" multiple="multiple"> <el-button class="operation-button-select" @click="handleButtonSelected"&gt

2021-10-16 15:47:19 10038

原创 【vue】转换时间格式

一般来说, new Date() 创建的时间,其格式不是我们想要的那种时间格式,所以需要修改为我们需要的时间格式。这里的方法是将 new Date() 出来的时间转换为所需时间格式的字符串。举个例子,let date = new Date(); // Mon Oct 11 2021 08:39:50 GMT+0800 (中国标准时间)let afterDate = this.formateDate(date); // 2021-10-11 08:39:50转换方法时间转字符串的方法如下:/

2021-10-16 15:43:17 2930

原创 【springboot】设置跨域

在实现文件下载的功能时,如果使用vue下载本项目的静态资源,则会遇到跨域的问题,从而不能下载。所以,需要添加一些设置才能使得vue项目下载本项目中的资源。在 config 下新建一个文件 WebConfig.java ,跨域设置如下:package com.withered.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configur

2021-10-12 16:59:25 493

原创 【vue】文件下载 - 使用前端下载

文章目录1. 自定义指令1.1 局部自定义指令1.2 全局自定义指令2. 使用方法下载文件这里的情景是:给定一个链接,如 http://localhost:8000/1.jpg , 需要实现的效果是将文件/图片下载下来,保存到本地。但是在使用vue实现文件下载功能的时候,遇到了一个很大的问题,就是,文件只能在浏览器中预览,而不是下载到本地。在这个过程中,尝试了 el-link 、a 标签、window.open 、window.location.href 等方案来进行文件下载,但是都没有实现想要的效果

2021-10-12 16:50:02 2219

原创 【vue】将项目部署到nginx

文章目录Step1 打包Step2 修改配置文件Step3 查看网站nginx配置文件全部内容Step1 打包在项目终端打包,打包完成后会出现一个 dist 文件夹。npm run build将 dist 文件夹拷贝到 nginx 安装目录下的 html 文件夹中。Step2 修改配置文件对 nginx 进行反向代理,否则无法使用后端的api接口,会报跨域的错误。在 nginx 安装目录下的 conf/nginx.conf 配置反向代理。修改配置如下:取消 pid 的注释pid

2021-10-09 08:55:50 567

原创 【vue】生成接口模拟数据

文章目录方案一:自定义模拟数据Step1 创建json文件Step2 在 `vue.config.js` 中配置Step3 在组件中使用 (方式一)Step3 封装api (方式二)Step4 在组件中使用 (方式二)方案二:自动生成模拟数据Step1 引入mock.jsStep2 编写模拟数据Step3 在组件中使用在前端vue中使用虚拟数据模拟后端接口返回的数据,从而使得前端开发独立化。这里使用了两种方案模拟接口返回的数据。第一种方案是自定义模拟数据,请求获得该数据。该方案是先创建要返回的jso

2021-10-03 09:51:54 646

转载 ssh连接问题(不能下载github项目)

文章目录Step1 查看ssh连接信息Step2 运行 ssh-agentStep3 添加私钥Step4 启动 `ssh-agent` 进程(可选)Step5 使用ssh连接githubStep6 测试最近发现我生成的ssh公钥不能下载github上自己的项目,此前我一直以为我的ssh是没问题的,不知道为啥不能用。每次使用ssh协议下载项目时,都会出现一个问题:Load key "C:\\Users\\90618\\.ssh": Is a directorygit@github.com: Permis

2021-09-26 11:10:33 1006

两轮自平衡小车的源代码

基于51单片机的两轮自平衡小车的所有源代码(早期学习时的资源)

2017-08-15

角度传感器测量x轴角度

基于51单片机的角度传感器测量x轴角度程序

2017-08-12

基于MSP430的液晶1602显示程序

基于MSP430的液晶1602显示程序。

2017-08-05

基于MSP430的实时时钟

基于MSP430的实时时钟显示。

2017-08-05

基于MSP430的AD转换,液晶1602显示结果

基于MSP430的1602液晶显示ADC转换结果程序,显示输入到ADC的电压转换后的数字量和模拟电压大小。MSP430单片机内部12位ADC,采用内部2.5V基准,单通道单次转换,中断模式,有精度误差,通过电位器可以更改输入电压,最大显示量4095和2.5V. (早期学习资料)

2017-08-05

MSP430直流电机控制

基于MSP430的直流电机控制。电机可以启动/停止,正反转,加减速。加减速使用PWM控制。(早期学习资料)

2017-08-05

空空如也

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

TA关注的人

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