自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 RocketMQ知识详解

涉及RocketMQ的消息存储结构、工作过程、事务消息实现机制、延时消息实现原理等

2023-02-05 21:18:43 978

原创 自定义线程池

自定义线程池,演示了各个部分线程池功能的编写及最后测试结果

2022-09-17 21:28:37 244

原创 Redis6知识点汇总

Redis61. NoSQL数据库(1) 简介NoSQL(NoSQL=Not only SQL),意为“不仅仅是SQL”,泛指非关系型的数据库。NoSQL不依赖业务逻辑方式存储,而以简单的key-value模式存储,因此大大增加了数据库的扩展能力不遵循SQL标准不支持ACID远超于SQL的性能(2) 适用场景对数据高并发的读写海量数据的读写对数据的高可扩展性(3) 不适用场景需要事务支持基于sql的结构化查询存储,处理复杂的关系,需要即席查询(用不着sql的和用了sq

2022-05-25 19:20:30 314

原创 抽象同步队列AQS

抽象同步队列AQS(1) AQS——锁的底层支持AbstractQueuedSynchronizer抽象同步队列简称AQS,它是实现同步器的基础组件,并发包中锁的底层就是使用AQS实现的。AQS的类图结构如下所示。由图可以看到,AQS是一个FIFO的双向队列,其内部通过节点head和tail记录队首和队尾元素,队列元素的类型为Node。Node中的thread变量用来存放进入AQS队列里面的线程Node节点内部的SHARED用来标记该线程是获取共享资源时被阻塞挂起后放入AQS队列的,EXCLU

2022-05-19 15:38:09 250

原创 并发编程的其它基础知识

1. 并发和并行并发是指同一个时间段内多个任务同时都在执行,并且都没有执行结束。并发任务强调在一个时间段内同时执行,而一个时间段由多个单位时间积累而成,所以说并发的多个任务在单位时间内不一定同时在执行。并行是说在单位时间内多个任务同时在执行2. Java的内存模型Java内存模型规定,将所有的变量都存放在主内存中,当线程使用变量时,会把主内存里面的变量复制到自己的工作空间或者叫做工作内存,线程读写变量时操作的是自己工作内存中的变量。3. synchronized关键字(1) synchron

2022-05-06 14:03:31 190

原创 并发编程线程基础

1.线程和进程线程是进程中的一个实体,线程本身是不会独立存在的,线程是进程的一个执行路径进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,一个进程中至少有一个线程,进程中的多个线程共享进程的资源(堆和方法区资源)资源分配操作系统在分配资源时是把资源分配给进程的但是CPU资源比较特殊,它是被分配到线程的,因为真正要占用CPU运行的是线程,所以也说线程是CPU分配的基本单位2.线程的创建与运行Java中有三种线程创建方式,分别为Runnable接口的run方法,继承

2022-04-27 21:25:34 110

原创 Docker常用命令

Dockerdocker的常用命令帮助命令docker version 显示docker的版本信息docker info 显示docker的系统信息,包括镜像和容器数量docker 命令 --help 帮助命令帮助文档的地址 :https://docs.docker.com/reference/镜像命令docker images 查看所有本地的主机上的镜像可选项-a, --all 列出所有镜像-q,–quiet 只显示镜像的id[root@HardyZ /]# do

2022-04-17 16:27:41 866

原创 Java8相关知识点汇总(上)

Java8相关知识点汇总(上)一、行为参数化行为参数化就是一个方法接受多个不同的行为作为参数,并在内部使用它们,完成不同行为的能力。二、Lambda表达式可以把Lambda表达式理解为一种简洁的可传递匿名函数:它没有名称,但它有参数列表、函数主体、返回类型,可能还有一个可以抛出的异常列表。只有在接受函数式接口的地方才可以使用Lambda表达式。1. 匿名说它是匿名的,因为它不像普通的方法那样有一个明确的名称:写的少想得多。2. 函数说它是一种函数,是因为Lambda函数不像方法那样属于某个

2022-04-12 15:05:15 324

原创 Spring Boot知识点整理(上)

Spring Boot默认大于配置一、MAVENPOM(Project Object Model,项目对象模型)它是Maven工程的基本工作单元,也是Maven的核心。它是一个XML文件,包含项目的基本信息,用于描述项目如何构建、声明项目依赖等。POM中通常有以下元素:dependencies在此元素下添加依赖,它可以包含多个依赖。dependency<dependency>与</dependency>之间有3个标识,分别如下:groupId:定义隶属的实

2022-04-12 14:29:19 226

原创 Thymeleaf基础语法

Thymeleaf基础语法一、引用命名空间要使用Thymeleaf,则需要先加入依赖,然后在模板文件中引用命名空间如下:<html lang="zh" xmlns:th="http://www.thymeleaf.org">二、常用th标签1. th:text<div th:text="${name}">name</div>​ 它用于显示控制器传入的name值​ 如果name不存在,要显示默认值,则使用一下代码<span th:text="${na

2022-04-10 20:13:38 1925

原创 Spring5框架相关知识点整理

Spring5框架IOC容器控制反转,把对象创建和对象之间的调用过程,交给Spring进行管理。使用IOC目的:降低耦合度IOC底层原理xml解析工厂模式反射IOC接口(BeanFactory)Spring提供IOC容器实现两种方式:BeanFactory:IOC容器基本实现方式,是Spring内部的使用接口,一般不提供给开发人员使用。 注意:此方式在加载配置文件时不会创建对象,在获取对象(使用)时才会去创建对象。ApplicationContext:BeanFactory

2022-04-08 20:58:45 979

原创 SpringMVC相关知识点整理

SpringMVC三层架构表述层(表示层),表述层表示前台页面和后台servlet业务逻辑层数据访问层转发和重定向区别转发是一次请求,第一次是浏览器请求,第二次是发生在服务器内部,转发可以获取请求域中的数据,不可以跨域,只能访问服务器内部的资源重定向是两次请求,第一次访问servlet,第二次访问重定向所指地址,重定向不可以获取请求域中的请求,可以跨域HttpMessageConverterHttpMessageConverter,报文信息转换器,将请求报文转换为Java对象,或

2022-04-08 20:47:22 358

原创 JavaWeb知识点总结

JavaWeb数据库关系型数据库关系型数据库是建立在关系模型基础上的数据库,简单说,关系型数据库是由多张能互相连接的二维表组成的数据库SQL分类DDL(Data Definition Language) 数据定义语言,用来定义数据库对象:数据库,表,列等DML(Data Manipulation Language) 数据库操作语言,用来对数据库中的表进行增删改DQL(Data Quert Language) 数据查询语言,用来查询数据库中表的记录DCL(Data Control Lan

2022-04-07 13:46:57 7728

原创 字节实习面试一道算法题(2)

给定一颗树A和树B,判断树B是不是树A的子结构由于面试写代码的时候和leetcode上不一样,需要写出整个输入包括main函数,所以这道题还涉及到将输入的数组反序列化成树的结构,我面试当时没写出来,现在整理了一下,方案如下public class Test { public static void main(String[] args) { Scanner input = new Scanner(System.in); String str1 = input

2022-01-13 22:41:04 150

原创 字节实习面试一道算法题(1)

给定数组A和目标值x,求出A中的所有组合使其和为目标值,A中的数值可重复使用。例如:A = [2, 3, 6, 7] , x = 7结果: [[2, 2, 3], [7]]我目前写出的程序如下,主要用到递归和回溯,希望有大佬能帮忙指点,能不能给出更好的方案。public Class Test { public static void main(String[] args) { Solution means = new Solution(); int[

2022-01-13 22:30:59 184

原创 基于Ubuntu 20.04.3平台编译OpenJDK12

本文参考周志明的《深入理解Java虚拟机》做探讨。一、构建编译环境1. 安装OpenJDK编译依赖库在Ubuntu系统上构造编译环境需要安装OpenJDK编译依赖库,下面的表格来源于《深入理解Java虚拟机》OpenJDK编译依赖库 工具 库名称 安装命令 FreeType The FreeType Project sudo apt-get install libfreetype6-dev CUPS Common UNIX Printing Syst.

2022-01-04 19:12:41 818

Elecsus入门即学即用.pdf

详细介绍了基于Python的Elecsus库及其安装和使用的方法

2022-01-04

空空如也

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

TA关注的人

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