自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 七大排序之快速排序

本问主要讲解了快速排序算法,包括二路快排和三路快排。

2022-08-31 22:47:51 325 1

原创 七大排序之归并排序

本文介绍了七大排序中的归并排序,包括归并排序的思路、代码和相关习题。

2022-08-29 11:29:09 275

原创 七大排序之选择排序

本问介绍了选择排序和堆排序。

2022-08-26 11:43:47 226

原创 七大排序之插入排序

本文介绍了插入排序和希尔排序,插入排序包括直接插入排序和折半插入排序,而希尔排序就是利用插入排序来完成排序的,所以它也算是一种插入排序。

2022-08-24 18:00:27 239

原创 Servlet工作原理

本文主要介绍了Servlet的工作原理,包括Servlet相关接口、Servlet的生命周期和Servlet如何和Servlet 容器配合工作。

2022-08-23 16:58:00 3461

原创 从输入URL到展示出页面发生了什么

本文简单的描述了从输入URL到页面展示中间发生了什么

2022-08-22 16:38:24 413

原创 Cookie和Session

本篇文章讲述了Cookie和Session机制,包括Cookie和Session是如何配合工作的、Cookie和Session的区别、分布式Session问题

2022-08-20 18:39:37 247

原创 HTTPS协议详解

本文简单讲述了HTTPS协议的基本内容,包括HTTPS的工作过程,对于非对称加密和证书进行了详细的描述,对HTTPS和HTTP进行了对比。

2022-08-02 18:53:01 2055

原创 HTTP协议详解

本问简单介绍了HTTP协议的相关知识,包括对 URL 的认识、对HTTP协议请求和响应的认识,并且罗列了HTTP的方法,简单的对GET和POST方法进行了对比。

2022-08-01 18:49:46 1020

原创 网络协议及相关技术详解

本问主要讲述了网络中的各种协议以及相关技术,例如DNS协议、ARP协议、NAT技术等。

2022-07-30 21:27:34 1048

原创 网络层重点协议——IP协议

本文仅仅简单介绍了IP地址的概念和IP协议的相关内容,如果你觉得有收获的话,就留下你的👍吧!!!

2022-07-29 11:12:18 1001

原创 传输层重点协议

本文介绍了传输层的UDP和TCP协议。

2022-05-29 10:12:50 115

原创 网络中的基本概念

网络基本原理

2022-05-22 22:26:25 128

原创 线程总结篇

多线程总结

2022-05-17 21:40:17 1129 1

原创 揭晓计算机的神秘面纱——计算机是如何工作的(二)

当前计算机技术获得了迅猛发展,广泛的应用于人们的日常生活中,给人类的生活带来了巨大的便利,随着社会发展,越来越多的人对计算机产生了浓厚的兴趣,下面我就带大家来揭开计算机的神秘面纱,学习计算机是如何工作的!

2022-05-02 15:23:31 612

原创 揭晓计算机的神秘面纱——计算机是如何工作的(一)

当前计算机技术获得了迅猛发展,广泛的应用于人们的日常生活中,给人类的生活带来了巨大的便利,随着社会发展,越来越多的人对计算机产生了浓厚的兴趣,下面我就带大家来揭开计算机的神秘面纱,学习计算机是如何工作的!

2022-04-18 22:34:26 343 1

原创 Java反射机制

Reflection(反射)是Java程序开发语言的特征之一,它允许运行中的Java程序对自身进行检查,或者说“自省”,下面就让我们一起来学习Java反射!!!

2022-04-11 11:09:52 140

原创 二叉树的学习——进阶面试题篇

最近一直在学习数据结构,学习的过程中不禁感叹编程真是一件有趣的事情,学完二叉树之后,彻底拜倒在递归的石榴裙下,脑子里只剩下一句话——多么神奇的递归啊!尤其是在写各种面试题时,这里就记录一下和二叉树有关的面试题吧!

2022-03-22 16:43:44 775 1

原创 二叉树的学习——基础面试题篇

最近一直在学习数据结构,学习的过程中不禁感叹编程真是一个神奇的东西,当我学习完二叉树后,彻底拜倒在递归的石榴裙下,脑子里只剩下一句话——多么神奇的递归啊!尤其是在写各种面试题时,这里就记录一下和二叉树有关的面试题吧!

2022-03-10 19:57:44 376 2

原创 二叉树的学习——遍历篇

本文介绍了二叉树的前序遍历、中序遍历、后序遍历以及层序遍历。

2022-03-09 17:15:47 774 1

原创 堆的几种应用

一、优先级队列优先级队列:底层基于堆的队列,可以按照元素间优先级的大小动态顺序出队。基于最大堆的优先级队列:import queue.Queue;/** * 基于最大堆的优先级队列实现,值越大优先级越高 * 队首元素就是优先级最大的元素 */public class PriorityQueue implements Queue<Integer> { private MaxHeap heap; public PriorityQueue(){ ..

2022-03-09 09:34:11 633

原创 堆的基本操作

目录一、堆(heap)1.1 基本概念二、堆的基本操作2.1 向最大堆中添加一个元素2.2 取出堆中最大元素2.3 堆化(heapify)三、源代码一、堆(heap)1.1 基本概念堆:堆在逻辑上就是一颗完全二叉树,物理上是保存在数组中。特点:最大堆/大根堆:堆中根节点的值大于等于子树中的节点值。 最小堆/小根堆:堆中根节点的值小于等于子树中的节点值。 在最大堆中,只能保证当前根节点大于等于子树的所有节点,但是节点的大小关系和所处的层次无关。 堆的基

2022-03-07 16:04:52 1091

原创 栈和队列习题整理

一、括号匹配问题题目描述如下:解题思路:使用栈来解决,扫描字符串,当碰到左括号时直接入栈,当扫描到右括号时,弹出栈顶元素查看是否匹配,不匹配直接false,否者重复上述流程。两个边界问题:扫描完字符串,栈不为空时,说明左括号多了,没有相匹配的右括号,直接false。 扫描到第一个右括号时,发现栈为空,说明右括号是该字符串的第一个字符,没有相匹配的左括号,直接false。代码如下:public class Num20 { public boolean isValid...

2022-02-19 16:46:58 627

原创 什么是泛型?

泛型:就是指在类定义时不会设置类中的属性或方法参数的具体类型,而是在类使用时(创建对象)再进行类型的定义。会在编译期检查类型是否错误。

2022-02-06 15:35:15 32773 5

原创 内部类是什么类?

内部类:所谓内部类,就是将类结构的定义套在另一个类的内部,内部类也属于一种封装。内部类分为四种:成员内部类、静态内部类、方法内部类、匿名内部类。一、成员内部类成员内部类:直接定义在类中,不加任何修饰符(static)定义的类。特点:内部类和外部类可以方便的互相访问彼此的private域。1.1成员内部类的使用方法①成员内部类的创建需要依赖外部类对象,在没有外部类对象之前,无法创建成员内部类对象。②内部类是一个相对独立的实体,与外部类不是 is-a 关系。③内部类可以直接访..

2022-02-02 13:35:01 1063

原创 Object类、包装类、集合类

一、Object类1.1 Object类的特点Object类:是所有类的默认父类(不需要使用extends显示继承),因此Object类的所有方法(private除外),所有类的对象都能用。Java中对Object类做了扩充,Object类不仅是所有类的父类,只要是引用数据类型,都可以向上转型变为Object,包括数组和接口。Object类型可以接收所有引用数据类型。Object是引用数据类型的最高参数统一化,如果你设计的方法需要接收所有引用数据类型,类型声明为Obj...

2022-01-30 16:58:57 1496

原创 Java中的异常

一、什么是异常所谓异常指的就是程序在运行时出现错误时通知调用者的一种机制。常见异常如下所示:除0异常:空指针异常:数组越界异常:防御式编程:LBYL:在操作之前就做充分的检查EAFP:先操作,遇到问题再处理二、异常的基本用法2.1基本语法try{ //存放所有有可能出现的异常;}[catch(捕获相应的异常)...[0...N]]{ //出现相应异常后处理方式}[finally]{ //无论是否发生异常,都会执行f...

2022-01-28 16:06:47 495

原创 String类

一、创建字符串9String是用final修饰的,final修饰的不能有子类。1.1创建字符串的方式①.直接赋值法:String str="hello word";字面量:直接写出来的值称为字面量,上面的 "hello word" 就是字符串字面量。②.通过new来创建字符串对象:String str=new String("hello word");③.通过char数组来创建字符串:char[] data={'h','e','l','l','o'}; String str=..

2022-01-27 14:13:28 205

原创 面向对象编程

一、包1.1 包的定义包:是组织类的一种方式,就是一个文件夹,使用package定义一个包,主要目的是解决类名称重复问题。包的命名规则:和项目命名规则相同,全部小写,多个单词使用下划线分隔。1.2 导入包中的某个类①使用java.util.Date引入java.util这个包中的Date类:②使用import语句导入:③将java.util这个包中的类全部导入:④当两个包中都有相同名称的类时:1.2.1 静态导入使用 import stat...

2022-01-12 15:08:05 1711 1

原创 Java顺序表

目录一、线性表二、顺序表2.1代码分析2.1.1 扩容2.1.2在数组头部插入元素2.1.3在数组尾部插入元素2.1.4在数组任意位置插入元素2.1.5删除指定索引位置的元素2.1.6删除数组中所有值为value的元素三、完整代码一、线性表线性表:线性表是n个具有相同特性的数据元素的有限序列,常见的线性表有顺序表、链表、栈、队列、字符串......线性表在逻辑上是线性结构,也就时说是连续的一条直线。但是在物理结构上并不是连续的,线性表在物理上存储时,

2021-12-02 16:30:31 646 1

原创 Java中的类和对象

目录一、类与对象的初步认识1.1类与对象1.2类的定义:1.3类的实例化:二、类的成员2.1 字段/属性/成员变量2.2 static关键字(与对象无关!)2.2.1 修饰属性2.2.2 修饰方法2.2.3 代码块2.2.4修饰类2.2.5 注意事项三、封装3.1 public和private3.2 getter和setter四、构造方法4.1 构造方法4.2 this关键字五、认识代码块5.1 构造代码块5.2 静态代

2021-11-29 20:33:49 276 1

原创 Java实现汉诺塔

1、图解如下2、汉诺塔规则:编程实现将n个盘子从A移动到C,盘子编号从1到n 每次只能移动一个盘子 大盘子只能放在小盘子下面3、思路4、代码如下public class Han { public static void main(String[] args) { hanoiTwoer(3,'A','B','C'); } public static void hanoiTwoer(int nDisks,char A,char B.

2021-11-25 17:51:20 780 2

原创 ·多数元素

题目内容:给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例1:输入:[3,2,3]输出:3示例2:输入:[2,2,1,1,1,2,2]输出:2第一种方法:排序法将数组排序变成有序数组,众数一定出现在中间位置,因为众数的个数大于数组长度的一半。代码如下:public class MoreNum { public static voi.

2021-11-24 22:01:43 241 2

原创 Java方法与数组

一.方法的定义与使用//方法定义public static 返回值声明 方法名称(参数类型 参数名称 ...){ 方法体代码; [return 返回值];}//方法调用返回值变量=方法名称(实参...);在没有返回值的方法中使用return; 表示提前结束方法的调用。 java中没有函数声明的概念,一旦定义一个方法就必须写它的实现。 调用该方法与该方法定义的位置无关,可以在方法实现代码之前调用该方法。 java方法的参数传递只有值传递,只是将实参的值复制一份给形参。

2021-11-22 19:52:35 218 1

原创 java数据类型与逻辑控制

目录一.变量1.1数据类型1.2字符串类型变量1.3变量的命名规则二.常量三.类型转换与数值提升3.1类型转换3.2数值提升3.3 int 和 String 之间互相转换四.分支结构五.循环结构六.输入输出6.1输入6.2输出一.变量1.1数据类型java中数据类型如下图所示:1.2字符串类型变量语法格式:String 变量名="初始值";转义字符:转义字符 \n 换行 \t 水平制表符 .

2021-11-18 16:21:20 324 1

原创 模拟实现strstr,memmove

const char * strstr ( const char * str1, const char * str2 ); char * strstr ( char * str1, const char * str2 );strstr函数是一个查找子串的函数,用法如下:#include <stdio.h>#include <windows.h>int main(){ const char* str = "12345abcdefg"; co.

2021-11-10 17:21:37 93 2

原创 指针笔试题整理

笔试题1:#include <stdio.h>#include <windows.h>int main(){ int a[5] = { 1, 2, 3, 4, 5 }; int* ptr = (int*)(&a + 1); printf("%d,%d\n", *(a + 1), *(ptr - 1)); system("pause"); return 0;}解题思路:&a代表整个数组的地址,&a+1代表下一个数组的地址,而下一个数组

2021-10-25 23:31:19 110 2

原创 qsort函数

void qsort (void* base, size_t num, size_t size, int (*compar)(const void*,const void*));

2021-10-23 15:53:42 99 4

原创 浮点型在内存中的存储

浮点数家族包括:float,double,long double。根据国际标准,任意一个二进制浮点数A可以表示成以下形式:(-1)^S*M*2^E (-1)^S表示符号位,当S=0时,A为正数;当S=1时,A为负数。 M表示有效数字,1=<M<2。 2^E表示指数位。例如:一个十进制数9.0,写成二进制是1001.0,相当于1.001*2^3。所以S=0,M=1.001,E=3。对于32位的浮点数,最高的一个比特位是符号位S,接下来的八个比特位是指数位E,剩下的2...

2021-10-14 21:28:47 77 1

原创 关于整形在内存中的存储的例题整理

第一题:#include <stdio.h>int main(){ char a = -1; signed char b = -1; unsigned char c = -1; printf("a=%d,b=%d,c=%d", a, b, c); return 0;}解题思路:a和b都是有符号数,c是无符号数。-1以二进制补码序列存进去,-1的补码是全1,因为char类型占一个字节即八个比特位,所以-1以11111111二进制序列存进去。因为以%d的形式打印,所以存在整

2021-10-09 23:17:42 89 3

空空如也

空空如也

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

TA关注的人

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