03 2021 档案
摘要:类加载器及类加载过程 类加载器子系统作用 类加载器子系统负责从文件系统或网络中加载Class文件,Class文件在文件开头有特定的文件标识。 ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定。 加载的类信息存放于一块称为方法区的内存空间。
阅读全文
摘要:JVM发展历程 Sun Classic VM Exact VM 为了解决上一个虚拟机问题,jdk1.2时,sun提供了此虚拟机。 Exact Memory Management:准确式内存管理 SUN 公司的 Hotspot VM HotSpot历史 最初由一家小公司设计。 1997年,此公司被Su
阅读全文
摘要:题目二 题目描述 5690. 最接近目标价格的甜点成本 难度:中等-中等 题解 解法一:三进制状态压缩 考虑到baseCosts、toppingCosts的长度最多都为10,每一种辅料都有加0、1、2份的选择,因此可以考虑三进制状态压缩求解。类似二进制的状态压缩。 以10种辅料为例。 直到curJ为
阅读全文
摘要:如何看待操作系统 系统的角度:计算机系统资源的管理者 用户的角度:用户和计算机硬件系统之间的接口 进程的角度:管理、控制核心,协调、控制用户和系统进程。 操作系统的三大目标和作用 管理系统资源,实现系统资源的有效利用和共享。 合理组织计算机的工作流程,改善系统性能。(平衡响应时间和吞吐量) 响应时间
阅读全文
摘要:#自上而下分析法的问题 最笨的做法就是什么也不考虑,就从文法本身出发,穷举所有的可能,若有一种可能的推导满足,则输入串合法。 当输入串、文法很复杂时,这样的做法效率极低。于是就有了下面的LL(1)分析法,LL(1)分析法效率较高。 #LL(1)分析法 ##先来看看LL(1)分析法是如何使用的 两个关
阅读全文
摘要:预备知识 前驱图 程序顺序执行的特征 顺序性 顺序执行 封闭性 独占资源 可再现性 只要程序执行环境和初始条件相同,重复执行时结果都相同 程序并发执行的特征 间断性 失去封闭性 不可再现性 因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了
阅读全文
摘要:#题目描述 173. 二叉搜索树迭代器 #题解 ##思路一:扁平化 事先生成二叉树的中序遍历序列,随后再一个个地取。 遍历的时间复杂度为O(n),hasNext()与next()调用均为O(1)。 额外空间为辅助栈和数组,辅助站空间复杂度为O(h),h为树的最大深度,数组空间复杂度为O(n)。 /*
阅读全文
摘要:#题目描述 5710. 积压订单中的订单总数 #题解 题目不难,主要是要读懂题意,一步步模拟,代码较长,需要细心检查。 坑较多,比如我犯了很多傻逼问题:想都不想就拿1<<9+7当作1000000007,更傻逼的是,<<的优先级低于+号,<<都没用对。 实时取最大和最小,可以用堆或者优先队列实现。这里
阅读全文
摘要:#题目描述 [115. 不同的子序列]https://leetcode-cn.com/problems/distinct-subsequences/ #题解 class Solution { public int numDistinct(String s, String t) { int m = s
阅读全文
摘要:First 父:“要多想。” 子:“想了之后呢?” 父:“北海,我只能告诉你在那以前要多想。” 要多想——这场战争敌我力量对比过于悬殊,硬碰硬必然是当年左倾冒险主义的结局,一定会失败。要多想,不要头脑发热,不要以为有可能打赢,一定要想清楚。 想了之后呢——我想过了,确实不可能赢。但又能怎样呢?我想了
阅读全文
摘要:#MySQL概述 MySQL是关系型数据库,开源。 关系型数据库:ER模型图,关系型数据库存放的是各种实体间的关系。 以商城为例: 常见关系型数据库:MySQL、Oracle、SQLServer、DB2。 #MySQL安装 官网找到MySQL Community Server下载页,下载免安装压缩包
阅读全文
摘要:#题目描述 [131. 分割回文串]https://leetcode-cn.com/problems/palindrome-partitioning/ #题解 求解所有可能的题目一般都是暴力搜索,没有什么特别的优化方法。 暴力搜索重要的思想是回溯思想: 从当前状态开始,依次搜索当前状态下的所有可能选
阅读全文
摘要:#IDEA中配置Maven File --> settings 推荐配置:设置maven在不联网的情况下使用本地插件 一般使用maven为我们提供好的骨架时,是需要联网的,配置这个,可以在没有网络的情况下,我们可以正常创建工程,并从之前已经使用过的工程中找到相应的骨架。 输入内容:-Darchety
阅读全文
摘要:#简介: Maven是Apache公司的开源项目,是项目构建工具,用来管理依赖。 #Maven的优点: 同样的代码实现相同的功能,Maven项目没有Jar包,项目大小更小。 #maven的优点如何实现: 没有Jar包,Maven项目如何运行? maven的两大核心 依赖管理:对jar包管理 项目构建
阅读全文
摘要:import java.util.Comparator; import java.util.TreeSet; /** TreeSet中添加的数据必须是相同类的对象,没有(按照定义的判断逻辑上)相等的元素。 并且,对象必须实现Comparable接口,重写compareTo()方法 >自然排序 或者在
阅读全文
摘要:/** 为保证向Set中添加的对象其所在的类必须要重写hashCode和equals方法: 重写的原则:hashCode和equals尽量保持一致性: 两个相同的对象equals()返回true时,那么两个对象的hashCode()必须返回相同的哈希值 同一对象多次调用hashCode()应返回相同
阅读全文
摘要:import java.util.HashSet; import java.util.Set; /** Set存储特点:数据无序、不可重复 Set接口的实现类: HashSet:Set接口的主要实现类,线程不安全,可以存储null值。 LinkedHashSet:作为HashSet的子类,遍历内部数
阅读全文
摘要:import java.util.LinkedList; import java.util.List; /** LinkedList底层采用双向链表存储。 除了实现List接口的方法外 LinkedList还提供了许多和首尾相关的方法,这些方法实现Deque接口中方法。 linkList.getFi
阅读全文
摘要:import java.util.ArrayList; import java.util.List; /** ArrayList源码分析: JDK7下: List list = new ArrayList();创建一个长度为10的Object[]数组, 若此次添加导致容量不够,调用grow()扩容,
阅读全文
摘要:#题目描述 [503. 下一个更大元素 II]https://leetcode-cn.com/problems/next-greater-element-ii/ #题解 ##本题暴力解法思路简单: 找某一元素的下一个更大元素:只需从该元素向后扫描,再从开头扫到该元素前一个位置,如果找到大于该元素的第
阅读全文
摘要:import java.util.ArrayList; import java.util.LinkedList; import java.util.List; /** List是动态数组,替换原有的数组 实现类: ArrayList(List接口的主要实现类) LinkedList Vector(L
阅读全文
摘要:/** jdk5.0新增了foreach,用来遍历集合、数组 foreach内部调用的还是迭代器 */ public class TestForeach { public static void main(String[] args) { int[] arr = new int[]{1,2,3,4}
阅读全文
摘要:import java.util.*; /** * 数组存储数据的特点: * ①一旦初始化,大小确定 * ②一旦定义,存储的类型确定且相同。 * 数组存储的弊端: * ①大小无法改变。 * ②方法较少,插入、删除元素不便且效率较低。 * ③数据有序、可重复,对于无序、不可重复的无法满足要求。 * ④
阅读全文
摘要:#题目描述与背景介绍 ##背景题目: [674. 最长连续递增序列]https://leetcode-cn.com/problems/longest-continuous-increasing-subsequence/ [300. 最长递增子序列]https://leetcode-cn.com/pr
阅读全文
摘要:题目描述 338. 比特位计数 难度:中等-简单 给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。 示例 1: 输入: 2 输出: [0,1,1] 示例 2: 输入: 5 输出: [0,1,1,2,1,2] 进阶:
阅读全文
摘要:题目描述 304. 二维区域和检索 - 矩阵不可变 难度:中等-简单 解法 解法一 利用03.01题的思路,在求区域和时,利用每行的部分和可以通过03.01的方法求出,再累加各行的和。 这样,每次查询的时间复杂度与查询的行数成正比。 代码: 1 class NumMatrix { 2 int[][]
阅读全文
摘要:题目描述 303. 区域和检索 - 数组不可变 难度:简单-中等 题解 暴力解法 题目中给的数组的最大长度为10^4,最多调用方法10^4次,每次调用方法最多全部遍历一次数组,因此暴力解法的复杂度小于10^8,可以求解。 1 class NumArray { 2 int[] nums; 3 publ
阅读全文

浙公网安备 33010602011771号