Java线程 JAVA线程一、多线程基础进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元。一个进程中可以包含多个线程,这些线程共享进程的资源。 并发是指处理器通过时间片轮转等方式,在宏观上同时处理多个任务,但微观上这些任务实际上是交替执行的。并行则是指多个处理器核心真正地同时执行多个任务。在多核CPU架构下,多线程不仅能提高程序响应速度(将耗时操作放入后台线程),还能充分利用多核计算能力。 WIN 2025-10-10 网络工程 #网络工程 #Java
Java流 JAVA流流的基本概念流(Stream)在Java中是对数据序列的抽象,用于处理输入输出(I/O)操作。它代表了从一个源(如文件、网络套接字、内存缓冲区)到另一个目的地的数据流动。流不是特指网络套接字,而是涵盖了所有I/O操作,包括文件、控制台、网络等。 在计算机体系中,数据在磁盘、内存和CPU之间流动时,流充当了桥梁角色。但更准确地说,流操作通常涉及: 源(如磁盘文件)→ 内存(缓冲区)→ 程 2025-10-09 网络工程 #网络工程 #java
JAVA异常 JAVA异常异常的基本概念异常(Exception)是指程序在运行时发生的不被期望的事件,它阻止了程序按照预期正常执行。需要注意的是,编译时期出现的错误(如语法错误)通常称为编译错误,不属于异常处理的范畴。异常处理机制旨在让程序在运行时遇到错误时,能够按照预先设定的逻辑进行应对,从而尽可能恢复或优雅终止。 异常的分类Java中的异常和错误都继承自 Throwable类,其层次结构如下 Error 2025-10-09 网络工程 #网络工程 #Java
爱情 一个须臾在回家的路上,飞机进入了平流层,灯关很暗,我捧着电子书,用笔戳着平板翻页,这一切都平平静静地发生着,直到我旁边的一个女孩子靠在我的肩膀上睡着了。她的青丝散发着淡淡的香气,呼吸均匀得像潮汐拍岸。我有些慌乱,将电子书切换到夜间模式,竭力让自己的瞳孔适应微弱的亮光,左肩的压力让我有些不自在,但我尽力保持平稳,那是一种很奇妙的感觉,我的肩膀上的重量好像一颗沉入杯中的方糖,在无声中消融。我不敢在平板 2025-07-02 旅途 #随笔 #思考
数据结构8:图 图基本概念图是由顶点的有穷非空集合和顶点之间边的集合组成的。通记为 G(V, E),其中 G 表示一个图,V 是图 G 中顶点的集合,E 是边的集合V(G) 和 E(G) 通常分别表示图 G 的顶点集合和边集合。 对于图这种数据结构,不允许没有顶点,但边集可以为空。(点可以是孤立的) 简单图与多重图1.图中不能有指向自身的环 2.同一条边在图中不能出现两次或以上 不满足以上两条限制的图称为多重图 2025-05-27 网络工程 #网络工程 #算法 #数据结构
数据结构7:树与二叉树 树与二叉树树是一种非线性数据结构,由 n(n≥0) 个有限节点构成具有层次关系的集合。 一些概念结点:树中的一个独立单元。 结点的度:结点拥有的子树数称为结点的度。树的度:树内各结点度的最大值。叶子:度为 0 的结点或终端结点。非终端结点:度不为 0 的结点。双亲和孩子:结点的子树的根称为该结点的孩子,相应地,该结点称为孩子的双亲。层次:结点的层次从根开始定义,根为第一层,根的孩子为第二层,以此类 2025-05-25 网络工程 #网络工程 #算法
数据结构6:表达式求值 表达式求值C语言表达式求值是一个综合优先级、结合性、类型转换和副作用处理的复杂过程。 表达式的书写形式有中缀表达式和后缀表达式两种。 中缀表达式是人类最常用的数学表达式形式,其特点是运算符位于两个操作数中间,后缀表达式将运算符置于操作数之后,后缀表达式使用栈结构对于计算机具有很高的计算效率。 实例82/2+56*-是一个后缀表达式。 数字8入栈,位于栈的底层。 数字2入栈 运算符/入栈,以取栈顶 2025-05-23 网络工程 #网络工程 #算法
数据结构5:栈和队列 数据结构4:栈和队列栈栈(stack)是限定仅在表尾进行插入或删除操作的线性表。因此对栈来说,表尾端有其特殊含义,称为栈顶(top),相应地,表头端称为栈底(bottom)。不含元素的空表称为空栈。假设 S=(a1, a2, …, an),则称 a1 为栈底元素,an 为栈顶元素。栈中元素按 a1, a2, …,an 的次序进栈,退栈的第一个元素应为栈顶元素。换句话说,栈的修改是按照后进先出的原则 2025-04-06 网络工程 #网络工程 #算法
数据结构4:双向链表 数据结构4:双向链表前情提要上次我们讲到了局部有环的单链表。 循环链表:找出入口和长度现在需要你找出一个循环链表的环入口。 我们的步骤是: 设定快指针的速度是慢指针的两倍。 当快慢指针相遇时,慢指针已经走了 k 步,快指针走了 2k 步。 当快慢指针相遇时,我们已经进到了环中 现在设立一个新指针指向快指针,使其遍历并记录步数直到与快慢指针相遇,步数就是环长度。 初始化快慢指针为头指针,然后让快 2025-04-05 网络工程 #网络工程 #算法
数据结构3:链表的运用和循环链表 数据结构3:链表的运用写在前面:链表是数据结构中很重要的一个,为此,我会单开一个章节来记录链表的使用,请不要好高骛远。 例题一:倒数定位 假设该链表只给出了头指针S。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该节点的data域的值,并返回1;否则,只返回0。 值得注意的是,如果我们一直遍历到链表的末尾,再掉头,无疑会导致 2025-04-04 网络工程 #网络工程 #算法