- 博客(60)
- 收藏
- 关注
原创 JVM之堆
一个JVM实例只存在一个堆内存,堆也是内存管理的核心区域。Java堆区在JVM启动的时候即被创建,其空间大小也就确定了。是JVM管理的最大一块内存空间。堆内存的大小是可以调节的。《JVM虚拟机规范》规定,堆可以处于物理上不连续的内存空间中,但在逻辑上它应该被视为连续的。所有的线程共享Java堆,在这里还可以划分线程私有的缓冲区(Thread Local Allocation Buffer,TLAB)。在《Java虚拟机规范》中对Java堆的描述:所有的对象实例以及数组都应当在运行时分配在堆上。
2024-03-26 21:50:44 1038
原创 JVM虚拟机栈
栈是运行时的单位,而堆是存储的单位。栈解决程序的运行问题,即程序如何执行,或者说如何处理数据。堆解决的是数据存储的问题,即数据怎么放,放在那儿。
2024-03-23 16:35:06 1084
原创 程序计数器
为了能够准确地记录各个线程正在执行的当前字节码指令地址,为某一个线程都分配一个PC寄存器,这样一来各个线程之间便可以独立进行计算,从而不会出现向好干扰的情况。所谓的多线程在一个特定的时间段内只会执行其中某一个线程的方法,CPU会不停地做任务切换,这样必然导致经常中断或恢复,如何保证毫无差距么?它是程序控制流的指示器,分支,循环,跳转,异常处理,线程恢复等基础功能都需要依赖这个计数器来完成。在JVM规范中,每个线程都有它自己的程序计数器,是线程私有的,生命周期与线程的生命周期保持一致。
2024-03-19 07:24:57 461
原创 类加载子系统
虚拟机的类加载虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。
2024-03-12 19:58:31 896
原创 JVM的整体架构
基本上是基于栈的指令集架构总结:由于跨平台的设计,Java的 指令都是根据栈来设计的。不同平台下CPU架构不同,所以不能设计为基于寄存器的。优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。
2024-03-12 11:25:58 389
原创 第十章 数据库恢复技术
故障是不可避免的,故障主要包括:计算机硬件故障、软件的错误、操作员的失误、恶意的破坏等。故障对数据库的影响主要表现为:运行事务非正常中断、影响数据库中数据的正确性、数据库全部或部分丢失数据等。数据库恢复的作用:把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)的功能。
2023-09-17 20:55:52 686 1
原创 第九章 关系查询处理和查询优化
总代价IO代价CPU代价内存代价通信代价总代价 = I/O代价 + CPU代价+内存代价+通信代价总代价IO代价CPU代价内存代价通信代价计算查询代价时一般用查询处理读写的块数作为衡量单位。
2023-09-17 20:55:16 232
原创 第七章 数据库设计
数据库逻辑设计的结果不是唯一的。 确定数据库物理结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、聚簇、日志、备份等的存储安排和存储结构,确定系统配置等。概念结构设计的第一步就是对需求分析阶段收集到的数据进行分类、组织,确定实体、实体的属性、实体之间的联系类型,形成E-R图。 价方法主要是定量估算各种方案的存储空间、存取时间、维护代价,对估算结果进行权衡、比较,选择出一个较优的合理的物理结构。 对数据库物理设计过程中产生的多种方案进行评价,从中选择一个较优的方案作为数据库的物理结构。
2023-09-17 20:54:39 200
原创 第六章 关系数据库理论
对于一个模式的分解是多种多样的,但是分解后产生的模式应与原模式等价。等价分解具有无损连接性(lossless join)。分解要保持函数依赖(preserve functional dependency)。分解既要保持函数依赖,又要具有无损连接性。
2023-09-17 20:53:43 164
原创 第五章 数据库完整性
关系模型的实体完整性设置主码,让每条记录是相互可区分的,SQL中在CREATE,TABLE中用PRIMARY KEY定义。主码是单属性构成的有两种说明方法定义为列级约束条件定义为表级约束条件主码是多属性的只能有一种说明方法定义为表级约束条件参照完整性定义在CREATE TABLE中用FOREIGN KEY短语定义哪些列为外码,用REFERENCES短语指明这些外码参照哪些表的主码。 用户定义的完整性就是针对某一具体应用的数据必须满足的语义要求。
2023-09-17 20:52:45 331
原创 第四章 数据库安全性
非授权用户对数据库的恶意存取和破坏安全措施用户身份鉴别存取控制和视图数据库中重要或敏感的数据被泄露安全措施强制存取控制数据加密存储加密传输安全环境的脆弱性D级该级是最低级别。保留D级的目的是为了将一切不符合更高标准的系统统统归于D组。C1级该级只提供了非常初级的自主安全保护,能够实现对用户和数据的分离,进行自主存取控制(DAC),保护或限制用户权限的传播。C2级。
2023-09-17 20:52:06 324
原创 第三章 关系数据库标准语言SQL
SQL的数据定义功能:模式定义,表定义,视图和索引的定义一个关系数据库管理系统的实例(instance)中可以建立多个数据库,一个 数据库中可以建立多个模式,一个模式下通常包括多个表,视图,和索引等数据库对象定义模式在SQL中,模式定义语句如下CREATE SCHEMAAUTHORIZATION;
2023-09-17 20:50:49 631 1
原创 第二章 关系数据库
针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求 关系模型应提供定义和校验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。
2023-09-17 20:50:04 161
原创 第一章 绪论
数据(data)数据库(DataBase,DB)数据库管理系统(DataBase Management System,DBMS)数据库系统(DataBase System,DBS)数据库系统是由数据库,数据库管理系统(及其应用开发工具),应用程序和数据库管理员(DataBase Administrator,DBA)组成的存储,管理,处理和维护数据的系统。
2023-09-17 20:48:56 446
原创 未定义标识符 “av_register_all“
新版FFmpeg以弃用用av_register_all,直接去掉av_register_all就行。
2023-02-12 23:33:59 2268
原创 第三章 数据链路层
以太网交换机工作在数据链路层(也包括物理层)使用一个或多个以太网交换机互连起来的交换式以太网,其所有站点都属于同一个广播域。随着交换式以太网规模的扩大,广播域相应扩大。巨大的广播域会带来很多弊端广播风暴难以管理和维护潜在的安全问题网络中会频繁出现广播信息TCP/IP协议栈中的很多协议都会使用广播:地址解析协议ARP(已知IP地址,找出其相应的MAC地址)路由信息协议RIP(一种小型的内部路由协议)动态主机配置协议DHCP(用于自动配置IP地址)
2023-02-08 15:19:06 436
原创 WireShark快速分析抓包技巧
混杂模式就是接受所有经过网卡的数据包,包括不是发给本机的包,既不验证MAC地址。普通模式下网卡只接受发给本机的包(包括广播包)传递给上层程序,其它的包一律丢弃。
2023-01-29 19:05:33 1452 1
原创 第二章 物理层
物理层考虑的是物理层的主要任务描述为确定与传输媒体的接口有关的一些特性数据在计算机内部多采用并行传输方式,在通信线路上一般是串行传输(即逐个比特按照时间顺序传输),因此物理层还要完成传输方式的转换。
2023-01-26 01:17:36 887
原创 第一章 概述
计算机网络由若干个结点货连接这些结点的链路组成网络把许多计算机连接在一起,二互联网则把许多网络通过路由器连接在一起。与网络相连的计算机常称为主机Internet和internet的区别internet(互连网)是一个通用名词,它泛指由多个计算机网络互连而成的计算机网络Internet(互联网,或因特网)则是一个专用名词,它指当前全球最大的,开放的,由众多网络相互连接而成的特定互联网,它采用TCP/IP协议族作为通信的规则,且其前身是美国的ARPANET。
2023-01-26 01:14:33 1068
转载 C++ #error 指令: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll versi
1.先选择“属性管理器”,然后按如下路径项目-》属性-》C/C++-》代码生成-》运行库,将“多线程调试DLL(/MDd)”改成“多线程(/MT)”或“多线程调试(/MTd)”2.选择“解决方案管理器”,然后按如下路径项目-》属性-》配置属性-》常规-》项目默认值-》MFC的使用,选择“在静态库中使用MFC”(有时并不需要修改)。请#define_AFXDLL或不使用/MD[d](/MD)和(/MDd)选择“在共享DLL中使用MFC”,(/MT)和(/MTd)选择“在静态库中使用MFC”,...
2022-07-30 22:51:22 6874 1
原创 VS2019+QT ERROR:LNK2001 public: virtual struct QMetaObject const
1>finddialog.obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __cdecl FindDialog::metaObject(void)const " (?metaObject@FindDialog@@UEBAPEBUQMetaObject@@XZ)1>finddialog.obj : error LNK2001: 无法解析的外部符号 "public: virtual void *.
2022-05-07 21:05:53 875 1
原创 响应状态码
响应状态码目录响应状态码响应状态码的五种类型响应状态码的详细描述常用的CSS选择器响应状态码的五种类型类型(响应状态码第一位数字) 含义 1 信息,服务器收到请求,需要请求者继续执行操作 2 成功,操作被成功接受并处理 3 重定向,需要进一步的操作以完成请求 4 客户端错误,请求包含语法错误或无法完成请求 5 服务器错误,服务器在处理请求的过程中发送了错误 响应码的后两位表示具体的响应动作响应状态码的详细描述
2022-04-28 23:10:08 227
原创 常用的CSS选择器
选择器 例子 描述 .class .title 选择class = “title”的所有结点 #id #button1 选择id = ”button1“的所有节点 * * 选择所有节点 element a 选择所有<a>节点 element,element div,a 选择所有<div>节点和<a>节点 element>element div>a 选择所
2022-04-28 23:08:24 155
原创 C++ GUI Qt4编程源码解析——age
age.progreaterThan(QT_MAJOR_VERSION,4):QT += widgetsTEMPLATE = appSOURCES = age.cppage.cpp
2022-04-18 22:46:27 787
原创 C++ GUI Qt4编程源码解析——quit
quit.progreaterThan(QT_MAJOR_VERSION,4):QT += widgetsTEMPLATE = appSOURCES = quit.cppquit.cpp#include <QApplication>#include <QPushButton>int main(int argc, char *argv[]){ QApplication app(argc, argv); QPushBut
2022-04-17 19:58:39 981
转载 C++ GUI Qt4编程源码解析——Hello Qt
hello.proTEMPLATE = app //app - 建立一个应用程序的makefile。这是默认值,所以如果模板没有被指 //定,这个将被使用。SOURCES = hello.cpp //源文件来自:http://t.csdn.cn/2m3j0QT工程pro文件模板变量(TEMPLATE)模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择:
2022-04-17 19:28:15 547
转载 编译C++ GUI Qt 4中样例找不到头文件的解决方法
hello.proTEMPLATE = appSOURCES = hello.cpphello.cpp#include <QApplication>#include <QLabel>int main(int argc, char *argv[]){ QApplication app(argc, argv); QLabel *label = new QLabel("Hello Qt!"); label->s
2022-04-17 19:24:55 904
原创 图的点,边和度之间的关系
有向图1.所有顶点的度数之和 等于 边数的二倍。2.所有顶点的入度之和 等于 出度之和。3.n个顶点的有向完全图有n*(n-1)条边。4.n个顶点的强连通图至少有n条边。无向图1.所有顶点的度数之和 等于 边数的二倍。2.n个顶点的无向完全图有 n(n-1)/2 条边。3.n个顶点的连通图至少有 n-1 条边。...
2022-04-03 17:52:21 9964
原创 朴素Dijkstra算法
思路以及实现清除所有点的符号其它dist[1] = 0,其它dist[i] = INF循环n-1次 t=-1 循环n次,找到当前所有未标记的点中的最小值 标记dist[t] 循环n次,用t更新其它点的最小值代码实现int g[N][N]; // 存储每条边int dist[N]; // 存储1号点到每个点的最短距离bool sign[N]; // 标记已确定最短路径的点// 求1号点到n号点的最短路,...
2022-03-24 20:21:41 144
原创 蓝桥杯——砝码称重
自己写的错误方法第一次做此题的时候是用dfs做的,当我写完的时候我就感觉MLE和TLE了#include<iostream>#include<utility>using namespace std;int arr[110][110];//第一个储存end,最后的end+2储存sum,中间的储存以那几个数得到的int nums[110];int cur[110];//以全排列的方式存储一下在u达到end的时候选择了那几个数int ans,n;bool is;b
2022-03-12 18:11:52 163
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人