09 2020 档案
摘要:线程的状态(系统层面) 一个线程被创建后就进入了线程的生命周期。在线程的生命周期中,共包括新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)这五种状态。当线程启动以后,CPU需要在多个线程之间切换,所以线程也会随之在运行、阻塞、就绪这几种状态之
阅读全文
摘要:线程与进程 什么是进程? 当一个程序进入内存中运行起来它就变为一个进程。因此,进程就是一个处于运行状态的程序。同时进程具有独立功能,进程是操作系统进行资源分配和调度的独立单位。 什么是线程? 线程是进程的组成部分。通常情况下,一个进程可拥有多个线程,而一个线程只能拥有一个父进程。 线程可以拥有自己的
阅读全文
摘要:浅谈ArrayList ArrayList类又称动态数组,同时实现了Collection和List接口,其内部数据结构由数组实现,因此可对容器内元素实现快速随机访问。但因为ArrayList中插入或删除一个元素需要移动其他元素,所以不适合在插入和删除操作频繁的场景下使用。 ArrayList的容量可
阅读全文
摘要:static 关键字的作用 在 Java 中 static 关键字有4种使用场景,下面分别进行介绍: 1.static 成员变量 public class Student { // 静态成员变量 private static String SchoolName; private static int
阅读全文
摘要:题目来源: 力扣(LeetCode) 题目名称: 合并两个有序数组 题目详情: 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。 你可以假设
阅读全文
摘要:知识回顾 贪心算法(greedy algorithm),又称贪婪算法。是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是最好或最优的算法。 贪心算法在有最优子结构的问题中尤为有效。最优子结构的意思是局部最优解能决定全局最优解。简单地说,问题能够分解成子问题来解决,
阅读全文
摘要:二分查找也叫做折半查找,查找的对象是已经排好序的序列(一般默认为升序)。 让我们来看看原理:顾名思义,就是先将中间数和目标key比较,如果相等则返回其索引,否则把序列分成两半,根据大小判断所查找的key在哪一半中,对这一半序列再重复上述步骤,直到找到目标key或查找完序列。 一般的二分查找 被查找的
阅读全文
摘要:DNS简介 DNS(英文全称:Domain Name System,域名系统)是互联网的一项服务。它是将域名和ip地址相互映射的一个分布式数据库。 网络通讯大部分是基于TCP/IP的,而TCP/IP是基于ip地址的,因特网上的节点都可以用ip地址惟一标识,并且可以通过ip地址被访问。但即使是将32位
阅读全文
摘要:首先, Java语言是一种纯粹的面向对象的编程语言。这样就决定了Java语言更能直接客观地反映现实生活中的对象,因此Java语言更适合大型的复杂系统开发。 其次, Java语言是一种平台无关的语言。 Java语言是一种解释型语言,它的执行需要解释器的参与,因此Java语言实现了跨平台机制,也就是说同
阅读全文
摘要:“==”的作用: 判断两个变量栈内存中存储的值是否相等,如果相等返回true,如果不相等返回false。 有两种形式的比较需要用到比较运算符“==”,一是两个基本数据类型之间的比较,二是两个引用数据类型之间的比较。 1.两个基本数据类型之间的比较: Java中八大基本数据类型:byte,short,
阅读全文