- 博客(67)
- 资源 (3)
- 收藏
- 关注
原创 Linux系统调用
CPU存在内核模式和用户模式两种模式,只有处于内核模式时才允许访问设备,通过不同模式隔绝进程调动设备的权限。Linux系统调用是操作系统提供给用户程序或者其他程序与操作系统内核进行交互的接口。这些调用允许程序请求操作系统执行特定的操作,如文件操作、进程管理、网络通信等。计算机系统中各种进程与OS的关系如下图一般来说,由在用户模式在运行的进程通过向内核发送相应的请求。其中包括了进程独有的代码直接向内核发起请求的情况,也包括了进程所依赖的库向内核发起请求的情况。
2024-07-15 22:54:57 575
原创 Linux文件结构
与Windows下的文件组织结构不同,Linux不使用磁盘分区符号来访问文件系统,而是将整个文件系统表示成树状结构,Linux系统每增加一个文件系统都会将其加入到这个树中。操作系统文件结构的开始只有一个单独的顶级目录结构,叫做根目录,用“/”表示。DOS/Windows下文件系统按照磁盘分区的概念分类,目前都存于分区上。Linux则通过“挂接”的方式把所有分区都放置在“根”下各个目录里。不同的Linux发行版本的目录结构和具体的实现功能存在一些细微的差别,但是主要的功能都是一致的。
2024-07-07 22:55:33 348
原创 Linux内核模块简介
Linux的内核主要由5个子系统组成:进程调度、内存管理、虚拟文件系统、网络接口、进程间通信。进程调度指的是系统对进程的多种状态之间转换的策略。Linux下的进程调度主要有3种调度策略:SCHED_OTHER、SCHED_FIFO和SCHED_RR。SCHED_OTHER(也称SCHED_NORMAL)是由于针对普通进程的时间片轮转调度策略。这种策略中,系统给所有的运行状态的进程分配时间片。在当前进程的时间片用完之后,系统从进程中优先级最高的进程中选择进程运行。SCHED_FIFO是针对运行的实时性要求比较
2024-07-07 22:19:21 332
原创 浮点数原理与`BigDecimal`实践应用
BigDecimalint scale:表示小数位的数量。:一个BigInteger对象,表示数值的非标度部分,即实际的数值(十进制)。例如,数值123.45scale = 2。
2024-06-25 15:26:26 1053
原创 ES6入门
ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
2023-04-22 15:07:28 539 1
原创 JavaScript基础-03
case1:变量已声明,未赋值时声明了一个变量,但没有赋值,此时它的值就是 undefined。let name;// 打印结果:undefined console . log(typeof name);// 打印结果:undefinedUndefined 类型的值只有一个,就是 undefind。比如 let a = undefined。使用 typeof 检查一个 undefined 值时,会返回 undefined。case2:变量未声明(未定义)时。
2023-04-09 17:35:27 560
原创 JavaScript基础-02
自定义常量是ES6中新增的语法。const 常量名称 = 常量取值;const name = '邢道荣';// 定义常量name,它的取值是 邢道荣 // name = '许嵩';// 既然 name 是常量,所以这一行是错误的写法,因为 name 无法被修改为其他的值 console . log(name);// 打印结果:邢道荣我们一般不会直接使用常量,否则会导致代码冗余、不易维护。如果多个地方要用到同一个常量,那就建议事先定义一个变量,用来保存这个常量;然后在需要的地方去引用这个变量就行了。
2023-04-09 11:25:24 458
原创 JavaScript基础-01
我们在实战开发中,基本都是采用方式外链式,因为将 html 文件和 js 文件分开的方式,有利于代码的结构化和复用,符合高内聚、低耦合的思想。学习程序,是有规律可循的,程序会有有相同的部分,这些部分就是一种规定,不能更改,我们称之为:语法。代码运行后,页面上会显示一个弹窗。上面的三种方式,有个共同的地方是:JS代码都是写在中的,准确来说,是在页面标签元素的后面,在body结束标签的前面。上面的代码中,如果写了两个 alert()语句,则网页的效果是:弹出第一个警告框,点击确定后,继续弹出第二个警告框。
2023-04-08 17:44:57 428
原创 Quartz任务调度
当Scheduler调用一个Job,就会将JobExecutionContext传递给Job的execute()方法;Job能通过JobExecutionContext对象访问到Quartz运行时候的环境以及Job本身的明细数据。// 输出当前时间 Date date = new Date();// 工作内容 System . out . println("数据库正在进行备份,备份时间是:" + dateString);
2022-12-11 17:40:51 585
原创 快速上手几个Linux命令
Linux操作系统有很多功能,我们有很多方式可以使用这些功能,其中最简单和直接的方式就是命令行(Command Line)当我们打开一个新系统的时候,第一件要做的事就是登录。系统默认有一个 Administrator 用户,也就是系统管理员,它的权限很大,可以在这个系统上干任何事。Linux 上面也有一个类似的用户,我们叫 Root。同样,它也具有最高的操作权限。接下来,你需要输入密码了。密码从哪里来呢?对于 Windows 来讲,在你安装操作系统的过程中,会让你设置一下 Administrator 的密码
2022-12-06 22:43:59 338
原创 MySQL逻辑架构
数据库查询请求流程:系统(客户端)访问 MySQL 服务器前,做的第一件事就是建立 TCP 连接。经过三次握手建立连接成功后, MySQL 服务器对 TCP 传输过来的账号密码做身份认证、权限获取。用户名或密码不对,会收到一个Access denied for user错误,客户端程序结束执行。用户名密码认证通过,会从权限列表查出账号拥有与连接关联,之后的权限判断逻辑都将依赖此时读到的权限。TCP连接收到请求后,必须要分配给一个线程专门与这个客户端的交互。所以还会有个线程池,去走后面的流程。每一个连接从
2022-12-05 10:36:53 348
原创 Linux下MySQL的安装与使用
Centos7XshellXftp如果你是用rpm安装, 检查一下RPM PACKAGE:检查mysql service:如果存在mysql-libs的旧版本包,显示如下:1、关闭mysql服务2、查看当前 mysql 安装状况3、卸载上述命令查询出的已安装程序务必卸载干净,反复执行 rpm -qa | grep -i mysql 确认是否有卸载残留4、删除mysql相关文件查找相关文件删除上述命令查找出的相关文件5、删除my.cnfMySQL的Linux版安装MySQL的4大版本
2022-12-01 20:39:47 340
原创 数据库视图
视图一方面可以帮我们使用表的一部分而不是所有的表,另一方面也可以针对不同的用户制定不同的查询视图。比如,针对一个公司的销售人员,我们只想给他看部分数据,而某些特殊的数据,比如采购的价格,则不会提供给他。再比如,人员薪酬是个敏感的字段,那么只给某个级别以上的人员开放,其他人的查询视图中则不提供这个字段。
2022-11-29 14:22:06 348 3
原创 数据库约束
约束是表级的强制规定可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后通过 ALTER TABLE 语句规定约束。
2022-11-28 18:18:29 706
原创 SQL数据增删改
使用这种语法一次只能向表中插入一条数据。情况1:为表的所有字段按默认顺序插入数据值列表中需要为表的每一个字段指定值,并且值的顺序必须和数据表中字段定义时的顺序相同情况2:为表的指定字段插入数据为表的指定字段插入数据,就是在INSERT语句中只向部分字段中插入值,而其他字段的值为表定义时的默认值。在 INSERT 子句中随意列出列名,但是一旦列出,VALUES中要插入的value1,…valuen需要与column1,…columnn列一一对应。如果类型不同,将无法插入,并且MySQL会产生错误。
2022-11-26 13:45:59 129
原创 MySQL创建和管理表
存储数据是处理数据的第一步。只有正确地把数据存储起来,我们才能进行有效的处理和分析。否则,只能是一团乱麻,无从下手。那么,怎样才能把用户各种经营相关的、纷繁复杂的数据,有序、高效地存储起来呢?在 MySQL 中,一个完整的数据存储过程总共有 4 步,分别是我们要先创建一个数据库,而不是直接创建数据表呢?因为从系统架构的层次上看,MySQL 数据库系统从大到小依次是 数据库服务器 、 数据库 、 数据表 、数据表的 行与列。MySQL 数据库服务器之前已经安装。所以,我们就从创建数据库开始。
2022-11-26 12:14:48 537
原创 MySQL聚合函数
聚合函数作用于一组数据,并对一组数据返回一个值。AVG()SUM()MAX()MIN()COUNT()聚合函数不能嵌套调用。比如不能出现类似“AVG(SUM(字段名称))”形式的调用。
2022-11-22 20:21:46 349
原创 MySQL函数
函数在计算机语言的使用中贯穿始终,函数的作用是什么呢?它可以把我们经常使用的代码封装起来,需要的时候直接调用即可。这样既 提高了代码效率 ,又 提高了可维护性。在 SQL 中我们也可以使用函数对检索出来的数据进行函数操作。使用这些函数,可以极大地 提高用户对数据库的管理效率。从函数定义的角度出发,我们可以将函数分成 内置函数 和 自定义函数。在 SQL 语言中,同样也包括了内置函数和自定义函数。内置函数是系统内置的通用函数,而自定义函数是我们根据自己的需要编写的。
2022-11-22 19:55:14 319 2
原创 MySQL的多表查询
多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个关联字段可能建立了外键,也可能没有建立外键。比如:员工表和部门表,这两个表依靠“部门编号”进行关联。
2022-11-21 15:35:24 217
原创 MySQL运算符
算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行加(+)、减(-)、乘(*)、除(/)和取模(%)运算。
2022-11-15 20:38:51 769
原创 MySQL基本的SELECT语句
使用通配符虽然可以节省输入查询语句的时间,但是获取不需要的列数据通常会降低查询和所使用的应用程序的效率。通配符的优势是,当不知道所需要的列的名称时,可以通过它获取它们。MySQL中的SQL语句是不区分大小写的,因此SELECT和select的作用是相同的,但是,许多开发人员习惯将关键字大写、数据列和表名小写,读者也应该养成一个良好的编程习惯,这样写出来的代码更容易阅读和维护。紧跟列名,也可以在列名和别名之间加入关键字AS,别名使用双引号,以便在别名中包含空格或特殊的字符并区分大小写。
2022-11-13 17:06:38 243
原创 SQL语言的规则与规范
这些语言定义了不同的数据库、表、视图、索引等数据库对象,还用来创建、删除、修改数据库和数据表的结构。主要的语句关键字包括CREATE、DROP、ALTER等。
2022-11-13 14:50:51 1185
原创 Mybatis教程
MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下, iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github。iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。 iBatis提供的持久层框架包括SQL Maps和Data Access Objects(DAO)。1、 M
2022-10-24 15:05:50 932
原创 @NotBlank、@NotNull 、@NotEmpty的区别
最近在公司写代码遇到了@NotBlank、@NotNull 、@NotEmpty三种注解,今天我就总结一下这三种注解的区别。适用于基本类型及其包装类,也可以用于String类型,不能为null,但是长度可以为0。只能用于String类型上,不能为null,且长度必须大于0。用于集合或者String类型,不能为空,长度必须大于0。...
2022-08-26 09:40:25 448
原创 JWT简介
JSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。JWT总结:JWT是用于微服务之间传递用户信息的一段加密字符串,该字符串是一个JSON格式,各个微服务可以根据该JSON字符串识别用户的身份信息,也就是该JSON字符串中会封装用户的身份信息。JJWT是一个提供端到端的JWT创建和验证的Java库。永远免费和开源(Apache License,版本2.0),JJWT很容易使用和理解。...
2022-08-25 22:45:54 344
原创 MySQL的全局锁和表锁
数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。而锁就是用来实现这些访问规则的重要数据结构。
2022-08-25 19:17:58 204
原创 MySQL索引入门
索引的出现其实就是为了提高数据查询的效率,就像书的目录一样。一本 500 页的书,如果你想快速找到其中的某一个知识点,在不借助目录的情况下,那我估计你可得找一会儿。同样,对于数据库的表而言,索引其实就是它的“目录”。
2022-08-25 17:00:14 137
原创 Base64编码
Base64,顾名思义,就是包括小写字母a-z、大写字母A-Z、数字0-9、符号"+“、”/“一共64个字符的字符集,(另加一个“=”,实际是65个字符,至于为什么还会有一个“=”,这个后面再说)。任何符号都可以转换成这个字符集中的字符,这个转换过程就叫做base64编码。base64不是加密算法,他只是一种编码方式,数据从一种形式转换为另一种形式进行传输/存储。
2022-08-24 14:33:20 204
原创 解决 nested exception is org.apache.ibatis.builder.BuilderException: Error invoking SqlProvider method
解决 nested exception is org.apache.ibatis.builder.BuilderException: Error invoking SqlProvider method (tk.mybatis.mapper.provider.base.BaseInsertProvider.dynamicSQL)当java在Spring Boot中使用通用Mapper的时候,出现一下错误:此时可能出错的原因是@MapperScan的包导入错误。正确用法应该是导入:
2022-08-22 16:53:50 4833 1
原创 Spring boot学习总结
Spring Boot概述什么是Spring BootSpring Boot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品:首页Spring Boot简介可以看到下面的一段介绍:Spring Boot is designed to get you up and running as quickly as possible, with minimal upfront configuration of Spring. Spring Boot
2022-02-06 21:58:45 2150
原创 Python数据分析与可视化(3)——NumPy数值计算基础
文章目录NumPy多维数组创建数组对象ndarray对象属性和数据转换生成随机数数组变换数组的索引和切片一维数组的索引和切片多维数组的索引和切片数值的运算数组和标量间的运算ufunc函数ufunc的广播机制条件逻辑运算数组读写读写二进制文件读写文本文件读取csv文件NumPy中的数据统计与分析排序重复数据与去重常用统计函数NumPy是在1995年诞生的Python库Numeric的基础上建立起来的,但真正促使NumPy的发行的是Python的SciPy库。但SciPy中并没有合适的类似于Numeric中的
2021-12-02 10:41:29 1451
原创 Spring的IoC和DI
Spring简介什么是SpringSpring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核。提供了展现层 SpringMVC 和持久层 Spring JDBCTemplate 以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的Java EE 企业应用开源框架。spring
2021-11-26 17:45:01 430 1
原创 Python数据分析与可视化(2)—— Python编程基础
python基础Python是一个结合了解释性、编译性、互动性和面向对象的高级程序设计语言,结构简单,语法定义清晰。Python最具特色的就是使用缩进来表示代码块,不需要使用大括号{}。缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。Python3 中有六个标准的数据类型:Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典)。其中,不可变数据类型有:Number、String、Tuple;可变数据类型有:L
2021-11-23 20:46:36 948
原创 Python数据分析与可视化(1)——Python数据分析与可视化
1、大数据分析框架结构2、数据、信息与数据分析数据:是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽象的符号。数据是信息的表现形式和载体,可以是符号、文字、数字、语音、图像、视频等。数据聚焦于数据的采集、清理、预处理、分析和挖掘,图形聚焦于解决对光学图像进行接收、提取信息、加工变换、模式识别及存储显示,可视化聚焦于解决将数据转换成图形,并进行交互处理。信息:是数据的内涵,信息是加载于数据之上,对数据作具有含义的
2021-11-23 19:56:13 71066 1
原创 leetcode 124. 二叉树中的最大路径和
问题描述:路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。路径和 是路径中各节点值的总和。给你一个二叉树的根节点 root ,返回其 最大路径和 。示例 1:输入:root = [1,2,3]输出:6解释:最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 6示例 2:输入:root = [-10,9,20,null,null,1
2021-11-21 16:28:37 358 2
原创 Java web——Servlet、Http、Request,Response
Servlet概念运行在服务器端的小程序Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则。将来我们自定义一个类,实现Servlet接口,复写方法。创建步骤创建JavaEE项目定义一个类,实现Servlet接口public class ServletDemo1 implements Servlet实现接口中的抽象方法配置Servlet在web.xml中配置: <!--配置Servlet --> <serv
2021-10-24 20:26:28 194 2
原创 JavaScript基础详解
JavaScript:概念: 一门客户端脚本语言运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎脚本语言:不需要编译,直接就可以被浏览器解析执行了功能:可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验。JavaScript发展史:1992年,Nombase公司,开发出第一门客户端脚本语言,专门用于表单的校验。命名为 : C-- ,后来更名为:ScriptEase1995年,Netscape(网景
2021-09-26 20:29:33 139 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人