工作第一个十年如何结束

JVM系列-第9章-StringTable(字符串常量池)-cnblog

title: JVM系列-第9章-StringTable(字符串常量池) tags: - JVM - 虚拟机 categories: - JVM - 1.内存与垃圾回收篇 keywords: JVM,虚拟机。 description: JVM系列-第9章-StringTable(字符串常量池)。 c ......
常量 字符串 StringTable 字符 cnblog

JVM系列-第7章-对象的实例化内存布局与访问定位-cnblog

title: JVM系列-第7章-对象的实例化内存布局与访问定位 tags: - JVM - 虚拟机 categories: - JVM - 1.内存与垃圾回收篇 keywords: JVM,虚拟机。 description: JVM系列-第7章-对象的实例化内存布局与访问定位。 cover: 'h ......
布局 实例 对象 内存 cnblog

Java 面试题之 Logback 打印日志是如何获取当前方法名称的?

在 Java 中,有四种方法可以获取当前正在执行方法体的方法名称,分别是: 使用 Thread.currentThread().getStackTrace() 方法 使用异常对象的 getStackTrace() 方法 使用匿名内部类的 getClass().getEnclosingMethod() ......
名称 Logback 方法 日志 Java

JVM系列-第5章-堆-cnblog

title: JVM系列-第5章-堆 tags: - JVM - 虚拟机 categories: - JVM - 1.内存与垃圾回收篇 keywords: JVM,虚拟机。 description: JVM系列-第5章-堆。 cover: 'https://gitee.com/youthlql/ra ......
cnblog JVM

JVM系列-第1章-JVM与Java体系结构-cnblog

title: JVM系列-第1章-JVM与Java体系结构 tags: - JVM - 虚拟机 categories: - JVM - 1.内存与垃圾回收篇 keywords: JVM,虚拟机。 description: JVM系列-第1章-JVM与Java体系结构。 cover: 'https:/ ......
体系结构 JVM 体系 结构 cnblog

第371场周赛

至少在态度上有进步 昨天参加了 今天也参加了 跟昨晚的类似 第一题和第四题都是一样的 但是plus版要求时间复杂度 给你一个下标从 0 开始的整数数组 nums 。如果一对整数 x 和 y 满足以下条件,则称其为 强数对 : |x - y| <= min(x, y) 你需要从 nums 中选出两个整 ......
371

HTML5 Video 控件如何使用?

HTML5 提供了 <video> 元素,用于在网页上嵌入和播放视频。以下是如何使用HTML5 <video> 控件的基本步骤: 添加<video>元素: 在HTML文件中,你需要添加一个<video>元素来嵌入视频。例如: <video src="video.mp4" controls></vid ......
控件 HTML5 Video HTML

《实战Java高并发程序——第1章 走入并行世界》

基础平台Java虚拟机,虚拟机除了要执行main函数外,还需要做JIT编译和垃圾回收。无论是main函数、JIT编译还是垃圾回收,在虚拟机内部都是一个单独的线程。 多核CPU:将多个独立的计算单元整合到单独的CPU中 如何让多个CPU内核有效并正确地工作也就成了一门技术。如多线程间如何保证线程安全, ......
实战 程序 世界 Java

第117场双周赛-3min签到题,然后做不了一点

给你两个正整数 n 和 limit 。 请你将 n 颗糖果分给 3 位小朋友,确保没有任何小朋友得到超过 limit 颗糖果,请你返回满足此条件下的 总方案数 。 示例 1: 输入:n = 5, limit = 2 输出:3 解释:总共有 3 种方法分配 5 颗糖果,且每位小朋友的糖果数不超过 2 ......
3min 117 min

一个操作系统的设计与实现——第14章 文件系统

文件系统是操作系统的一个重要模块。本章将要实现的是文件系统。 14.1 什么是文件系统 文件系统是操作系统用于管理硬盘,并使硬盘更易于使用的模块。 想要管理硬盘,就需要记录硬盘扇区的使用情况,可以使用位图实现这个功能。 想要让硬盘更易于使用,就需要一个非常关键的概念:文件。文件可以将底层的起始扇区号 ......
系统 文件

一个操作系统的设计与实现——第17章 系统交互

操作系统最终是供用户使用的,所以其需要具备与用户交互的能力,交互方式可以是命令行,图形界面,甚至是触摸屏,语音,实体按钮等。本章将要实现的是系统交互。 17.1 外壳程序 我们的操作系统使用的是基于命令行的交互模式。实现此功能的模块被称为外壳(Shell)程序。 事实上,上一章的Test.c已经是一 ......
系统

一个操作系统的设计与实现——第15章 键盘驱动(上)

到目前为止,我们的操作系统只能输出而不能输入。本章将要实现的是键盘驱动,其能让我们的操作系统接收键盘输入。 15.1 键盘驱动的原理 当按下键盘上的键时,发生了什么呢?原来,每当按下键盘上的键,键盘都会发起至少一次键盘中断;每当一个键弹起时,键盘又会发起至少一次键盘中断;如果一直按住一个键不松手,键 ......
键盘 系统

一个操作系统的设计与实现——第16章 键盘驱动(下)

我们的操作系统虽然已经实现了键盘驱动,但其功能仅限于在屏幕上打印输入的字符,任务并不能读取到这些字符。本章将要实现读取键盘输入的系统调用。 16.1 读取键盘输入的原理 想要让任务读取到键盘输入,最简单的方法是构造一个数组,当键盘中断发生时,将键盘输入的字符保存在这个数组中。然而,这个方案有一个无法 ......
键盘 系统

#2023-2024-1 20231424《计算机基础与程序设计》第7周学习总结

2023-2024-1 20231424《计算机基础与程序设计》第7周学习总结 作业信息 作业属于的课程 <班级链接>(2022-2023-1-计算机基础与程序设计) 作业要求 <作业要求链接>(2022-2023-1计算机基础与程序设计第一周作业) 作业目标 《计算机科学概论》第8章和《C语言程序 ......

一个操作系统的设计与实现——第7章 中断

7.1 什么是中断 中断是一种能够随时打断CPU正常工作的机制。这句话看着挺别扭的,CPU工作的好好的,为什么要"随时打断"它?这是因为,CPU需要为诸多外部设备提供服务,以键盘为例,当键盘上的键被按下时,CPU需要对此做出响应和处理,如果不能及时响应,我们会说:"电脑很卡";如果一直都不能响应,我 ......
系统

一个操作系统的设计与实现——第3章 保护模式

实模式下,内存的访问是没有任何限制的,任何程序都能访问和修改任何内存地址,这就导致了实模式下的程序,甚至操作系统自己,都可能自身难保。于是,自8086的下一代产品80286起,保护模式诞生了;进一步的,自80386起,32位保护模式诞生了。 3.1 内存为什么要分段 在学习保护模式之前,需要先讨论一 ......
模式 系统

一个操作系统的设计与实现——第5章 加载内核

一直以来,我们都在使用汇编语言对MBR编程,但对于操作系统这样的复杂程序来说,使用汇编语言是比较困难的。本章将实现操作系统内核的加载与进入。 5.1 读硬盘的实现原理 操作系统存储于硬盘中,现在需要将其读出至内存。想要读硬盘,就需要依次进行以下操作: 设定读取的扇区数 设定起始扇区号 发送读硬盘命令 ......
内核 系统

一个操作系统的设计与实现——第9章 硬盘驱动

操作系统应当具备读写硬盘的能力。因此,本章将要实现的是硬盘驱动。硬盘驱动由两个函数构成:读硬盘函数与写硬盘函数。 9.1 读硬盘 想要读硬盘,就需要提供以下三个信息: 起始扇区号 读取的扇区数 数据存储的地址 需要注意的是:读取的扇区数只能是一个8字节的整数。 由于读硬盘需要使用大量的端口读写指令, ......
硬盘 系统

一个操作系统的设计与实现——第6章 显卡驱动

进入内核以后,应该做些什么呢?本章将实现一个最容易看到效果的模块:显卡驱动。 6.1 什么是驱动 驱动这个词听起来很高大上,但实际上很简单,就是硬件的接口函数。在软件工程中,可以使用接口封装和简化设计,硬件也是一样。例如:想要读硬盘,需要很多指令设定好几个端口,然后等待硬盘就绪,最后才能读硬盘。这一 ......
显卡驱动 显卡 系统

一个操作系统的设计与实现——第8章 内存管理系统

计算机上的任何程序,包括操作系统自己,都需要使用内存。因此,操作系统需要实现内存管理系统,以进行内存的分配和回收。 在我们的操作系统中,内存管理系统由两部分组成:页分配器与页回收器。本章将实现这两个部分。 8.1 从虚拟地址到物理地址 回顾CPU对内存地址的转换过程: 使用段寄存器中的段选择子,在G ......
系统 管理系统 内存

一个操作系统的设计与实现——第10章 任务(一):共享内核

一直以来,我们的操作系统在启动后,运行的都是Kernel.c中的main函数。只运行这一个函数是不够的,操作系统应当有能力加载并运行其他程序。 从本章开始,将使用四章的篇幅讨论操作系统如何加载并运行任务。这里的任务(Task)与进程(Process)是同义词,在操作系统领域中,任务这个词更为常用,请 ......
内核 任务 系统

一个操作系统的设计与实现——第13章 任务(四):任务回收

在前面的两章中,我们的操作系统均不支持任务回收,所以任务不能退出。本章将要实现的是任务回收功能。 13.1 任务回收的原理 如果一个任务位于任务队列中,其就会被运行。所以,如果一个任务的运行已经结束,它就应该从任务队列中删除。 仅仅将任务从任务队列中删除是不够的,这是因为任务还持有一些内存没有释放, ......
任务 系统

一个操作系统的设计与实现——第11章 任务(二):0特权级任务

上一章中,我们的操作系统已经支持内核共享,这为任务的加载和运行做好了准备。 本章将要实现的是0特权级任务的加载与任务切换。 11.1 任务切换的原理 11.1.1 协同式与抢占式任务切换 如果CPU上只运行着Kernel.c的main函数,那么情况非常简单,只需要不断执行下一条指令即可。然而,如果现 ......
任务 特权 系统

一个操作系统的设计与实现——第12章 任务(三):3特权级任务

特权级是保护模式的核心概念之一,但我们的操作系统一直没有引入这个概念。这是因为,特权级只有在3特权级任务存在时才有意义。本章将要实现的是3特权级任务的加载与任务切换。 12.1 特权级 12.1.1 特权级的功能 特权级(Privilege Level),是保护模式中用于限制任务权限的机制。特权级有 ......
任务 特权 系统

一个操作系统的设计与实现——第2章 主引导记录

2.1 BIOS 当按下开机键的那一刻,发生了什么呢? 这是一个百废待兴的时刻,所有的硬件设备都刚启动,并没有做好准备,甚至连CPU自己都是。此时,就需要一些外力帮助CPU工作起来。具体来说,在CPU刚启动时,其CS:IP被硬件电路设定为f000:fff0。这个地址并非指向内存,而是指向主板的一个非 ......
系统

一个操作系统的设计与实现——第1章 什么是操作系统

1.1 引言 什么是操作系统呢? 有些读者可能会像曾经的笔者一样,认为操作系统是"一种图形界面";在学习了Linux操作系统后,认为操作系统也可以是"一种命令行"。而不同种类,不同版本的操作系统,则是"不同的图形界面",或是"不同的命令行语法"。 那么,以Linux操作系统为例,读者是否想过这些问题 ......
系统

2023-2024 20232319 《网络空间安全导论》第1周学习总结

第一章学习,思维导图如下 网络空间安全导论 信息时代与信息安全 网络空间安全学科浅谈 网络空间安全法律法规 信息安全标准 教材学习中遇到的问题以及解决过程 1.问题一:公钥密码的具体内容有什么; 解决过程:询问ChatGPT,上csdn社区搜索 问题二:硬件病毒和软件病毒有哪些 解决过程:上百度搜索 ......
导论 20232319 网络 空间 2023

2023-2024第一学期第五周助教总结

第五个教学周已经结束了,现在让我们回顾一下第五周同学们的学习情况,在总结中反思问题,在总结中提高能力。 一、博客园总结作业情况 1.作业提交情况: 大多数同学还是按时上交了博客园总结报告,希望再接再厉,继续保持。没有按时上交总结的同学希望提高自己的学习效率,合理安排个人时间,完成老师布置的任务,不要 ......
学期 2023 2024

C++ STL ~ string 字符串有没有结束符

C 语言没有专门的字符串类型,它用一个以 \0 做结尾的字符数组来表示一个字符串,这通常称为 C 语言风格的字符串。后来面向对象的 C++ 在标准类库中提供了专门的字符串类 string,也就是 C++ 风格的字符串。除了拥有很多方便的接口,本质上,C++ string 依然是对一个字符数组的封装。 ......
结束符 字符串 字符 string STL

Grafana Elasticsearch 分组数据 如何配置 大盘百分比、分组百分比

一、分组百分比(分组后,内部筛选条件数据占比) Query:分组聚合、计算指标(隐藏显示)、计算脚本 二、大盘百分比(分组后数在分组之前所有数据中占比) 使用Transform功能2.1、Query 配置分组聚合、总数聚合。 A:选择分组字段、筛选条件、count聚合 B:筛选条件、count聚合、 ......