- JVM(Java虚拟机)的堆内存分为新生代(Young Generation)和老年代(Old Generation)。新生代是指存放新创建的对象的内存区域,而老年代是指存放已经存活一段时间的对象的内存区域。 新生代与老年代的比例可以通过参数来配置,一般使用-XX:NewRatio参数来设置。该参数的值表示老年代与新生代的比例,例如-XX:NewRatio=2表示新生代和老年代的比例为1:2... JVM(Java虚拟机)的堆内存分为新生代(Young Generation)和老年代(Old Generation)。新生代是指存放新创建的对象的内存区域,而老年代是指存放已经存活一段时间的对象的内存区域。 新生代与老年代的比例可以通过参数来配置,一般使用-XX:NewRatio参数来设置。该参数的值表示老年代与新生代的比例,例如-XX:NewRatio=2表示新生代和老年代的比例为1:2...
- 分析程序的代码段,常量区,静态数据区,栈,堆是什么。他们和ROM,RAM的关系。以及断电和通电状态下数据的存储差异 分析程序的代码段,常量区,静态数据区,栈,堆是什么。他们和ROM,RAM的关系。以及断电和通电状态下数据的存储差异
- 前言:今天给大家分享一道面试中常见的题目——合并K个升序链表,我会用暴力和分治两钟方法去求解这道题目,通过动图展示问题求解的全过程。这里提醒大家,画图是我们求解复杂问题的有效手段,有时可以起到事半功倍的效果,各位小伙伴在做题的过程中如果遇到麻烦,不妨动手画画图哟。题目描述:合并K个升序的链表并将结果作为一个升序的链表返回其头节点。例如:输入:[{1,2},{1,4,5},{6},{2,3,5... 前言:今天给大家分享一道面试中常见的题目——合并K个升序链表,我会用暴力和分治两钟方法去求解这道题目,通过动图展示问题求解的全过程。这里提醒大家,画图是我们求解复杂问题的有效手段,有时可以起到事半功倍的效果,各位小伙伴在做题的过程中如果遇到麻烦,不妨动手画画图哟。题目描述:合并K个升序的链表并将结果作为一个升序的链表返回其头节点。例如:输入:[{1,2},{1,4,5},{6},{2,3,5...
- 目录概述构造器分析 put 流程get 流程size 计算流程概述JDK1.7中的ConcurrentHashMap间接地实现了Map,并将每一个元素称为分段锁segment,每个segment都是一个HashEntry<K,V>数组,称为table,table的每个元素都是一个HashEntry的单向队列。「HashTable是给整个容器加锁,ConcurrentHashMap是给每个... 目录概述构造器分析 put 流程get 流程size 计算流程概述JDK1.7中的ConcurrentHashMap间接地实现了Map,并将每一个元素称为分段锁segment,每个segment都是一个HashEntry<K,V>数组,称为table,table的每个元素都是一个HashEntry的单向队列。「HashTable是给整个容器加锁,ConcurrentHashMap是给每个...
- 基本ConcurrentHashMap是Java中的一个线程安全的哈希表实现,它是HashMap的一个并发版本。它提供了一种高效的方式来在多线程环境下进行并发访问和更新。与普通的HashMap不同,ConcurrentHashMap使用了锁分段技术,将整个哈希表分成多个段(Segment),每个段维护着一个独立的哈希表。这样,在多线程环境下,不同的线程可以同时访问和修改不同的段,从而提高... 基本ConcurrentHashMap是Java中的一个线程安全的哈希表实现,它是HashMap的一个并发版本。它提供了一种高效的方式来在多线程环境下进行并发访问和更新。与普通的HashMap不同,ConcurrentHashMap使用了锁分段技术,将整个哈希表分成多个段(Segment),每个段维护着一个独立的哈希表。这样,在多线程环境下,不同的线程可以同时访问和修改不同的段,从而提高...
- @TOC 前言本篇文章带大家正式的来学习数据结构,数据结构是学习操作系统,和深入C语言必不可少的,所以这篇文章开始带大家学习数据结构的知识。 一、什么是链表链表(Linked List)是一种常见的数据结构,用于存储和组织数据元素。它由一系列节点(Node)组成,每个节点包含存储的数据(或称为元素/值)以及指向下一个节点的引用(或链接/指针)。链表中的节点可以通过指针连接在一起,形成一个链式... @TOC 前言本篇文章带大家正式的来学习数据结构,数据结构是学习操作系统,和深入C语言必不可少的,所以这篇文章开始带大家学习数据结构的知识。 一、什么是链表链表(Linked List)是一种常见的数据结构,用于存储和组织数据元素。它由一系列节点(Node)组成,每个节点包含存储的数据(或称为元素/值)以及指向下一个节点的引用(或链接/指针)。链表中的节点可以通过指针连接在一起,形成一个链式...
- 快速排序注:若排序是有序的,采用快排,则退化为冒泡排序。解决这个问题,采用两个选取基准的方法:(1)随机选取基数(在这个区间内随机取一个数)出现的恶劣情况是整个数组全相等,还是退化为冒泡排序(2)三数取中法把待排序列分成等长的子序列,最佳的是取中间数为基准举例:待排序序列为:8 1 4 9 6 3 5 2 7 0左边为:8,右边为0,中间为6.我们这里取三个数排序后,中间那个数作为枢轴,则... 快速排序注:若排序是有序的,采用快排,则退化为冒泡排序。解决这个问题,采用两个选取基准的方法:(1)随机选取基数(在这个区间内随机取一个数)出现的恶劣情况是整个数组全相等,还是退化为冒泡排序(2)三数取中法把待排序列分成等长的子序列,最佳的是取中间数为基准举例:待排序序列为:8 1 4 9 6 3 5 2 7 0左边为:8,右边为0,中间为6.我们这里取三个数排序后,中间那个数作为枢轴,则...
- 2023-07-27:最长可整合子数组的长度,数组中的数字排序之后,相邻两数的差值是1,这种数组就叫可整合数组。给定一个数组,求最长可整合子数组的长度。答案2023-07-27:算法maxLen的过程如下:1.检查输入数组是否为空,如果为空,则返回0,表示最长可整合子数组长度为0。2.初始化长度为1的最长可整合子数组长度为ans。3.创建一个空的set容器,用于记录数组中的元素是否已经存在。... 2023-07-27:最长可整合子数组的长度,数组中的数字排序之后,相邻两数的差值是1,这种数组就叫可整合数组。给定一个数组,求最长可整合子数组的长度。答案2023-07-27:算法maxLen的过程如下:1.检查输入数组是否为空,如果为空,则返回0,表示最长可整合子数组长度为0。2.初始化长度为1的最长可整合子数组长度为ans。3.创建一个空的set容器,用于记录数组中的元素是否已经存在。...
- @TOC 一、构建智能指针的原因众所周知,C++是没有垃圾回收的,就会导致以下问题:1、导致动态申请堆空间,用完后不归还。2、会导致程序的内存泄露,进而影响整个程序,甚至可能是整个电脑3、指针无法控制所指堆空间的生命周期我们就需要设计一个类SmartPointer他的功能如下:指针生命周期结束时主动释放堆空间。一片堆空间最多由一个指针标识。原因:因为我们要在析构函数中释放堆空间,如果2个智能... @TOC 一、构建智能指针的原因众所周知,C++是没有垃圾回收的,就会导致以下问题:1、导致动态申请堆空间,用完后不归还。2、会导致程序的内存泄露,进而影响整个程序,甚至可能是整个电脑3、指针无法控制所指堆空间的生命周期我们就需要设计一个类SmartPointer他的功能如下:指针生命周期结束时主动释放堆空间。一片堆空间最多由一个指针标识。原因:因为我们要在析构函数中释放堆空间,如果2个智能...
- 本文关于模版字面量的内部结构的探索过程。整个探索的过程还是很有趣的。虽然从前面的篇幅中看着很简单,但是其实我反复实验了多次,并且借助 String.raw() 的知识点,才很好的理解了输出中的结果。 本文关于模版字面量的内部结构的探索过程。整个探索的过程还是很有趣的。虽然从前面的篇幅中看着很简单,但是其实我反复实验了多次,并且借助 String.raw() 的知识点,才很好的理解了输出中的结果。
- @TOC 前言刷题之——Leetcode道简单题,通过这4道简单题,C/C++有新的理解,提高你的编程能力。leetcode地址 一、寻找正序数组的中位数 中位数的概念中位数是一组数据中的一个特殊值,可以将这组数据划分为两个部分,其中一部分的数值比中位数小,另一部分的数值比中位数大。换句话说,中位数将数据集合分成了两部分,使得左右两边的数据量相等或差距很小。在一个有序的数据集合中,中位数就是... @TOC 前言刷题之——Leetcode道简单题,通过这4道简单题,C/C++有新的理解,提高你的编程能力。leetcode地址 一、寻找正序数组的中位数 中位数的概念中位数是一组数据中的一个特殊值,可以将这组数据划分为两个部分,其中一部分的数值比中位数小,另一部分的数值比中位数大。换句话说,中位数将数据集合分成了两部分,使得左右两边的数据量相等或差距很小。在一个有序的数据集合中,中位数就是...
- 一、题目描述设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。实现 MinStack 类:MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部的元素。int getMin() 获取堆栈中的最小元素。示例 1:输入:["MinStack",... 一、题目描述设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。实现 MinStack 类:MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部的元素。int getMin() 获取堆栈中的最小元素。示例 1:输入:["MinStack",...
- 一、题目描述Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。请你实现 Trie 类:Trie() 初始化前缀树对象。void insert(String word) 向前缀树中插入字符串 word 。boolean search(String word) 如果字符串 word ... 一、题目描述Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。请你实现 Trie 类:Trie() 初始化前缀树对象。void insert(String word) 向前缀树中插入字符串 word 。boolean search(String word) 如果字符串 word ...
- 算法知识:判别是否需要使用单调栈,如果需要找到左边或者右边第一个比当前位置的数大或者小,则可以考虑使用单调栈 一、题目描述给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。示例 1:输入: temperature... 算法知识:判别是否需要使用单调栈,如果需要找到左边或者右边第一个比当前位置的数大或者小,则可以考虑使用单调栈 一、题目描述给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。示例 1:输入: temperature...
- 一、题目描述 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例 1:输入:grid = [[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径 1→3→1→1→1 的总和最小。示例 2:输入:grid = [[1,2,3],[4,5,6]]输出:12提示:m == g... 一、题目描述 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例 1:输入:grid = [[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径 1→3→1→1→1 的总和最小。示例 2:输入:grid = [[1,2,3],[4,5,6]]输出:12提示:m == g...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢
2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考
2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本
2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签