自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HTTP协议的响应格式解析

HTTP响应格式解析

2022-08-22 17:35:38 1481 1

原创 HTTP协议的请求格式解析

HTTP请求协议解析

2022-08-21 20:17:18 4561

原创 关于Java的垃圾回收机制

关于Java的垃圾回收机制的讲解

2022-08-17 17:36:59 255

原创 JVM的区域划分和类加载过程

JVM的区域划分和类加载过程以及双亲委派模型的简单讲解

2022-08-10 10:42:01 143

原创 HashTable和ConcurrentHashMap的区别

比较HashTable和ConcurrentHashMap

2022-08-05 14:50:20 3851

原创 数据链路层简单解析

数据链路层的简单解析

2022-08-02 20:31:45 730

原创 IP协议简单解析

IP协议的简单解析

2022-07-28 17:49:38 381

原创 TCP协议解析

TCP协议解析

2022-07-27 22:05:17 2152

原创 关于传输层中的UDP协议解析

关于传输层中的UDP协议解析

2022-07-22 15:56:29 473

原创 关于死锁的形成的原因及解决办法

死锁和死锁的解决方式

2022-07-18 23:22:32 447

原创 关于synchronized的锁升级过程

synchronized的锁升级过程解析

2022-07-16 19:56:52 1307 1

原创 关于CAS和CAS中的ABA问题

CAS和CAS的ABA问题

2022-07-14 12:38:02 286

原创 初识网络原理

网络原理的初识

2022-07-08 18:55:40 141

原创 Java中File类及关于InputStream和OutputStream的基本用法

Java中的File类的基本使用以及关于InputStream和OutputStream。

2022-07-05 09:03:18 4477

原创 关于文件的体系结构

关于文件系统的简单介绍

2022-07-02 09:26:31 607

原创 常见的锁策略解析

关于常见的锁策略解析

2022-06-30 16:34:44 162

原创 Java线程状态的解析

Java中的线程状态

2022-06-27 13:19:25 155

原创 Java中Thread类的基本用法

Java中Thread类的基本用法

2022-06-27 12:31:34 533

原创 Java中线程不安全的原因

Java中线程不安全的原因

2022-06-23 09:18:04 1300

原创 Java中的内部类

Java的四种内部类

2022-06-20 12:14:42 1157

原创 关于MySQL中的事务的特性及其四种隔离级别

MySQL的事务的基本特性,以及四种隔离级别。

2022-06-15 10:47:07 146

原创 MySQL索引背后的数据结构

MySQL背后的数据结构

2022-06-13 12:59:57 220

原创 MySQL的索引(聚簇索引和非聚簇索引)

MySQL的索引介绍,聚簇和非聚簇索引的差别

2022-06-10 11:21:49 1199 1

原创 基于比较的三种O(NlogN)的排序

堆排,归并排序,快速排序

2022-06-03 10:07:37 269

原创 JDK中的HashMap

哈希表保存数据:HashMap保存数据时是使用<K,V>(键值对)保存的,键值对是一种映射关系,一个Key对应一个Value值。K值具有唯一性,当我们保存相同的K值时,Value值会被新的Value所覆盖,不会存在有两个相同的K值。JDK中哈希表的底层原理:HashMap查找的效率极高,时间复杂度O(1),这是一个非常高的查找效率,哈希表也是典型的用空间来换时间的一个数据结构。首先我们要明白哈希表底层是怎么实现的。在JDK8中,哈希表的底层是数组+链表/红黑树。当达到一定条件的时候链

2022-05-30 13:31:12 900

原创 优先级队列解决TopK问题

首先我们需要了解什么是TopK问题,那就是给你一个一组数据,数据可能很少或者很多,让你找到前K小或者前K大的数据。当数据比较少的时候我们可以使用暴力解法,那就是直接对整个数据进行排序处理,然后取前K个元素那就是答案,但是当数据非常多的时候,效率也会变得相对比较慢。以上所述,直接排序对数据量很大的场景是不太合适的,所以我们利用优先级队列来解决TopK问题,我们设想一下,我们要找前K大的数据,这时候我们的优先级队列要实现一个大堆还是一个小堆?答案是小堆,当我们把题目要求K个元素放入堆中之后,就形成了一个..

2022-05-23 13:40:02 512

原创 用Java实现二叉树的遍历

树是一种非线性结构的数据结构,有一个点没有前驱,被称为根节点,它可以有多种变化,普通二叉树,N叉树,二叉搜索树(BST),红黑树(RBTree),B树等等,上述所说的树中,普通二叉树就算是比较简单的数据结构。二叉树的存储:二叉树的存储方式分为:顺序存储和类似于链表的链式存储。二叉树的链式存储是通过一个一个的节点引用起来的,常见的表示方式有二叉和三叉表示方式。我们使用孩子表示法来给大家解释一下class TreeNode { public char val;//数据 pu

2022-05-20 10:21:17 6716

原创 栈和队列

栈:栈是一个比较简单的数据结构,栈和普通数组和链表的区别就是,栈有特定的出入方式,普通数组和链表可以在任意位置进行增删改,而栈这个数据结构在增加元素的时候需要从栈顶进,也要从栈顶出,而且要符合先进后出(LIFO)的规则。假如我把A B C同时压入栈中,你只能拿出C才能拿出B最后才能拿出A,不可以一开始就把B和A出栈,所以栈就是在普通数组和链表的结构上对出入规则做出了一定的约束。一般我们用数组来实现栈,我们只需要对数组的最后一个元素进行操作,出栈的时候我们只需要进行逻辑删除,时间复杂度就是O(1),入栈也

2022-05-18 10:47:49 185

原创 Java中的抽象类和接口

抽象类:Java中的抽象类在class之前加 abstract关键字代表这个类是一个抽象类,抽象类和普通类没有太大的区别,只是抽象类中多了抽象方法,抽象方法也是使用abstract关键字声明,抽象方法只有方法声明,没有方法体;你也可以在抽象类中定义成员变量,跟普通类的定义方式没有本质上的区别,所以我们把抽象类理解成普通类的"超类"。抽象类一般作为父类来派生子类,子类如果是一个普通类,那子类就要重写抽象类的抽象方法。但是如果子类也是抽象类则不用重写。虽然抽象类和普通类的区别只是在抽象类中多了抽象方

2022-05-12 18:11:43 131

原创 Java中的String类

String的值不可以变:Java中的String类型不属于八大基本数据类型,而是一个引用数据类型,所以在定义一个String对象的时候如果不直接赋值给这个对象,它的默认值就是null。我们要怎么理解String类型的不可变,在JDK源码中String这个类的value方法被final关键字修饰,导致String里的值不可以被修改。如图我们还看到整个String这个类也被final修饰,导致这个类无法被继承和重写String的方法。这是为了让大家的String类都是一致的。我们在开发过程中会频繁

2022-05-11 12:03:20 1283

原创 关于Java中的继承和多态

面向对象编程(oop)都有三大基本特征:封装,继承,多态。继承:封装是为了保证代码的隐蔽性,比如private的权限是私有的,只有在类的内部才能看到其构成。而继承和多态则起到不同的作用。继承是为了提高代码的复用性。一般我们这么用extens来定义:子类 extens 父类。继承:当类和类之间是is-a关系的时候,两者之间就存在继承关系。子类继承父类中的所有属性和方法,有显示继承和隐继承,其中private权限的成员属性和成员方法,但是不能直接使用其方法和访问其成员属性。因为父类的属性是私

2022-05-05 10:04:33 482

原创 Java中ArrayList和LinkedList的区别

在Java中虽然ArrayList和LinkedList都实现了List接口,但是其底层原理不相同。ArrayList的底层是一个数组,LinkedList的底层是链表。ArrayList在增加和删除元素时,时间复杂度是O(N)。LinkedList则是O(1),因为LinkedList的底层是一个双向链表,拥有头节点和尾节点,可以通过头节点和尾节点直接添加元素。也可以直接通过索引来删除元素。但是在指定位置添加元素时候,时间复杂度和ArrayList的时间复杂度相同为O(N)。虽然Liked

2022-04-28 18:52:16 1153

原创 Java中的类和对象

对象(object)是对客观事物的抽象,类(class)是对对象的抽象。类是一种抽象的数据类型。它们的关系是,对象是类的实例,类是对象的模板。对象是通过new 关键字产生的,用来调用类的方法;类的构造方法。对象的创建语法:class 类名称{//filed(成员的属性,实例属性)//func(实例方法,成员方法)}注意:(类名称一般采用"大驼峰"命名法进行命名且类中定义的成员变量都有默认值)当一个引用类型为null时,这个引用类型在没有在堆中,自然没有堆中的地址,这时候引用这

2022-04-15 11:05:16 397

原创 Java中的数据类型与运算符

一.数据类型在Java中数据类型分为两大类: 基本数据类型和引用数据类型。其中基本数据类型可以被分为三种,分别为:数值型,字符型,布尔型1.基本数据类型:(1).数值型又被分为浮点型和整型。整型:byte:占用1个字节。short:占用2个字。int:占用4个字节。long:占用8个字节。(在Java中默认整型都是int类型)浮点型:float(单精度浮点型):占用4个字节。double(双精度浮点型):占用8个字节。(在Java中默认小数都是doub

2022-04-05 13:52:15 522

空空如也

空空如也

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

TA关注的人

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