- 博客(32)
- 资源 (1)
- 收藏
- 关注
原创 CPU的架构
我们所使用过的软件都要经过CPU内部的指令集来完成。那这些指令集的设计又主要被分为两种设计理念,这就是目前世界上最常见的CPU架构,分别是:精简指令集(RISC)与复杂指令集(CISC)系统。下面我们就来谈谈这两种不同CPU架构的差异。
2022-11-06 22:32:48 438 1
原创 Java的线程池
首先,虽然与进程相比,线程是一种轻量级的工具,但其创建和关闭依然需要花费时间,如果为每一个小任务都创建一个线程,很有可能出现创建和销毁线程所占用的时间大于该线程真实工作所消耗的时间情况,反而会得不偿失。其次,线程本身也是要占用内存空间的,大量的线程会抢占宝贵的内存资源,如果处理不当,可能会导致Out of Memory异常。即便没有,大量的线程回收也会给GC带来很大的压力,延长GC的停顿时间。
2022-11-06 16:13:15 193
原创 jsp九大内置对象
jsp中的内置对象,是指Tomcat在翻译jsp页面成为Servlet源代码后,内部提供的九大对象,叫内置对象。1、request 请求对象2、respone 响应对象3、pageContext jsp的上下文对象4、sessio
2021-08-12 17:12:10 128
原创 TCP 和 UDP 的概念
文章目录前言一、TCP 和 UDP 的概念TCP协议:传输控制协议UDP协议:用户数据协议前言提示:以下是本篇文章正文内容,下面案例可供参考一、TCP 和 UDP 的概念TCP协议:传输控制协议使用TCP协议前,须先建立TCP连接,形成传输数据通道传输前,采用“三次握手”方式,是可靠的TCP协议进行通信的两个应用进程:客户端、服务端在连接中可进行大数据量传输传输完毕,需释放已建立的连接,效率低UDP协议:用户数据协议将数据、源、目的封装成数据包,不需要建立连接每个数据报..
2021-07-17 09:29:00 117
原创 Java多线程的三种创建方式
文章目录线程三种创建方式一、继承Thread类二、实现Runnable接口三、实现Callable接口拓展线程三种创建方式一、继承Thread类//创建线程方式一:继承Thread类、重写run()方法、调用start()开启线程public class TestThread extends Thread { @Override public void run() { //run方法线程体 for (int i = 0; i < 20; i+
2021-07-15 12:01:31 85
原创 Java方法重写(override/overwrite)
系列文章目录文章目录系列文章目录一、定义二、应用二、重写的规定注意一、定义在子类中可以根据需要对从父类中继承来的方法进行改造,也称为方法的重置、覆盖。在程序执行时,子类的方法将覆盖父类的方法。二、应用重写以后,当创建子类对象以后,通过子类对象调用子夫类中的同名参数的方法时,实际执行的是子类重写父类的方法。二、重写的规定方法的声明: 权限修饰符 返回值类型 方法名(形参列表){ //方法体}约定俗称:子类中的叫重写的方法,父类中的叫被重写的方法。子类重写的方法的方法名和形参列表
2021-05-27 15:17:00 387
原创 Java方法重载(overload)
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、什么是重载?1.重载的概念2.重载的特点二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文
2021-05-25 14:55:40 110
原创 二叉树的链式存储结构
文章目录前言正文总结前言上一节讲了二叉树的顺序存储,通过学习你会发现,其实二叉树并不适合用数组存储,因为并不是每个二叉树都是完全二叉树,普通二叉树使用顺序表存储或多或多会存在空间浪费的现象。本节我们学习二叉树的链式存储结构。正文图 1 普通二叉树示意图如图 1 所示,此为一棵普通的二叉树,若将其采用链式存储,则只需从树的根节点开始,将各个节点及其左右孩子使用链表存储即可。因此,图 1 对应的链式存储结构如图 2 所示:图 2 二叉树链式存储结构示意图由图 2 可知,采用链式存储二叉..
2021-04-12 19:46:18 1512
转载 二叉树的顺序存储结构
文章目录前言正文总结前言二叉树的存储结构有两种,分别为顺序存储和链式存储。本节先介绍二叉树的顺序存储结构。正文二叉树的顺序存储,指的是使用顺序表(数组)存储二叉树。需要注意的是,顺序存储只适用于完全二叉树。换句话说,只有完全二叉树才可以使用顺序表存储。因此,如果我们想顺序存储普通二叉树,需要提前将普通二叉树转化为完全二叉树。满二叉树也可以使用顺序存储。要知道,满二叉树也是完全二叉树,因为它满足完全二叉树的所有特征。普通二叉树转完全二叉树的方法很简单,只需给二叉树额外添加一些节点,将..
2021-04-12 19:17:30 950
原创 什么是二叉树
文章目录前言一、什么是二叉树二、二叉树的性质三、满二叉树四、完全二叉树总结前言为什么要重点研究每个结点最多只有两个"叉"的树? 二叉树的结构最简单,规律性最强。 可以证明,所有树都能转为唯一对应的二叉树,不失一般性。普通树(多叉树)若不转化为二叉树,则运算很难实现。本节将给大家介绍二叉树。一、什么是二叉树简单地理解,满足以下两个条件的树就是二叉树:本身是有序树;树中包含的各个节点的度不能超过 2,即只能是 0、1 或者 2;图 1 二叉树示意图二、二叉树的性质二叉..
2021-03-31 21:43:47 1895
原创 C语言中的函数
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、函数是什么?维基百科中对函数的定义: C语言中函数的分类:二、库函数1.为什么会有库函数2.简单的总结,C语言常用的库函数都有3.如何学会使用库函数总结前言数学中我们常见到函数的概念。但是你了解C语言中的函数吗?本文就对C语言的函数的基础内容进行简单的总结,仅供参考使用。错漏之处,请不吝指正。一、函数是什么?维基百科中对函数的定义:子程序在计算机科学中,子程序(英语:Subroutine, procedur
2021-03-31 15:11:27 212 1
原创 树存储结构——数据结构
文章目录前言一、树的定义二、树的结点三、子树和空树四、结点的度和层次四、有序树和无序树五、森林六、树的其他表示方式总结前言数据的逻辑结构线性结构 线性表 栈(特殊线性表) 队列(特殊线性表) 字符串,数组,广义表非线性结构 树形结构 图形结构本章所介绍的树形结构是一种非线性存储结构,存储的是具有“一对多”关系的数据元素的集合。一、树的定义树形结构 节点之间有分支 具有层次关系如图所示:树(Tree):是n(n >= 0)个结点的有限..
2021-03-30 20:39:56 394
原创 数组-数据结构
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、什么是数组存储结构二、数组的顺序存储1.多维数组查找指定元素三、特殊矩阵的压缩存储1.对称矩阵2.稀疏矩阵总结前言一说起数组,我们的印象中数组往往是某一门编程语言中包含的具体数据类型,其实不然。本节将从数据结构的角度讲解数组存储结构。一、什么是数组存储结构数组:按一定格式排列起来的。具有相同类型的数据元素的集合。一维数组:若线性表中的数据元素为非结构的简单元素,则称为一维数组。一维数组的逻辑结构:线性结构。
2021-03-30 18:09:07 914
原创 字符串-数据结构
文章目录前言二、串的定长顺序存储三、串的堆分配存储结构四、串的块链存储结构五、BF算法(串模式匹配算法)1.BF算法原理2.BF算法实现3.BF算法时间复杂度总结前言数据结构中,字符串要单独用一种存储结构来存储,称为串存储结构。这里的串指的就是字符串。严格意义上讲,串存储结构也是一种线性存储结构,因为字符串中的字符之间也具有"一对一"的逻辑关系。只不过,与之前所学的线性存储结构不同,串结构只用于存储字符类型的数据。# 一、串是什么无论学习哪种编程语言,操作最多的总是字符串。数据结构中,根据.
2021-03-28 19:07:16 1448 1
原创 qsot函数用法详解
文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport
2021-02-21 14:49:07 361
原创 队列(Queue)C语言实现 详解
文章目录前言一、队列的概念及结构二、实现队列1.实现队列建议用什么结构?2.接口的设计3.接口的实现三、测试数据总结前言你们在用电脑时有没有经历,机器有时会处于疑似死机的状态,鼠标点什么似乎都没用,双击任何快捷方式都不动弹。就当你失去耐心,打算rest时。突然他像酒醒了一样,把你刚才点击的所有操作全部按顺序执行一遍。这其实是因为操作系统中的多个程序因需要通过一个通道输出,而按先后次序排队等待造成的。这里应用了一种数据结构来实现刚才提到的先进先出的排队功能,这就是队列。本文就对算法中的队列进行简单的总结
2021-02-18 17:29:21 6627 3
原创 栈(stack) C语言实现 详解
文章目录前言一、栈的概念及结构二、使用步骤1.引入库2.读入数据总结前言当提及“栈”这个概念,很多初学者都会很迷茫。在C语言里,我们有一个内存区域叫做栈区。而在算法中,我们也有一个同名结构叫做栈。例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。一、栈的概念及结构栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进
2021-02-18 11:39:17 2593
原创 二分查找
文章目录前言一、查找过程二、算法要求三、比较次数四、算法复杂度总结前言二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。一、查找过程首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的
2021-02-05 11:51:07 382
原创 物理存储介质概述
根据不同存储介质的速度和成本,可以把它们按层次结构组织起来。层次越高的存储介质的成本越贵,但是速度越快。当我们沿着层次结构向下,存储介质每比特的成本下降,但是访问时间会增加。不同存储系统除了速度和成本不同之外,还存在存储易失性的问题。从主存向上的存储系统都是易失的,而从闪存向下的存储系统都是非易失的。层次结构中主存储介质的下一层介质(例如闪存和磁盘)称为。(teriary storage),或离线存储器(offline storage)。最快的存储介质(例如高速缓存和主存)称为。
2021-01-20 23:10:54 333
原创 C语言关键字static用法详解
概述本文就static在c语言中的应用进行总结,供参考使用。错漏之处,请不吝指正。在程序中使用static先给大家看一个程序。#include<stdio.h>void fun(){ int a = 1; a++; printf("%d ", a);}int main(){ int i = 0; while (i < 10) { fun(); i++; } return 0;}这段代码的执行结果是:原因:主函数中fun函数被调用十次,由
2021-01-20 21:59:29 678
原创 变量的作用域和生命周期
学习目标:了解并掌握变量的作用域和生命周期。作用域作用域(scope),程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效(可用的)而限定这个名字的可用性的代码范围就是这个名字的作用域。例如:1、 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。2、 全局变量的生命周期是:整个程序的生命周期。生命周期变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段例如:1、 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。2、 全局变量
2021-01-19 22:16:59 563
原创 小小的目标
学习目标:我从2020年10月接触C语言,到现在已经对C语言有个大致的了解。想通过接下来的两年学习并熟练掌握C++(最好能精通)。会坚持写博客和Github。学习内容:寒假的学习目标1、 梳理C语言的基本语法。2、 学习基本算法。3、 做一到两个游戏。(例如:贪吃蛇,推箱子,飞机大战…)学习时间:1、 大部分时间和精力用来学习(学习时间不固定)。学习产出:寒假学习的产出1、 高质量的博客(阅读量高)。2、 对IT行业有个大致的认识。...
2021-01-18 11:25:06 153 1
原创 C语言中的常量
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、C语言常量的分类二、常量的介绍1.字面常量2.const修饰的常变量2.const修饰的常变量2.const修饰的常变量2.const修饰的常变量2.const修饰的常变量总结前言我们在编程序的时候经常会遇到常量,还有变量,那么下面就和大家谈一谈什么是c语言中的常量。C语言中的常量是指,在程序的执行过程中,这个量不会发生变化,是一个固定的数据。一、C语言常量的分类C语言常量可分为:字面常量,const修饰的常
2021-01-18 10:29:53 2264
原创 ACM新生赛部分题解
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、永远的聪明王。1.题目描述2.代码如下:2.总结一、菜学长的糖糖。1.题目描述2.代码如下:3.总结总结前言ACM新生赛总结与感悟。一、永远的聪明王。1.题目描述2.代码如下:(示例):#include<stdio.h>#include<stdlib.h>struct Node//定义结构体,存放字符串和分数 { char a[100]; int score;};i
2020-12-28 19:07:35 1165
原创 处理字符串函数的实现
文章目录前言一、字符串左旋问题二、使用步骤1.引入库2.读入数据总结前言下面我会给大家介绍一些字符串函数的实现。一、字符串左旋问题示例:cdefab是abcdef左旋得到的。代码如下(示例):#include<stdio.h>#include<string.h>int left_move(char *str1,char *str2){ int len1 = strlen(str1); int len2 = strlen(str2); if(len1 != l
2020-12-13 20:40:28 385
原创 单链表的头插法-小甲鱼
单链表的头插法#include<stdio.h> #include<malloc.h>void getInput(struct Book *book);//此函数用来输入结构体中的内容 void addBook(struct Book **library);//此函数用来增加新节点 void printLibrary(struct Book *library);//此函数用来打印函数 void releaseLibrary(struct Book **library);/
2020-11-26 15:00:50 624
原创 倒叙输出一个数
倒叙输出一个数#include<stdio.h>int getlen(int n)//统计数字的长度{ int i=0; while(n) { n/=10; i++; } return i;}int getindex(int i)//求数字的指数{ int j=1; for(;i>0;i--) { j*=10; } return j;}int main(){ int n,i=0,len,lastnum=0; scanf("%d",&am
2020-11-22 10:46:58 140
原创 等腰杨辉三角C语言实现
等腰杨辉三角C语言实现#include<stdio.h>int main(){ int num[10][10]; int i,j; for(i=0;i<10;i++) { num[i][0] = 1; num[i][i] = 1; } for(i=2;i<10;i++) for(j=1;j<i;j++) num[i][j] = num[i-1][j-1]+num[i-1][j]; for(i=0;i<10;i++) { for(
2020-11-18 07:43:59 684
原创 快速排序
快速排序——C语言#include<stdio.h>int a[100];//定义全局变量,就可以在两个函数中使用了 void quicksort(int left,int right)//传递数组中的第一个值的下标和最后一个值的下标 { int i,j,temp,t; temp = a[left];//数组最左边的数设为标准 i = left; j = right; if(left>=right) return ; while(i!=j) { wh
2020-11-17 23:22:00 103
原创 摩尔投票
标题 最简单的算法——摩尔投票#include<stdio.h>int main(void){ int a[9] = {2,2,3,2,2,4,5,2,8}; int temp = a[0],count = 1;//把a[0]设置成标准,并且它有一票 int i; for(i=1;i<9;i++) { if(a[i]==temp) count++; else count--; while(count==0) { temp = a[i];
2020-11-17 23:03:57 109
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人