- 博客(18)
- 收藏
- 关注
原创 八股文——JVM
1.虚拟机内存分区Java虚拟机的内存区域分为堆、方法区、程序计数器、虚拟机栈、本地方法栈。其中堆和方法区是线程共享的,而栈和程序计数器是线程私有的。程序计数器:是一块较小的内存空间,它可以看成是线程所执行的字节码的行号指示器 。解释器就是通过改变程序计数器来依次读取指令。 虚拟机栈:由一个一个的栈帧组成,一个栈帧描述的就是一个Java方法的内存模型,栈帧中包含局部变量表,操作数帧,动态链接,方法的返回地址等信息。每个方法的调用直至执行完毕的过程,就是对应着一个栈帧在虚拟机栈中的入栈出栈的过程。若
2022-02-16 15:24:53
467
原创 八股文——MySQL
1.数据库的三大范式?如何理解第一范式:确保每列都保持原子性,即数据表中的所有字段值都是不可分解的原子值。 第二范式:在满足第一范式的基础上,确保每列都和主键相关,也就是说每一行只做一件事。比如订单表,如果包含订单编号,订单货物,联系人,联系人电话,身份证等就是不满足第二范式的。因为如果一个人订多个订单,那么联系人,联系人电话等数据就是重复的,会有数据冗余。正确做法是把联系人,联系人电话,身份证等列拆分为另一个表存放。 第三范式:确保表中不能存在依赖传递关系,也就是说每列都和主键之间相关而不是间接相
2022-02-15 21:42:01
843
原创 TCP/IP
TCP/IP协议族体系结构以及主要协议 数据链路层:ARP(Address Resolve Protocol)协议和RARP协议(Reverse Address Resolve Protocol),分别实现IP地址和物理地址之间的转换。ARP协议工作原理:主机向自己所在的网络广播含目标网络地址的请求,目标及其发送自己的物理地址作为应答。 网络层:IP(Internet Protocol)协议根据数据包的IP地址决定如何投递它,使用逐条的方式确定通信路径。ICMP(Internet Pro...
2021-12-27 11:11:07
1236
原创 进程间通信
管道 内核提供,单工,自同步机制 匿名管道:只能有亲缘关系的进程间通信。int pipe(int pipefd[2]); 回填两个文件描述符到数组,pipefd[0]是读端,1是写端。 命名管道:文件类型为p开头的是命名管道, 管道必须凑齐读写两端才能运行。int mkfifo(const char *pathname, mode_t mode); XSI -> SysV IPC: Inter-Process Communication key: key_t ftok(.
2021-12-18 10:20:14
330
原创 高级IO知识
非阻塞IO -- 阻塞IO补充:有限状态机编程非阻塞IO 简单流程:自然流程是结构化的 复杂流程:自然流程不是结构化的(网络协议) IO多路转接 其他读写函数 存储映射IO 文件锁
2021-12-14 11:20:53
697
原创 并发相关知识
异步事件处理:查询法(频率高的事件)、通知发(频率低的事件) 一、信号 信号的概念 信号是软件层面的中断 signal() 信号的不可靠 可重入函数 信号的响应过程 常用函数 kill();发送信号 raise(); 自己给自己发信号 alarm();时间相关 pause();等待信号 abort() system() sleep 信号集 信号屏蔽字/pending...
2021-12-07 16:56:10
100
原创 进程基本知识
进程标识符pid 类型pid_t(通常为有符号16位整型数) 命令ps 进程号是顺次向下使用,文件描述符优先使用当前可用范围内最小的 getpid(); getppid() 进程的产生 fork(),注意理解man手册关键字duplicating,意味着拷贝、克隆、一模一样等含义: fork后父子进程的区别: fork的返回值不一样 父子进程的pid不同 未决信号和文件锁不继承 子进程资源利用量清0 init进程(pid = 1):是所有
2021-12-03 17:25:58
199
原创 UNIX文件系统
一、目录和文件获取文件属性 stat():通过文件路径获取属性,面对符号链接时获取的是所指向文件的属性。 fstat():通过文件描述符获取属性 lstat():面对符号链接文件时获取的是符号链接文件的属性 文件访问权限 st_mode是一个16为的位图, 用于表示文件类型,文件权限及特殊权限位置 umask 获得文件权限: 0666 & ~umask 作用:防止产生权限过松的文件 文件权限的更改/管理 chmod()、fchmod() 粘住位 t位
2021-12-01 20:36:19
631
原创 =default、=delete、decltype、lambda表达式
类成员里有带指针的成员函数,一般都要重新实现构造、拷贝、析构等函数,因为指针有浅拷贝深拷贝问题,可能拷贝的是指针的值也可能拷贝的是指针所值对象的值。
2021-11-23 18:42:05
206
转载 c++ map自定义比较函数(按key和按value)
按key//自定义map的keytypedef struct UrlKey{ uint64_t dwBussID; uint64_t dwVersion; uint64_t dwHashUrl;}UrlKey; //自定义map的valuetypedef struct UrlValue{ string strUrl;}UrlValue; //map的比较函数struct cmp_key{ bool operator()(const Url
2021-11-18 16:24:29
1477
原创 组合、委托、继承
static关键字:static属性, static成员函数只有一份,static成员函数没有this指针,方法里使用不了对象(类)里的数据,只能用static数据。 组合(Composition): has-a 委托(Delegation):Composition by reference(通过引用组合), point implementation(指针指向实现, Handle/Body), handle只暴露接口,body实现,又称编译防火墙。继承:基类的析构必须是虚函数。 组合(Comp.
2021-11-10 22:11:14
315
原创 complex、String类实现
#include <iostream>#include<string.h>using namespace std;class String{ public: String(const char* cstr = 0); String(const String& cstr); String& operator=(const String& str); ~String(); char* get_c_str() const {retu.
2021-11-10 10:55:10
252
原创 C++守则
数据尽可能放在private域。 构造函数尽可能用列表初始化。 参数,返回值尽可能用引用传递。 参数,函数类型尽可能用const。 构造方法放private, 单例模式。 相同class的各个objects互为友元。
2021-11-08 10:39:08
63
原创 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-11-08 00:12:06
187
原创 救济金发放
#include#includeusing namespace std;int n,k,m,a[20];//顺(逆)时针走t步,返回位置p,d为 1(-1) int go(int p,int d,int t) { while(t--) { do{ p=(p+d+n-1)%n+1;//顺时针走或逆时针走的关键 ,取余操作还可使p>n时循环为p从1开始。 }while(a[p]==0);//每判断一次
2017-11-08 00:06:43
282
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人