自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 多线程(5)——锁策略、CAS、JUC常见类

乐观锁&悲观锁、重量级锁&轻量级锁、挂起等待锁&自旋锁、公平锁&非公平锁、可重入锁&不可重入锁、读写锁、synchronized的加锁过程、锁消除&锁粗化、CAS、CAS的ABA问题、Callable接口、ReentrantLock可重入互斥锁、Semaphone信息量、CountDownLatch

2024-08-24 18:06:23 881

原创 多线程(4)——单例模式、阻塞队列、线程池、定时器

单例模式、饿汉模式、懒汉模式、阻塞队列(BlockingQueue)、生产者消费者模型、线程池(ExecutorService、shutdown())、定时器(Timer、TimerTask)

2024-08-21 17:38:46 1144

原创 Java 中将 int 类型转为 String 类型的三种方式

Java 中将 int 类型转为 String 类型的三种方式

2024-08-12 15:48:23 239

原创 网络编程套接字(socket)

请求和响应、Socket套接字、TCP/UDP的区别、DatagramSocket、DatagramPacket、InetSocketAddress、ServerSocket、Socket、回显服务器实例、多线程、线程池、长短连接

2024-08-12 11:24:25 739

原创 多线程(3)——volatile、wait、notify

volatile、内存可见性问题、wait 和 notify、wait 和 sleep 的区别

2024-08-08 15:48:09 920

原创 多线程(2)——线程的六种状态

Java线程的六种状态、线程安全问题、synchronized、出现死锁的三种场景、出现死锁的四个必要条件、哲学家就餐问题

2024-08-07 16:34:08 601

原创 网络原理(1)——基本概念

网络互连、局域网组建网络的方式、广域网、IP 地址、端口号、协议、协议分层、OSI 七层模型、TCP/IP 模型、网络设备所在分层

2024-08-07 14:47:43 766

原创 网络原理(2)——封装和分用

网络原理、封装和分用、序列化和反序列化、应用数据包、正文/载荷

2024-08-06 09:35:44 628

原创 Java 文件操作和 IO

文件概念及两种类型、文件夹和目录、文件路径、File类(文件读写操作)、数据流(文件内容读写操作)、InputStream、FileInputStream、文件泄露问题、OutputStream、字符流、Write、Scanner

2024-08-04 16:34:25 713

原创 多线程(1)——Thread 类

线程、与进程的区别、创建线程的5种方法、Thread类及常用方法、前后台线程、线程是否存活、start和run之间的区别、终止线程的2种方法、线程等待join、获取当前线程引用currentThread、休眠当前线程sleep

2024-07-31 15:45:39 919

原创 Java 的 JDBC 编程

JDBC编程、mysql—connector下载安装导入、JDBC应用

2024-07-30 09:43:20 902

原创 MySQL——事务

事务场景、回滚机制、原子性、回滚原理、事务的使用、事务四个核心特性、并发执行的三个问题、MySQL隔离级别

2024-07-29 15:51:04 791

原创 MySQL索引

索引概念、优缺点、使用场景、使用方法、索引背后的数据结构、B 树、B+ 树

2024-07-28 15:48:33 909

原创 MySQL表的增删查改(3)——复杂情况

本文涉及:表的设计三大范式、特殊新增方式(插入查询结果)、聚合查询、group by语句、having、联合查询、笛卡尔积、内连接、join on、外连接、自连接、子查询、合并查询union

2024-07-27 14:36:25 616

原创 MySQL表的增删查改(2)——数据库约束

指定某列不能存储null值:保证某列的每行必须有唯一的值:规定没有给列赋值时的默认值:NOT NULL和UNIQUE的结合,确保某列(或两个列或多个列的结合)有唯一标识,有助于更容易快速的找到表中的一个特定的记录(主键):保证一个表中的数据匹配另一个表中的值的参照完整性(外键):保证列中的值符合指定的条件,对于MySQL数据库,对check子句进行分析,但是忽略check子句(即在 MySQL 中 check 指定的条件不生效,若在 SQL server 这种支持 check 的数据库中就会生效)

2024-07-21 13:51:41 761 1

原创 MySQL表的增删查改

- 把lisi尝试转换成int失败了第二种情况成功:上述这样的转换就是 “隐式类型转换” ,在Java中是非常排斥这一点的比较支持隐式类型转换的称为“弱类型系统”,C/SQL对于隐式类型转换触发的情况更多不太支持隐式类型转换的称为“强类型系统”,虽然Java排斥,但是Java中也有自动装箱、自动拆箱。

2024-07-05 17:52:41 1303

原创 JavaEE——计算机工作原理

现代计算机,大多遵守冯诺依曼体系结构CPU中央处理器:进行算术运算与逻辑判断存储器:分为外存和内存,用于存储数据(使用二进制存储)输入设备:用户给计算机发号施令的设备输出设备:计算机给用户汇报结果的设备针对存储空间:硬盘 > 内存 >> CPU针对数据访问速度:CPU >> 内存 > 硬盘。

2024-07-05 11:16:42 1015 1

原创 MySQL数据库基础

结构代表指令: create, drop, alter。

2024-06-27 17:50:11 638

原创 Java——Lambda表达式

Lambda表达式的优点很明显,在代码层次上来说,使代码变得非常的简洁。缺点也很明显,代码不易读。1. 代码简洁,开发迅速2. 方便函数式编程3. 非常容易进行并行计算4. Java 引入 Lambda,改善了集合操作1. 代码可读性变差2. 在非并行计算中,很多计算未必有传统的 for 性能要高3. 不容易进行调试。

2024-06-27 10:44:12 1241

原创 Java——枚举

但是常量举例有不好的地方,例如:碰巧有个数字1,编译器可能误解为RED,现在我们可以直接用枚举来进行组织,这样一来,就拥有了类型,而不是普通的整型1优点:将常量组织起来统一管理场景:错误状态码,消息类型,颜色的划分,状态机等等。。。本质:是的子类,也就是说,自己写的枚举类型,就算没有显式继承Enum,但其默认继承了这个类。

2024-06-27 09:39:37 345

原创 Java——反射

Java的反射(reflection)机制是在状态中,对于任意一个类,都能够知道这个类的;对于任意一个对象,都能够调用它的任意方法和属性,既然能拿到,那么我们就可以修改部分类型信息;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射(reflection)机制。

2024-06-26 17:26:10 638

原创 泛型——通配符

在泛型中使用,即为通配符。

2024-06-26 15:48:13 299

原创 Map和Set

二叉搜索树又称二叉排序树,它可能是一棵空树,也可能是具有以下性质的二叉树性质:若对二叉搜索树进行中序遍历,会得到一个有序数组。

2024-06-25 09:05:23 915

原创 数据结构——排序

1. 排序的概念1.1 概念排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持 不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳 定的;否则称为不稳定的,如下图:tip:稳定的排序方法可以改为不稳定版,但本身不稳定的方法不能改为稳定的内部排序:数据元素全部放在

2024-06-23 09:58:39 560

原创 Java中对象的比较

对于用户实现自定义类型,都默认继承自Object类,而Object类中提供了equals方法,而==默认情况下调用的就是equals方法,但是该方法的比较规则是:直接比较引用变量的地址。优先级队列底层使用堆,而向堆中插入元素时,为了满足堆的性质,必须要进行元素的比较,而此时Card是没有办法直接进行比较的,因此抛出类型转换异常。对于自定义类型,如果想按照大小的方式进行比较,在定义类时,实现Comparable接口,然后在类中重写compareTo方法。要想在堆中插入自定义类型的元素。

2024-06-22 10:09:51 461

原创 数据结构——优先级队列(堆)Priority Queue详解

Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的,本文主要介绍PriorityQueue//运行结果:1// 22. PriorityQueue中放置的元素必须要能够比较大小,不能插入无法比较大小的对象,否则会抛出 ClassCastException 异常。

2024-06-22 09:02:14 1017 1

原创 数据结构——二叉树

树是一种非线性的数据结构,由n(n>=0)个有限节点组成一个具有层次关系的集合特点:有一个特殊的节点,称为根节点,根节点没有前驱节点树是递归定义的树形结构中,子树之间不能有交集,否则就不是树形结构除了根节点外,每个节点有且仅有一个父节点一棵个节点的树有条边。

2024-06-18 16:55:38 1767 3

原创 数据结构——队列(Queue)详解

队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out)的性质入队列:进行插入操作的一端称为队尾(Tail/Rear)出队列:进行删除操作的一端称为队头(Head/Front)

2024-06-14 17:00:23 540

原创 数据结构——栈(Stack)详解

栈:一种特殊的线性表,只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中数据元素遵循后进先出LIFO(Last In First Out)的原则压栈:栈的插入操作可以叫做进栈、压栈、入栈,入数据在栈顶出栈:栈的删除操作叫做出栈,出数据在栈顶。

2024-06-13 15:33:28 1186

原创 Java——LinkedList

链表在逻辑层面上是连续的,在物理层面上不一定是连续的链表结构可分为,单向或双向、带头或不带头、循环或非循环,组合共计8种重点:无头单向非循环链表、无头双向链表。

2024-06-13 14:30:37 854

原创 OJ——环形链表

环形链表是一种特殊类型的链表数据结构,其最后一个节点的地址域不为null,而是指向了链表中的某个节点,形成一段闭环,如下图:tip:该类型题目不能以判断 cur.next 是否为 null 为循环条件,否则死循环给一个链表的头节点head,判断链表中是否有环,如果链表中存在环 ,则返回true。否则,返回false。

2024-06-12 17:44:09 926

原创 Java——ArrayList与顺序表

线性表(linear list)是n个具有相同特性的数据元素的有限序列,线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列...线性表在逻辑上是线性结构,也就是连续的一条直线,但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。

2024-06-09 15:20:30 1060

原创 JDK17语法新增特性(常用)

yield 关键字从Java13开始引入,用于从case的代码块中返回值示例:正常的switch语句:简化后的switch:使用yield关键字的switch:2、var关键字var 关键字从Java10开始引入,可以自动识别类型上述代码中,编译器会自动判断出name时一个String类型,age是一个int类型使用var可以使代码更简洁,有时候,类型名称可能会非常长,例如泛型中var就像一个简化器,让我们不必反复写出繁琐的类型名,如下:注意事项:密封类一般应用在类和接口中

2024-06-06 17:32:26 498

原创 Java——包装类、泛型简介

在Java中,由于基本类型不是继承自Object,为了在泛型代码中可以支持基本类型,Java给每个基本类型都对应了一个包装类型。

2024-06-06 09:49:29 1085

原创 Java—集合框架、时间和空间复杂度

Java集合框架(Java Collection Framework),又称为容器(container),是定义在 java.util 包下的一组接口(interfaces)和其实现类(classes)其主要表现为将多个元素(element)置于一个单元中,用于对这些元素进行快速、便捷的存储(store)、检索(retrieve)、管理(manipulate),即俗称的增删查改(CRUD)

2024-06-05 16:26:40 562

原创 数据结构练习题——Java实现

数据结构练习题

2024-06-04 17:25:08 389

原创 JavaSE——学习总结

JavaSE——学习总结

2024-06-04 15:40:54 1023

原创 Java——异常详解

本章需掌握:throw、try、catch、finally、throws、Exception、RuntimeException异常处理核心:EAFP

2024-06-02 09:27:24 607

原创 Java—— StringBuilder 和 StringBuffer

本章需掌握StringBuffer和Stringbuilder的方法语法

2024-05-31 14:27:09 322

原创 Java——String类详解

该文章需掌握:字符串构造、equals、compaerTo、comepaerTolgnoreCase、chaAt、indexOf、lastIndexOf、valueOf、toUpperCase、toLowerCase、toCharArray、fromat、replaceAll、replaceFirst、split、substring、trim、字符串不可变性原理

2024-05-31 10:42:20 1137

空空如也

空空如也

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

TA关注的人

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