自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 收藏
  • 关注

原创 常见网络协议汇总

常用网络协议前言TCP/IP五层网络模型回顾应用层协议DNS协议:HTTP协议HTTPS协议传输层协议UDP协议TCP网络层IP协议ICMP协议数据链路层ARP协议物理层整体的网络传输流程前言本篇博客将对基于 TCP/IP的五层网络模型 中的常见协议做以总结 ,目的通过这些具体的协议更深刻的认识整体网络的传输流程及相关网络原理TCP/IP五层网络模型回顾应用层:为用户为用户的应用进程提供网络通信服务协议——DNS协议、HTTP协议、HTTPS协议传输层:负责两台主机之间的数据传输,将数据从发

2021-08-07 22:07:31 59358 32

原创 基于TCP实现的HTTP服务器+Servlet容器

项目目录前言项目简介涉及知识预研HTTP协议TCP 协议与 Socket 套接字编程实现基本原理对于HTTP服务器对于Servlet容器整体工作流程整体流程框架初始化操作具体流程处理HTTP请求具体流程项目模块模块具体实现标准制定模块HTTP服务器模块动态资源模块重点部分详解类加载器加载Servlet类加载器cookie+session的设置整体流程分析源码项目的边界与总结前言本篇博客与大家分享的是个人实现的一个HTTP服务器+Servlet容器,其可以理解为极小级的 tomcat 内部功能涉及存储多个

2021-07-31 22:50:02 746

原创 Linux常用指令(小结)

Linux常用指令对目录或文件操作的基本指令ls指令pwd指令cd指令touch指令mkdir指令rm指令cp指令mv指令man对文件操作的基本指令vi指令对目录或文件操作的基本指令ls指令功能: 对于目录,会列出该目录下的子目录与文件,对于文件,会列出文件名和其他相关信息语法: ls [选项] [目录或文件]常用选项:ls -a :列出目录下的所有文件ls -d :将目录以文件形式显示ls -k :以k字节的形式表示文件大小ls -l : 列出文件的详细信息ls -r :对目录反向

2021-08-12 16:01:10 32354 50

原创 软件测试相关小结

测试软件测试要知道的知识软件测试的生命周期bug的级别bug的生命周期与开发人员产生争如何解决敏捷开发的流程V模型和W模型测试用例测试用例的设计方法测试的分类按开发阶段分按测试实施分按是否运行分按是否手工分按是否查看代码分seleniumselenium工具集webdriver测试被问到的问题软件测试要知道的知识软件测试的生命周期需求分析 ——> 测试计划 ——> 测试设计、测试开发 ——> 测试执行 ——> 测试评估bug的级别Blocker(崩溃)造成系统崩溃、死机

2021-08-05 23:26:23 1436 4

原创 MySQL数据库(小结)

MySQL数据库前言数据库概念:引入的目的:数据库的分类mySQL组成基本操作库操作和表操作数据的增删查改MySQL有关权限的表主键和外键主键与外键的区别联合查询drop、truncate、delete三者的区别inner join,left join,right join之间的区间数据库三大范式索引概念作用与使用方法底层实现为什么MySQL的索引底层要使用B+树索引的使用场景事务概念事务的四大特性数据库的使用脏读、幻读、不可重复读什么是事务的隔离级别MySQL的锁MySQL中的死锁数据库的乐观锁和悲观锁M

2021-08-03 23:55:28 1184 1

原创 多线程环境下Java如何实现线程安全

线程安全前言多线程环境下面临的风险分析造成线程安全问题多线程不安全的原因解决线程安全问题的方法synchronized关键字synchronized的具体操作synchronized底层实现原理前言本篇博客将根据现有知识对Java多线程做以小结,以下博客仅作为个人学习过程的小结,如能对各位博友有所帮助不胜荣幸。本篇博客将简单介绍线程安全的概念,以及实习线程安全的几种方法,重点叙述了几种常用的加锁操作,后期随学习深入还会补充修改。多线程环境下面临的风险之前介绍到,多线程的引入很大的提高了一个任务执行

2021-07-23 11:58:58 1293

原创 Java多线程

Java多线程前言进程与线程进程概念线程概念为什么要在代码中引入多线程?并发编程及优缺点并发编程的三要素并发、并行、串行的区别线程与进程的区别上下文切换守护线程和用户线程的区别用户态和内核态创建线程的几种方式Runnable 和 Callable的比较线程的run()和start()的区别为什么调用start()方法时会执行run()方法,而不是直接调用run()Callable和FutureFutureTask线程的状态和基本操作线程的生命周期和五种基本状态java中线程的调度策略前言本篇博客将根据现

2021-07-23 11:58:29 298

原创 网络原理(小结)

网络传输原理网络七层/五层模型OSI七层网络模型TCP/IP 五层网络模型封装和分用TCP/IP五层网络模型各层代表协议的详解应用层常见状态码HTTP常见Header头ServletSession和CookieHTTP协议的特点HTTPS传输层网络七层/五层模型OSI七层网络模型OSI七层网络模型称为开放式系统互联参考模型,是一个在逻辑上定义的模型OSI七层模型是一种理想的框架性设计,其主要功能是区分不同类型的主机数据传输但实际上它并不实用,只是理论上的模型,最为常用的则是TCP/IP五层模型

2021-07-07 20:08:50 3130 11

原创 Java虚拟机(JVM)小结

Java虚拟机Java内存模型JMM概念各个内存区域分析类加载机制GC垃圾回收机制内存泄漏与内存溢出Java内存模型JMM概念JMM即Java内存模型(Java Memory Model),其是虚拟机用来定义一个一致的跨平台内存模型,以让Java程序达到“一次编译,到处运行”的能力。Java内存模型描述了一个程序的各个变量之间的关系,以及在实际计算值系统中变量存储到内存和从内存中取出变量的底层细节。JMM规定了所有变量都存储在主内存中,每个线程拥有自己的工作内存,其工作内存中保存着该线程使用的变

2021-06-28 17:13:39 214

原创 Java中泛型与包装类的小结

近期刚刚开始接触Java,特此根据现有知识对Java的泛型和包装类做以小结,以下博客仅作为个人学习过程的小结,如能对各位博友有所帮助不胜荣幸。本篇博客将对Java中的泛型和包装类做以简单介绍,以及其注意事项有哪些,只做本人小结,后期随学习深入再做补充修改。泛型...

2021-06-23 17:03:45 242 1

原创 ConcurrentHashMap

ConcurrentHashMap1.7的实现概念及背景由上述得知,HashMap是线程不安全的,而其它两种HashTable和Collections.synchronizedMap性能又很差,因此在这种并发环境下,为了能够兼顾线程安全以及执行效率,ConcurrentHashMap就应运而出了ConcurrentHashMap 其底层可以看做一个二级的 HashMap,第一层存储的是 Segment 数组对象,每个 Segment 存储着一个 HashEntry 数组,其下存储着很多 key-val

2021-06-21 12:02:05 568 8

原创 HashMap

哈希表概念及背景在顺序表和平衡树中查找元素时,每次查找一个元素都要遍历整个集合进行多次的元素比较,其效率由其比较的次数决定,顺序表中查找的时间复杂度为O(n),平衡树中为O(log(n))而理想的查找方式是,创建一种数据结构,通过某用函数计算给出一个元素的计算值,再将这些计算值与元素在集合中存储的位置之间建立映射关系,使得查找一个元素时,通过函数的计算值可以直接找到其存储位置,不许要经过任何比较,如此一来查找的效率就有了大幅的提高上述提到的这种方法叫做哈希方法,其中用到计算位置的函数叫做哈希函数,用

2021-06-18 14:35:57 337

原创 Java中的Set、Map(二叉搜索树篇)

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例

2021-06-16 22:20:28 651 7

原创 七大排序算法总结

七大排序算法前言七大排序算法总览插入排序原理实现性能优化:二分插入排序希尔排序原理实现性能选择排序原理实现性能优化:双向选择排序堆排序原理实现性能冒泡排序原理实现性能快速排序原理实现性能优化归并排序原理实现性能对海量数据进行排序排序算法的稳定性概念:具有稳定性的排序算法:稳定性存在的意义:七大排序算法的比较前言本篇博客将根据现有知识对数据结构七大排序算法做以小结,以下博客仅作为个人学习过程的小结,如能对各位博友有所帮助不胜荣幸。本篇博客将简单介绍七大排序算法的概念原理应用,以及各自优点及区别,只做本人

2021-06-16 22:20:06 380

原创 堆及Java对象的比较

堆概念原理操作应用(优先级队列)对象间常用比较方式equals、compatible和comparatorJDK中PriorityQueue比较的底层实现

2021-06-16 22:19:47 150

原创 浅谈Java中异常处理

浅谈Java中异常处理本篇博客将根据现有知识对Java中异常处理做以小结,以下博客仅作为个人学习过程的小结,如能对各位博友有所帮助不胜荣幸。本篇博客将简单介绍Java中异常的认识,以及Java中异常如何捕获,只做本人小结,后期随学习深入再做补充修改。了解异常所谓异常就是指程序在运行时出现的错误时通知调用者的一种机制,其最重要的方面之一就是如果发生问题,它将不允许程序沿着其正常的路径走下去,异常带来的另一个好处是它往往能降低错误处理代码的复杂度数组越界异常空指针异常…如何捕获异常前置知识

2021-06-09 20:16:38 248 5

原创 Java中String、StringBuffer及StringBuilder(小结)

String类是java中常用来对字符串操作的一个类,java程序中所有的字符串文字都可被实现为此类的实例。与之还有StringBuffer和StringBuilder两个类可对字符串进行操作,下面将对前面提到的这三个类做以总结。String...

2021-06-09 13:59:58 343 2

原创 二叉树总结

二叉树近期开始接触 二叉树 相关知识,特此根据现有知识对栈和队列做以小结,以下博客仅作为个人学习过程的小结,如能对各位博友有所帮助不胜荣幸。本篇博客将简单介绍相关知识,以及其注意事项有哪些,只做本人小结,后期随学习深入再做补充修改。一、树结构:树形结构是一种非线性结构,不同于线性表,它是一层次的嵌套结构,因为其内外层结构相似,所以经常使用递归表示。其元素之间为一对多的关系,数状图是一种典型的树形结构。如上图所示,就是一棵树,方向由上往下延伸每一个圆圈叫做结点,最上面的结点(A)称为根结点,一个

2020-11-11 11:05:02 1238

原创 栈和队列(小结)

栈和队列近期开始接触栈和队列相关知识,特此根据现有知识对栈和队列做以小结,以下博客仅作为个人学习过程的小结,如能对各位博友有所帮助不胜荣幸。本篇博客将简单介绍相关知识,以及其注意事项有哪些,只做本人小结,后期随学习深入再做补充修改。一、栈:概念栈是一种特殊的线性表,在结点上的操作受到了限制,即上篇博客所提及的受限线性表。只能固定的从一段插入和删除结点,通俗上将允许进行插入删除操作的一端称为栈顶,想应的另一端称为栈底。将结点插入到栈顶中的操作称为入栈,而将栈顶结点删除的操作称为出栈。他的特点为

2020-11-06 18:06:35 884

原创 Java集合框架及接口浅谈

Java集合框架及接口浅谈近期开始接触Java框架的相关知识,特此根据现有知识对Java集合框架做以小结,以下博客仅作为个人学习过程的小结,如能对各位博友有所帮助不胜荣幸。本篇博客将简单介绍Java集合框架及接口的相关知识,以及其注意事项有哪些,只做本人小结,后期随学习深入再做补充修改。一、集合与Java集合框架的简介所谓集合可以看做储存对象信息的一种容器而集合框架即为了表示和操作集合而规定的一种统一的标准的体系结构Java集合框架(Java Collections Framework),此处

2020-11-04 22:16:08 270

原创 数据结构List浅谈(Java描述)

数据结构List浅谈(java描述)List(线性表):List线性表是一种最基本、最简单、同时也是最常用的一种数据结构,一个线性表是具有n个相同类型数据元素的有限序列,其中数据元素之间的关系都是一一对应的。其特征有:集合中必存在唯一的一个“第一元素”集合中必存在唯一的一个“最后元素”除最后一个元素之外,均有唯一的后继除第一个元素之外,均有唯一的前驱此处所指的 “线性” 只是逻辑上的线性,所以双向链表、循环链表也属于线性表在逻辑上细分,线性表可分为一般线性表和受限线性表,一般线性表就是

2020-11-04 22:15:35 351

原创 Java基本变量和运算符(小结)

近期刚刚开始接触Java,特此根据现有知识对Java基本和运算符做以小结,以下博客仅作为个人学习过程的小结,如能对各位博友有所帮助不胜荣幸数据类型Java数据类型大类分为两种:基本数据类型和引用数据类型Java的基本数据类型共计8种,又可分为数值类,字符类及布尔类,接下来分别予以说明数值类:int:在Java中一个 int 占4个字节,所能表示的范围为:-231~231-1;int类型数据范围图Java中如果类型定义的变量,初始化所赋的值大于该类型的最大值(或小于该类型的最小值)则程序直接

2020-11-04 22:15:11 205

原创 Java面向对象编程

近期刚刚开始接触Java,特此根据现有知识对Java面向对象做以小结,以下博客仅作为个人学习过程的小结,如能对各位博友有所帮助不胜荣幸。本篇博客将简单介绍Java面向对象编程时如何实现的,以及其注意事项有哪些,只做本人小结,后期随学习深入再做补充修改。因为已在之前博客中介绍了什么是类什么是对象,这里不做过多讲解,有需要可以跳转至之前博客浏览Java类和对象的认识Java面向对象编程1、包的认识1.1:包的概念包是组织、整合类的一种方式其目的在于保证使用类的唯一性(同一个包中,里面所包含的类名是

2020-08-12 12:40:56 515

原创 Java类和对象知识点(小结)

近期刚刚开始接触Java,特此根据现有知识对Java基本和运算符做以小结,以下博客仅作为个人学习过程的小结,如能对各位博友有所帮助不胜荣幸。本篇博客将简单介绍Java对象的认识,以及类的基本使用规则,只做本人小结,后期随学习深入再做补充修改。Java类和对象:1、对象的认知Java与C面向过程的不同,Java是一门面向对象的语言,将一个事情的解决方案拆分成面向多个对象,靠对象间交互完成实现。面向过程就是注重,实现整个时间所涉及的行为,就是功能。面向对象就是注重,参与过程的主体,就是通过逻辑将多个

2020-07-27 00:23:49 650

原创 C语言实现(简易)扫雷游戏

扫雷是曾经每台Windows系统电脑上都带有的小游戏,每个人或多或少对它有回忆,但随着时代的发展,曾经风靡的扫雷游戏已经被越开越多游戏所代替,今天我们就用C语言实现扫雷游戏,一起重温曾经的回忆。扫雷游戏:功能描述:本次实现的扫雷游戏,玩家进入游戏后需要选择输入对应格子的坐标,若此格子有雷,则游戏结束,若没有雷,则会提示玩家该格子为中心周围的8个格子中共有几颗雷,直到所有格子选择完毕,玩家即获...

2020-05-06 15:31:56 530

原创 C语言实现(简易)井字棋

井子棋承载了每个人孩童时的美好时光,小到书本、纸张,大到课桌、墙壁,总能找到井字棋盘的痕迹。今天我们就来实际操作一番,用C语言完成一个简单的井字棋游戏,让我们一起重温美好。棋盘如下:**功能描述:**棋盘共分为九个格子,一方执“O”为棋,一方执“X”为棋,双方依次选择格子。己方棋子率先连成三子的获胜,若棋盘占满仍未分胜负,则打成平局。具体功能实现:在页面选择玩家vs玩家,或玩家vs电脑...

2020-05-06 10:31:56 3603

原创 2020.04.11

//猜数字游戏#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<time.h>void menu() { printf("************************\n"); printf("*********1.play*********\n...

2020-04-18 12:29:10 140

原创 2020.04.04

//给定两个数,求这两个数的最大公约数#include<stdio.h>#include<stdlib.h>int Com(int a, int b) { int i; int result = 0; for (i = 1; i <= min(a, b); i++) { if (a%i == 0 && b%i == 0) resu...

2020-04-10 15:53:59 171

原创 2020.04.01(hualahuala)(homework)

//将三个数从小到大输出#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>void sort(int a[]) {//构造一个排序函数//选择排序 int i,j; int temp=0; for (j = 0; j < 2; j++) { for (i = 0; ...

2020-04-01 23:20:31 141

原创 2020.03.28

题目描述kk穷的只剩下钱,但是她却很不喜欢这种感觉,这都只是数字,所以她希望让自己一无所有,把数字变为0她现在有一种花钱方式:每一步有两种选择:1. 让数字减一 2.将数字整除k 当数字能够整除k时她需要你帮她计算需要多少步,才能变为0输入有t组输入样例,每组输入样例包括 数字 n 和 k ( 2 <= n <= 10^18 2 <= k <= 10 ^ 1...

2020-03-28 15:43:55 189

原创 2020.03.28

两整数求最大值//求两个函数最大值#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int Max(int num1, int num2) { //建立一个函数用于判断大小 int max = 0; //定义一个整型变量用于存放判断得出的最大值 if (num1 > n...

2020-03-28 11:52:05 122

原创 2020.03.26

**//各位勇敢者要玩的第一个游戏是什么呢?很简单,它是这样定义的://1、 本游戏是一个二人游戏;//2、 有一堆石子一共有n个;//3、 两人轮流进行;//4、 每走一步可以取走1…m个石子;//5、 最先取光石子的一方为胜;////如果游戏的双方使用的都是最优策略,请输出哪个人能赢。//输入//输入数据首先包含一个正整数C(C <= 100),表示有C组测...

2020-03-26 12:24:33 140 3

原创 2020.03.11

//经过重重笔试面试的考验,小明成功进入 Macrohard 公司工作。//今天小明的任务是填满这么一张表://表有 n 行 n 列,行和列的编号都从1算起。//其中第 i 行第 j 个元素的值是 gcd(i, j)的平方,//gcd 表示最大公约数,以下是这个表的前四行的前四列://1 1 1 1//1 4 1 4//1 1 9 1//1 4 1 16//...

2020-03-11 23:43:14 207

原创 2020.03.10

//========================================================================================//小明买了块高端大气上档次的电子手表,他正准备调时间呢。//在 M78 星云,时间的计量单位和地球上不同,M78 星云的一个小时有 n 分钟。//=================================...

2020-03-10 23:39:54 143

原创 2020.03.09

在这里插入代码片

2020-03-09 22:07:42 117

原创 2020.03.08

**//x星球的钞票的面额只有:100元,5元,2元,1元,共4种。//小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱。//小明有点强迫症,他坚持要求200元换出的零钞中2元的张数刚好是1元的张数的10倍,//剩下的当然都是5元面额的。//银行的工作人员有点为难,你能帮助算出:在满足小明要求的前提下,最少要换给他多少张钞票吗?//(5元,2元,1元...

2020-03-08 23:10:57 201

原创 2020.03.07

//在图中的九个点上,空出中间的点,其余的点上任意填入数字1到8;//1的位置固定不动,然后移动其余的数字,使1到8顺时针从小到大排//列.移动的规律是:只能将数字沿线移向空白的点.请编程显示数字//移动过程。 // ○---○---○// | \ | / |// | \ | / |// ○---○---○// ...

2020-03-07 23:54:38 194

原创 2020.03.06

**//桌子上有25颗棋子,游戏双方轮流取子,每人每次最少取走一//颗棋子,最多可取走3颗棋子。双方照这样取下去,直到取光所//有的棋子。于是双方手中必然一方为偶数,一方为奇数,偶数方//为胜者。请编程实现人机游戏。**#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>voi...

2020-03-06 22:40:28 461 1

原创 2020.03.05

//如果整数A的全部因子(包括1,不包括A本身)之和等于B//且整数B的全部因子(包括1,不包括B本身)之和等于A,//则将整数A和B称为亲密数。求3000以内的全部亲密数#include<stdio.h>#include<stdlib.h>void fun(int n) { int i,j; int a = 0; int b = 0; for (i = ...

2020-03-05 23:27:51 144

原创 2020.03.04

**//编写函数fun(int n),它的功能是:计算正整数n//的所有因子(1和n除外)之和作为函数值返回//例如:n=120时,函数值为239**#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int fun(int n) { //建立一个函数找出一个数的所有因子进行加...

2020-03-04 22:39:04 1182

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除