2022年1月18日
摘要:
在之前的数据结构ADT中都介绍了基于存储结构的基本运算,其中查找是数据处理中通用的常用操作——很多其他操作,比如删除、修改都是基于查找技术。 介绍线性表查找技术之前介绍几个将要用到的术语,通用与后续查找技术: 1、查找表 查找表(Search Table)是一种以结合为逻辑结构、以查找为核心的数据结
阅读全文
posted @ 2022-01-18 20:26
池塘里洗澡的鸭子
阅读(426)
推荐(0)
2022年1月14日
摘要:
图结构(简称为图)是一种比树结构更复杂的非线性结构(多对多关系)。在树结构中结点间具有分支层次关系,而图结构中任意两个结点之间都可能相关,即结点之间的邻接关系可以是任意的。 讨论图结构的存储之前,介绍图的定义及其相关的术语: 1、图的定义:图(Graph)由一个顶点集合V和一条边(或者弧)集合E组成
阅读全文
posted @ 2022-01-14 13:21
池塘里洗澡的鸭子
阅读(933)
推荐(0)
2022年1月13日
摘要:
在数据结构之线性结构 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中介绍了线性结构的基本概念,可以知道线性结构很大一个特点就是一个结点至多只有一个前驱或后继结点。然而显示生活中或者数据抽象中存在一种情况就是元素至多一个前驱元素同时可有多个后续元素。这种结构称之为树结构。那树结构如何定
阅读全文
posted @ 2022-01-13 14:04
池塘里洗澡的鸭子
阅读(620)
推荐(0)
摘要:
在数据结构概述 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中关于线性结构有简单却形象的介绍,数据元素之间一对一的关系: 在线性结构中,有且仅有一个元素被称为“第一个”,除第一个元素之外其他元素均有唯一一个“前驱”;有且仅有一个元素被称为“最后一个”,除最后一个元素之外其他元素均有唯
阅读全文
posted @ 2022-01-13 10:43
池塘里洗澡的鸭子
阅读(696)
推荐(0)
2022年1月12日
摘要:
数据结构与数学、计算机硬件和软件有十分密切的关系。其核心技术是分解与抽象,通过对问题的抽象舍弃数据元素的具体内容就得到逻辑结构。通过分解将处理要求划分成各种功能,再通过抽象舍弃实现细节,就得到运算的定义——将上述两个方面结合将问题变换为数据结构。 数据结构是指互相之间存在着一种或多种关系的数据元素的
阅读全文
posted @ 2022-01-12 10:20
池塘里洗澡的鸭子
阅读(584)
推荐(0)
2021年12月31日
摘要:
在JVM运行时内存管理之线程共享中已经分享了线程共享内存三部分:堆、metaspace、常量池。那怎么验证数据共享在这些区域呢?通过以下几种方式进行处理: 1、将数据抽象成一个类,并将数据的操作作为这个类的方法,只要在方法上加” synchronized“数据访问即可(参考Java线程间通讯——等待
阅读全文
posted @ 2021-12-31 10:13
池塘里洗澡的鸭子
阅读(505)
推荐(0)
2021年12月30日
摘要:
在Java线程的实现/创建方式中介绍了集中线程创建的方式,最后一种是线程池的方式创建线程。那么线程池是基于什么样的原理实现的呢?线程复用——参考多线程设计模式之Worker Thread模式中自定义线程池的使用。 1、线程复用原理: 每一个 Thread 的类都有一个 start 方法。 当调用 s
阅读全文
posted @ 2021-12-30 11:08
池塘里洗澡的鸭子
阅读(970)
推荐(0)
2021年12月29日
摘要:
在JDK中实现线程同步等待闭环(FutureTask/Future),为什么使用了FutureTask中的get方法就可以实现线程的同步等待?这就将重点讲述下FutureTask这个类了,实际上Future接口和实现Future接口的FutureTask类,表示异步计算的结果。其UML类继承图,如下
阅读全文
posted @ 2021-12-29 15:41
池塘里洗澡的鸭子
阅读(1314)
推荐(0)
2021年12月28日
摘要:
Java线程的实现/创建方式实现/创建了线程,那么线程设置了哪些状态及线程对象方法对这些状态有什么样的改变呢? 首先看看线程设置了哪些状态: 通过上图可知,Thread使用内部枚举类State设置了其6中状态:new, runnable, blocked, waiting, timed_waitin
阅读全文
posted @ 2021-12-28 12:54
池塘里洗澡的鸭子
阅读(96)
推荐(0)
摘要:
1、继承Thread类: Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线程的实例。 启动线程的唯一方法就是通过 Thread 类的 start()实例方法。 start()方法是一个 native 方法,它将启动一个新线程,并执行 run()方法。 2、实现Runnab
阅读全文
posted @ 2021-12-28 10:31
池塘里洗澡的鸭子
阅读(239)
推荐(0)