自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (9)
  • 收藏
  • 关注

原创 一个初学者对mica-auto的理解

最近因为参加中科院和openEuler主办的开源软件供应链点亮计划 - 暑期2021活动,第一次接触了mica-auto这个利器。从最初的一片迷茫到现在的开始稍微入门,这个过程是艰苦的,所以我希望这篇文章可以帮助到很多像我一样的对mica-auto感兴趣的初学者。mica-auto什么是mica-auto什么是Spring boot starter如何实现一个自己的Spring boot starter如何命名第一步第二步第三步第四步第五步第六步spring.factories机制实现原理Spring b

2021-07-24 17:08:57 1257

原创 操作系统(四)------进程的管理

进程管理进程的引入程序的顺序执行及其特征程序的执行程序顺序执行的特征程序的并发执行及其特征并发执行特征为什么引入进程进程的特征与状态进程的特征进程的定义进程控制块PCB进程控制块中的作用PCB里的信息PCB的组织方式进程控制进程的引入程序的顺序执行及其特征程序的执行在未配置OS的系统中,程序是顺序执行的通常把应用程序分成若干程序段,在各程序之间,按照某种先后顺序执行.程序顺序执行的特征1.程序执行的顺序性2.程序环境的封闭性3.程序结果的可再现性程序的并发执行及其特征并发执行在多道程

2021-03-13 15:49:16 696 2

原创 操作系统(三)

操作系统操作系统的发展过程多道批处理的产生单道批与多道批处理系统的作业运行情况:多道程序设计技术多道批处理系统的特征多道批处理系统的优缺点分时系统的产生分时系统分时系统的特征分时系统的技术指标实时系统应用需求实时系统的技术指标操作系统特征与功能操作系统的特征并发与并行共享虚拟性异步性操作系统的功能完成处理机资源的分配调度内存管理功能设备管理功能文件管理功能用户接口操作系统的结构设计整体或无结构模块化结构分层式结构微内核结构操作系统的发展过程多道批处理的产生1.用户所提交的作业先存放在外存上,排成一个"

2021-03-09 21:08:53 549 2

转载 进程,作业与程序

程序与进程之间的区别:(1)进程更能真实地描述并发,而程序不能。(2)进程由程序和数据两部分组成,进程是竞争计算机系统有限资源的基本单位,也是进程处理机调度的基本单位。(3)程序是静态的概念;进程是程序在处理机上一次执行的过程,是动态的概念。(4)进程有生存周期,有诞生有消亡。是短暂的;而程序是相对长久的。(5)一个程序可以作为多个进程的运行程序;一个进程也可以运行多个程序。(6)进程具有创建其他进程的功能;而程序没有。作业与进程的区别:一个进程是一个程序对某个数据集的执行过程,是分配资源的

2021-03-09 20:21:22 369

原创 操作系统(二)

计算机体系结构&内存分层体系计算机体系结构/内存分层体系计算机硬件基本结构内存层次操作系统的内存管理地址空间&地址生成地址空间定义地址生成逻辑地址生成地址生成过程地址安全检查连续内存分配内存碎片动态分区分配最先匹配计算机体系结构/内存分层体系计算机硬件基本结构内存层次操作系统的内存管理在操作系统中管理内存的不同方法1.程序重定位2.分段3.分页4.虚拟内存5.按需分页虚拟内存地址空间&地址生成地址空间定义物理地址空间:硬件支持的地址空间起始地址0,

2021-02-16 11:56:17 1216 4

原创 操作系统(一)

操作系统启动计算机体系结构概述计算机内存和硬盘布局中断,异常和系统调用背景中断,异常和系统调用相比较源头处理时间响应中断和异常处理机制中断异常系统调用跨越操作系统边界的开销启动在计算机中,内核是被信任的第三方,只有内核可以执行特权指令,为了方便应用程序计算机体系结构概述DISK:存放OSBootloader:加载OSBIOS:基本I/O处理系统POST(加电自检):寻找显卡和执行BIOS计算机内存和硬盘布局中断,异常和系统调用背景系统调用(来源于应用程序)应用程序主动向操作系统发

2021-02-09 18:13:14 214

原创 DML&DCL

DML&DCL一.DML一.数据的插入一.语法二.特点二.数据的删除两者区别二.事务一.事务概述二.事务的 ACIDDML(Data Manipulation Language)数据操纵语言:insert update delete,对表中的数据的增删改一.DML一.数据的插入一.语法插入单行insert into 表名(字段名1,字段名2,…) values (值1,值2,…)插入多行insert into 表名(字段名1,字段名2,…) values (值1,值2,…),(值1,

2021-02-04 20:02:05 193 1

原创 DDL

DDL语言库的管理一、如何创建数据库二、删除数据库表的管理一、创建表一、语法二、常见约束二、常用类型DDL:Data Define Language,数据定义语言,用于对数据库和表的管理和操作库的管理一、如何创建数据库create database + 数据库名;create database if not exists + 数据库名;(减少异常发生,java适用)二、删除数据库drop database + 库名drop database if exists + 库名表的管理一、创建

2021-02-04 12:17:11 231

原创 数据库(六)-----子查询

一、概念1.定义:出现在其他语句中的select语句,称为子查询或内查询外部的查询语句,称为主查询或外查询2.分类:①按子查询出现的位置:(I)select后面:仅仅支持标量子查询(II)from后面:支持表子查询(III)where或having后面:支持标量子查询(单行)、列子查询(多行)、行子查询(较少)(重点)(IV)exists后面(相关子查询):支持表子查询②按结果集的行列数不同(I)标量子查询(结果集只有一行一列)(II)列子查询(结果集只有一列多行)(III)行子查询

2021-02-03 12:43:32 332

原创 过滤器和监听器

过滤器和监听器过滤器过滤器一.介绍主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理二.使用过滤流程过滤器对用户请求进行预处理,接着将请求交给Servlet进行处理并生成响应,最后过滤器再对服务器响应进行后处理。在一个web应用中,可以开发编写多个过滤器,这些过滤器组合起来称之为一个过滤器链...

2021-01-31 20:09:31 115

原创 会话技术之Session

一.Session1.概念:服务器端会话技术,在一次会话多次请求间共享数据,将数据保存在服务器端的对象中。2.

2021-01-28 10:34:51 209

原创 会话技术之Cookie

一.会话1.概念:一次会话中包含多次请求和响应*一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止2.功能:在一次会话的范围内,共享数据3.方式:a.客户端会话技术:Cookie(将数据存在客户端)b.服务器端会话技术:Session(将数据存在服务器端)二.Cookie1.概念:客户端会话技术,将数据存在客户端...

2021-01-26 19:27:01 208 3

原创 HashMap原理

一.哈希表与哈希冲突1.什么是哈希冲突2.解决哈希冲突的方法1.HashMap的原理2.JDK中的构造函数3.HashMap的底层构造1.hashCode的计算2.对应数组下标的计算3.数组的扩容1.什么是哈希冲突假设hash表的大小为10(即有10个槽),现在要把一串数据存到表里:5,3,56,78,1,4,9,34,56,78简单计算一下:hash(5)=5, 所以数据5应该放在hash表的第5个槽里;hash(56)=1,所以数据56应该放在hash表的第1个槽里;hash(34)=1,也就是说

2020-12-20 15:52:30 170

原创 JAVA中自动装箱与自动拆箱

一 自动拆箱与自动装箱Integer类型Double类型Boolean类型自动装箱Integer a = 99;自动拆箱 int b = a;因为Object类下的Number里有Integer,Integer是int的包装类,所以可以把Integer想象成一个箱子,把b装进这个箱子里,这就是自动装箱,同理,自动拆箱就是把这个b从箱子里取出来自动装箱和自动拆箱是自动执行的。具体如下:执行Integer a = 99;时 Integer a = Integer.valueOf(99)

2020-11-01 16:52:51 260

转载 struct hostent 结构体与gethostbyname(),gethostbyaddr

1、hostent 数据结构是这样的:struct hostent{char *h_name;char **h_aliases;int h_addrtype;int h_length;char **h_addr_list;};#define h_addr h_addr_list[0]这里是这个数据结构的详细资料:struct hostent: h_name – 地址的正式名称。h_aliases – 空字节-地址的预备名称的指针,也可以这样说 一个以空指针结尾的可选主机名队列。 h_

2020-07-28 09:11:23 412

原创 数据库(五)----连接查询

一、概念1.又称多表查询,当查询的字段来自多个表时,就会用到连接查询“.”运算符取出各表中的数据这样可以避免笛卡尔积的现象二、sql92标准1.等值连接beauty.boyfriend_id与boys.d要等值才能连接成功①.为表起别名,as或空格注意:如果给表起了别名,那么查询的字段就不能使用原来的表名去限定②.加条件用and加条件③.加分组④.三表连接,分开写2.非等值连接3.自连接三、sql99标准1.语法select 查询列表from 表1 别名 

2020-07-20 18:00:50 1325

原创 数据库(四)---分组函数

一、sum求和函数/avg求平均值/max最大值/min最小值/count计算个数一、sum();求和函数,avg();求平均值,max();最大值,min();最小值,count();计算个数1、参数支持的类型sum();,avg();:字符型无意义,一般数值型max();,min();:字符型支持count();:都支持2、忽略NULL值以上分组函数都忽略3.可以与distinct搭配4.count详细介绍select count(常量) from 表名;也可以统计个数5.和

2020-07-20 15:13:11 377

原创 数据库(三)-----单行函数

一、字符函数1.length();统计字节长度中文一个字占3个字节2.concat()函数:拼接字符串3.upper(),lower()upper():小写转大写lower():大写转小写两者结合使用:4.substr()索引从1开始2表示从第二字符开始,3表示三个长度结合使用:5.instr();函数功能为返回字符所在位置数...

2020-07-20 10:40:23 251

原创 poll/epoll相关知识

一、pollint poll(struct pollfd *fds, nfds_t nfds, int timeout);fds:监听的文件描述符【数组】struct pollfd {int fd; 待监听的文件描述符short events; 待监听的文件描述符对应的监听事件,取值POLLIN、POLLERR、POLLOUTshort revents; 传入时,给0,如果满足对应事件的话,返回非0----->POLLIN、POLLERR、POLLOUT}

2020-07-20 08:08:49 194

原创 数据库(二)----查询知识总结

一、查询(一)①查询表中单个字段:select 要查询的表中字段 from 表名;②查询表中多个字段select 要查询的表中字段a, 要查询的表中字段b,要查询的表中字段c from 表名;③查看表中所有字段select *from 表名;④查询常量值select 常量;select ‘字符’;⑤查询表达式⑥查询函数⑦起别名方式一:select A as B;方式二:空格起别名时最好将别名加上单引号或双引号。⑧去重select distinct A

2020-07-18 17:08:20 404

原创 数据库(一)-----基本概念

一、为什么使用数据库1.实现数据持久化2.使用完整的管理系统统一管理,易于查询二、DB、DBMS、SQLDB------>仓库DBMS------>管家SQL------>程序员与DBMS对话的语言三、数据库存储特点1.将数据放到表中,表再放到库里2.一个数据库可以有多个表,每个表都有它唯一的名字3.表具有一些特性,这些特性定义了数据在表中如何存储4.表由列组成,称为字段5.表中的数据按行存储四、常用命令1.show databases查看数据库(命令后面必须加

2020-07-18 10:37:19 195

原创 select函数

select多路IO转接1.原理:借助内核,select监听,客户端连接,数据通信事件2.#include <sys/select.h> #include <sys/time.h> #include <sys/types.h> #include <unistd.h> int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *excep

2020-07-13 12:00:51 290

原创 TCP

TCP状态时序图:1.主动发起连接请求端:CLOSE----发送SYN----接收SYN、ACK----SEND_SYN----发送ACK----ESTABLISHED(数据通信态)2.主动关闭连接请求端:ESTABLISHED(数据通信态)----发送FIN----FIN_WAIT_1----接收ACK----FIN_WAIT_2(半关闭)----接收对端发送FIN----FIN_WAIT_2(半关闭)----回发ACK----TIME_WAIT----等2MSL时长(只有主动关闭连接方,才会经历这个

2020-07-12 18:06:02 147

原创 Linux编程(二)------Socket编程

一、套接字1.在通信过程中,套接字一定是成对出现的(插板和插座)一个文件描述符指向一个套接字(该套接字内部由内核借助两个缓冲区实现)网络字节序(大端模式):小端(PC本地存储):高存高,低存低大端(网络存储):高存低,低存高htonl函数:本地------->网络 (IP)htons函数:本地------->网络 (port)ntohl函数:网络------>本地(IP)ntohs函数:网络------>本地(port)IP地址转换函数:①int inet_

2020-06-26 20:29:25 182

原创 Linux网络编程(一)

一、协议1.概念:一组规则。2.分层模型结构:OSI七层模型:物、数、网、传、会、表、应TCP/IP 4层模型:网(链路层/网络接口层)、网、传、应应用层协议:http、ftp、nfs 、ssh 、telnet…传输层协议:TCP、UDP网络层协议:IP、ICMP、IGMP链路层协议:以太网帧协议、ARP网络传输流程:数据没有封装之前,是不能在网络中传输的...

2020-06-21 20:12:22 121

原创 哲学家进餐问题

首先给哲学家编号:0 1 2 3 4,将编号为奇数的分为一类,偶数的分为一类,编号为奇数的先拿起左手的筷子,偶数的拿起右手的筷子,此时,4号一定可以吃到东西,然后他放下筷子,此时,0号和3号争抢筷子进餐。这样可避免死锁的发生。每一个哲学家就是一个线程,筷子放进一个列表里,初始值均为1,代表筷子都可用,每一个线程的ID为0~5,每个筷子对应哲学家的编号,1号左手边的筷子定义为a[1] (ID),右手定义a[2] (ID+1)%5)。当拿起筷子时。1变为0,吃完后0变为1。代码:#include &lt.

2020-06-06 18:10:10 339

原创 生产者消费者模型

分析:1.生产者每生产一个放到公共区域,消费者在满足一定条件时,才在公共区域消费,如果条件不满足,则堵塞,调动pthread_cond_wait()函数。2.生产者生产完需要唤醒消费者去公共区域消费,此时调用pthread_cond_signal()或pthread_cond_broadcast(),唤醒堵塞在条件变量上的线程。3.消费者需要:①创建锁 pthread_mutex_t mutex②初始化锁 pthread_mutex_init(&mutex,NULL)③加锁 pthre.

2020-06-06 17:53:43 212

原创 线程(二)

一、线程同步概念:线程同步,指一个线程发出某一功能调用时,在没有得到结果之前,该调用不返回,同时其他线程为保证数据一致性,不能调用该功能。

2020-05-14 15:18:54 170

原创 线程(一)

一、线程概念1.进程:独立地址空间,用于PCB,没有对PCB;最小分配资源单位,可看成是只有一个线程的进程线程:有独立的PCB,没有独立地址空间;最小的执行单位。原来的a.out从进程变为线程命令:ps -Ls :进程ID---->线程号(LWP—>执行的最小单位)2.内核程序映射到物理地址过程详解:程序—>PCB—>红色圆圈—>MMU—>物理地址红色圆圈详解:PCB里的指针—>页面—>页表—>页目录页目录里的内存单元(小方块)直接指

2020-05-12 20:43:03 151

原创 mmap(linux)

一、存储映射I/O1.原理:2.mmap函数void *mmap(void *addr, size_t length, int prot, int flags,int fd, off_t offset);作用:创建共享内存映射区参数:addr:制定映射区的首地址(通常传NULL)系统自动分配length:共享内存映射区大小prot:共享内存映射区的读写属性 。PROT_READ 、PROT_WRITE 、 PROT_READ|PROT_WRITEflags:标注共享内存的共享属性。

2020-05-09 21:57:20 261

原创 进程间通信

一、进程间通信本质父子进程共用内核,中间需要一块buf的区域连接来通信。二、管道1.只作用于有血缘关系的进程之间2.pipe函数创建管道,mkfifo 命令也可以创建管道3.管道为双向半双工通信4.实现原理:内核借助环形队列机制,使用内核缓冲区实现①它是伪文件 ②管道中数据只能一次读取 ③数据在管道中单向流动 ④数据不可反复读 ⑤自己写,不能自己读5.pipe函数①创建并打开...

2020-05-09 17:01:39 158

原创 数据结构

一、逻辑结构1.集合结构中的数据元素除了同属于一个集合外,没有其他关系2.线性结构中的数据元素之间是一对一的关系3.树形结构中的数据元素之间存在一种一对多的层次关系4.图形结构的数据元素是多对多的关系二、顺序存储结构顺序存储结构:把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的三、链式存储结构链式存储结构:把数据元素存储在任意的存储单元里,这组存储单元可以...

2020-04-22 21:44:08 162

原创 linuxc第七章

一、进程和程序以及CPU的相关1.程序是死的,只占用磁盘空间,不占用系统资源liyiheng@liyiheng-PC:~/lx$ lstt就是一个程序运行程序就是一个进程,占用内存,CPU等系统资源(活的)2.并发在操作系统中,一个时间段中有多个进程都处于已启动运行到运行完毕之间的状态,但任意时刻点上只有一个进程在运行。例如:我们可以边聊天边听音乐边看电视,这就是因为并发3.单...

2020-04-18 16:09:10 208

原创 鸟哥私房菜第十章

一、shell1.什么是shellshell是转移器(翻译器),将我们敲的命令翻译成CPU看的懂的语言,CPU完成之后,再通过shell翻译成我们能看懂的语言。2.shell的使用①需要一块软件连接shell,在Linux里用终端连接(终端是人与shell的桥梁)。我这个电脑的shell有:liyiheng@liyiheng-PC:~$ cat /etc/shells# /etc/sh...

2020-04-13 19:51:31 1458

原创 《鸟哥的私房菜》第八章总结

《鸟哥的私房菜》第八章总结1.压缩与解压原理eg:下载一个文件,里面存储是个1,即1 1 1 1 1 1 1 1 1 1压缩过程为:1*10将原来的10个字符压缩成四个字符(1 × 1 0)解压过程为:将压缩的文件还原。压缩好处:在网络中传输时节约带宽。2.压缩命令①compress命令compress -v filename: 压缩 压缩文件为 filename.Zli...

2020-03-20 14:43:40 128

原创 2017

2017年面试题int main(int argc, char *argv[]){int t = 4;printf("%lu\n", sizeof(t--));printf("%lu\n", sizeof("ab c\nt\012\xa1*2"));return 0;}输出结果为:411分析 : t为int类型,int类型占4字节,sizeof()调用...

2020-02-13 20:40:29 168

原创 git的操作

1.首先创建一个空目录$ mkdir learngit$ cd learngit2.通过 git init命令把这个目录变成Git可以管理的仓库:$ git init此时,git把仓库已建好。3.用命令git add告诉Git,把文件添加到仓库:(我创建了一个lll.txt的文件)$ git add lll.txt4.用命令git commit告诉Git,把文件提交到仓库:...

2019-12-15 14:03:05 111

原创 对#define与const的理解与学习

对#define与const的理解与学习1.使用#define时,常量表中并没有用define定义的常亮,系统不为它分配内存。const定义的常量,在运行时在常量表中,系统为它分配内存。2.#define定义的常量,预处理只进行替换,不进行检验。const定义的常量,进行严格的检验。3.#define UINT unsigned intUINT a,b;a,b为整形。4.宏名...

2019-12-08 20:37:28 231

原创 vim的使用

vim的使用1.打开终端后,在~$后输入vim。lyh@lyh-pc:~$ vim2.创建一个你想命名的c文件,例如pta.c。lyh@lyh-pc:~$ vim pta.c3.完成上述步骤后如图所示:4.之后按i键,即进入编辑模式,可开始敲代码。5.敲完代码后,按ESC,即可回到一般命令模式。6.按:wq可以保存并退出,如图所示:lyh@lyh-pc:~$ vim pt...

2019-12-02 19:25:33 154

完美世界2017校招技术综合A卷.pdf

完美世界2017校招技术综合A卷.pdf

2021-05-12

中国联通软件研究院(北京)面经.pdf

中国联通软件研究院(北京)面经.pdf

2021-05-12

社招一年半面经分享(含阿里美团头条京东滴滴).pdf

社招一年半面经分享(含阿里美团头条京东滴滴).pdf

2021-05-12

20秋 后台开发 小红书 一二三四面.pdf

20秋 后台开发 小红书 一二三四面.pdf

2021-05-12

tplink一面 后端.pdf

tplink一面 后端.pdf

2021-05-12

keep面经,动手能力太差啊啊啊啊keep面经,动手能力太差啊啊啊啊.pdf

keep面经,动手能力太差啊啊啊啊keep面经,动手能力太差啊啊啊啊.pdf

2021-05-12

java秋招总结--个人面经总结贴腾讯.pdf

java秋招总结--个人面经总结贴腾讯.pdf

2021-05-12

三年经验京东Java社招面经分享.pdf

三年经验京东Java社招面经分享.pdf

2021-05-12

后端Java.pdf

后端Java.pdf

2021-05-12

空空如也

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

TA关注的人

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