自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一文详解RESTful风格

本文详细介绍了一下RESTful以及其相关的注解

2023-12-10 15:16:35 346 1

原创 Docker 基本概念-镜像-容器-仓库

开源的 Docker Registry 镜像只提供了 Docker Registry API 的服务端实现,足以支持 docker 命令,不影响使用。因此,在构建镜像的时候,需要额外小心,每一层尽量只包含该层需要添加的东西,任何额外的东西应该在该层构建结束前清理掉。每个标签对应一个镜像。甚至可以用之前构建好的镜像作为基础层,然后进一步添加新的层,以定制自己所需的内容,构建新的镜像。镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的 类 和 实例 一样,镜像是静态的定义,

2023-11-20 21:50:04 103 1

原创 如何在CentOs中使用Docker安装并运行ElasticSearch

5:等待Elasticsearch启动:等待一段时间,让Elasticsearch容器启动并完成初始化。6:测试Elasticsearch:您可以使用curl命令或浏览器访问来测试Elasticsearch是否正常运行。1:安装Docker:确保您的CentOS 7系统已安装Docker。

2023-11-09 11:36:02 141 1

原创 lombok介绍,以及其中各个注解的作用,如@Getter和@Setter,@ToString,@NoArgsConstructor和@AllArgsConstructor,@Data等

Lombok是一个Java库,它通过使用注解处理器自动化了Java类的生成,从而简化了Java开发过程中的样板代码。它的目标是通过减少样板代码的编写来提高开发人员的生产力。

2023-11-09 11:28:45 339 1

转载 linux中docker报错:ERROR: Got permission denied while trying to connect to the Docker daemon socket。

从上面的报错信息上我们知道,这句话的大致意思就是在我门试图通过socket去连接docker时权限不被允许。这是应为socket需要root用户才能访问,当前用户的权限不够,所以被禁止了。就是向组docker中添加用户user,-d就是删除该组中的用户。1.切换成root用户操作。这是需要输入root用户的密码,输入即可正常操作了。这个时候我们就不会收到任何报错信息了。

2023-11-08 15:57:01 638 1

转载 Spring框架的IoC & AOP思想详解(快速搞懂)

本文章详细介绍了Spring中的两个核心思想:IOC以及AOP帮助读者快速搞懂

2023-11-06 18:43:56 123 1

原创 Java的IO字符流,Reader(字符输入流),Writer(字符输出流)

IO 即,输入和输出。数据输入到计算机内存的过程即输入,反之输出到外部存储(比如数据库,文件,远程主机)的过程即输出。数据传输过程类似于水流,因此称为 IO 流。IO 流在 Java 中分为输入流和输出流,而根据数据的处理方式又分为字节流和字符流。Java IO 流的 40 多个类都是从如下 4 个抽象类基类中派生出来的。Reader: 所有的输入流的基类,前者是字节输入流,后者是字符输入流。Writer: 所有输出流的基类,前者是字节输出流,后者是字符输出流。

2023-11-03 21:19:47 137

原创 Java的字节流InputStream(字节输入流),OutputStream(字节输出流)

IO 即,输入和输出。数据输入到计算机内存的过程即输入,反之输出到外部存储(比如数据库,文件,远程主机)的过程即输出。数据传输过程类似于水流,因此称为 IO 流。IO 流在 Java 中分为输入流和输出流,而根据数据的处理方式又分为字节流和字符流。Java IO 流的 40 多个类都是从如下 4 个抽象类基类中派生出来的。Reader: 所有的输入流的基类,前者是字节输入流,后者是字符输入流。Writer: 所有输出流的基类,前者是字节输出流,后者是字符输出流。

2023-11-02 17:40:40 1655 1

原创 IDEA Error:java: 无效的源发行版: 17的错误解决方法

当我们从Gitee或者Github拉取代码到IDEA时,跑项目的时候,发现报错:java:无效的目标发行版:17。查看项目的pom.xml文件的配置,看原项目使用的java版本,我这里的项目Java版本是17。原因可能在于我们IDEA中配置的Java版本和原项目的配置不同,我们可以通过以下方法来解决。之后再在模块中,把你对应的模块的语言级别设置成对应的版本。点击下方的应用,重新run,即可解决。项目里面 将SDK设置成对应的版本。接下来在IDEA中进行配置。首先,文件-->项目结构。

2023-10-30 22:51:57 2393 1

原创 序列化和反序列化

如果我们需要持久化 Java 对象比如将 Java 对象保存在文件中,或者在网络传输 Java 对象,这些场景都需要用到序列化。序列化:将数据结构或对象转换成二进制字节流的过程反序列化:将在序列化过程中所生成的二进制字节流转换成数据结构或者对象的过程对于 Java 这种面向对象编程语言来说,我们序列化的都是对象(Object)也就是实例化后的类(Class),但是在 C++这种半面向对象的语言中,struct(结构体)定义的是数据结构类型,而 class 对应的是对象类型。

2023-10-30 22:35:55 76

原创 String、StringBuffer、StringBuilder 的区别?

String类中使用final关键字修饰字符数组来保存字符串,所以String对象是不可变的。//...修正:我们知道被final关键字修饰的类不能被继承,修饰的方法不能被重写,修饰的变量是基本数据类型则值不能改变,修饰的变量是引用类型则不能再指向其他对象。因此,final关键字修饰的数组保存字符串并不是String不可变的根本原因,因为这个数组保存的字符串是可变的(final修饰引用类型变量的情况)。String保存字符串的数组被final修饰且为私有的,并且String。

2023-10-22 15:19:24 41 1

转载 hashCode() 有什么用?

的作用是获取哈希码( 整数),也称为散列码。这个哈希码的作用是确定该对象在哈希表中的索引位置。 定义在 JDK 的 类中,这就意味着 Java 中的任何类都包含有 函数。另外需要注意的是: 的 方法是本地方法,也就是用 C 语言或 C++ 实现的。散列表存储的是键值对(key-value),它的特点是:能根据“键”快速的检索出对应的“值”。这其中就利用到了散列码!(可以快速找到所需要的对象)我们以“ 如何检查重复”为例子来说明为什么要有 ?下面这段内容摘自我的 Java 启蒙书《Head Fir

2023-10-22 14:49:58 132 1

原创 Object 类的常见方法有哪些?

Object 类是一个特殊的类,是所有类的父类。

2023-10-22 14:29:13 36 1

转载 SpringSecurity中的密码加密算法:BCryptPasswordEncoder的使用及原理

代码很长,但是真正关键的代码在上面第 43 、44 和 51 行的位置处,43 行处获取真正的 salt ,44 行是使用 base64 进行解码,然后 51 行用 密码、salt 进行处理。这里只有一行代码,但是代码中同样调用了前面的 hashpw 这个方法,传入的参数是 plaintext 和 hashed,plaintext 是我们的密码,即 “123456”, hashed 是加密后的密码。运行上面的代码,查看输出。虽然上面代码很长,其实真正关键的就只有上面我提到的几句,其余的部分不用看。

2023-10-16 18:50:25 1760 1

原创 为什么浮点数运算的时候会有精度丢失的风险?以及如何解决浮点数运算的精度丢失问题?

这个和计算机保存浮点数的机制有很大关系。我们知道计算机是二进制的,而且计算机在表示一个数字时,宽度是有限的,无限循环的小数存储在计算机时,只能被截断,所以就会导致小数精度发生损失的情况。这也就是解释了为什么浮点数没有办法用二进制精确表示。可以实现对浮点数的运算,不会造成精度丢失。通常情况下,大部分需要浮点数精确运算结果的业务场景(比如涉及到钱的场景)都是通过。为什么会出现这个问题呢?

2023-10-13 16:49:14 496

转载 自动装箱与拆箱原理是什么?

从字节码中,我们发现装箱其实就是调用了 包装类的。方法,拆箱其实就是调用了。

2023-10-13 16:31:58 32

原创 Java中基本类型和包装类的区别

staticnullnull====equals()这是因为 HotSpot 虚拟机引入了 JIT 优化之后,会对对象进行逃逸分析,如果发现某一个对象并没有逃逸到方法外部,那么就可能通过标量替换来实现栈上分配,而避免堆上分配内存staticnullnull====equals()这是因为 HotSpot 虚拟机引入了 JIT 优化之后,会对对象进行逃逸分析,如果发现某一个对象并没有逃逸到方法外部,那么就可能通过标量替换来实现栈上分配,而避免堆上分配内存。

2023-10-13 12:24:46 129

转载 什么是字节码?采用字节码的好处是什么?以及什么是JIT?

所以, Java 程序运行时相对来说还是高效的(不过,和C、 C++,Rust,Go 等语言还是有一定差距的),而且,由于字节码并不针对一种特定的机器,因此,Java 程序无须重新编译便可在多种不同操作系统的计算机上运行。HotSpot 采用了惰性评估(Lazy Evaluation)的做法,根据二八定律,消耗大部分系统资源的只有那一小部分的代码(热点代码),而这也就是 JIT 所需要编译的部分。JVM 会根据代码每次被执行的情况收集信息并相应地做出一些优化,因此执行的次数越多,它的速度就越快。

2023-10-11 15:00:33 73 1

空空如也

空空如也

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

TA关注的人

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