牛客网题目七

1.在Cache更新时,把数据同时写入Cache和主存的策略是写直法

写通(写直达)是指,每当Cache收到写数据(store)指令时,若写命中,则CPU会同时将数据写到Cache和主存。

如果写不命中:

  • 写分配,只在数据写不命中产生作用,即,给数据分配一个*** line 。先在主存块中更新到主存中,然后分配一个***行,将数据写到Cache中。
  • 这种方式充分利用了空间局部性,但每次写不命中都要从主存读一个块到Cache中,增加了 读主存 的开销。
  • 非写分配: 
    直接把数据写回主存而不加载数据到缓存 

2.

true、false、null都不是关键字

goto、const、是保留的关键字

abstract                continue           for            new        
switch                  default            if             package     
synchronized            do                 goto           private     
this                    break              double         implements   
protected               throw              byte           else       
import                  public             throws         case       
enum                    instanceof         return         transient  
catch                   extends            int            short       
try                     char               final          interface    
static                  void               class          finally   
long                    strictfp           volatile       const      
float                   native             super          while
boolean                 assert 

3.

必须在管态下执行的指令,即特权指令

特权执行包括:

(1)有关对I/O设备使用的指令 如启动I/O设备指令、测试I/O设备工作状态和控制I/O设备动作的指令等。

(2)有关访问程序状态的指令 如对程序状态字(PSW)的指令等。

(3)存取特殊寄存器**指令** 如存取中断寄存器、时钟寄存器等指令。

4.多进程里,子进程可获得父进程的所有堆和栈的数据;而线程会与同进程的其他线程共享数据,拥有自己的栈空间

线程的通信速度更快,切换更快,因为他们在同一地址空间内。

线程使用公共变量/内存时需要使用同步机制,因为他们在同一地址空间内。

使用 Python 编写爬虫程序抓取牛客网题目信息,需要结合网络请求网页解析技术。以下是实现该功能的步骤代码示例。 ### 1. 准备工作 - **安装必要的库**:使用 `requests` 发送 HTTP 请求,使用 `lxml` 或 `BeautifulSoup` 解析 HTML 页面,也可以使用 `selenium` 模拟浏览器操作。 - **分析网页结构**:通过浏览器开发者工具(F12)查看目标网页的 HTML 结构,找到题目答案所在的标签。例如,根据提供的信息,答案位于 `class="design-answer-box"` 的标签中。 ### 2. 使用 `requests` `BeautifulSoup` 爬取静态页面 如果牛客网题目信息是静态加载的,可以直接使用 `requests` 获取页面内容,并使用 `BeautifulSoup` 解析 HTML。 ```python import requests from bs4 import BeautifulSoup # 设置请求头,模拟浏览器访问 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' } # 发送 GET 请求 url = 'https://www.nowcoder.com/' response = requests.get(url, headers=headers) # 解析 HTML 内容 soup = BeautifulSoup(response.text, 'html.parser') # 查找题目答案所在的标签 answers = soup.find_all('div', class_='design-answer-box') for answer in answers: print(answer.get_text(strip=True)) ``` ### 3. 使用 `selenium` 处理动态加载内容 如果牛客网的内容是通过 JavaScript 动态加载的,`requests` 无法直接获取完整的 HTML 内容,此时可以使用 `selenium` 来模拟浏览器操作。 ```python from selenium import webdriver from selenium.webdriver.common.by import By import time # 设置浏览器驱动路径 driver = webdriver.Chrome(executable_path='/path/to/chromedriver') # 打开目标网页 driver.get('https://www.nowcoder.com/') # 等待页面加载完成 time.sleep(5) # 查找题目答案所在的标签 answers = driver.find_elements(By.CLASS_NAME, 'design-answer-box') for answer in answers: print(answer.text) # 关闭浏览器 driver.quit() ``` ### 4. 使用 XPath 提取特定数据 根据提供的 XPath 路径 `/html/body/div[1]/div[2]/div[2]/div[2]/div[1]`,可以使用 `lxml` 或 `selenium` 提取特定节点的内容。 ```python from lxml import html # 解析 HTML 内容 tree = html.fromstring(response.text) # 使用 XPath 提取数据 answer_text = tree.xpath('/html/body/div[1]/div[2]/div[2]/div[2]/div[1]/text()') print(answer_text) ``` ### 5. 遵守网站规则 在进行网页爬取时,务必遵守目标网站的 `robots.txt` 文件相关法律法规,避免频繁请求导致 IP 被封禁。 ### 6. 数据存储 爬取到的数据可以存储为文件(如 JSON、CSV)或写入数据库,以便后续处理分析。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值