自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 23种设计模式之适配器模式(Adapter Pattern)

这样,通过适配器模式,我们可以使用 MediaPlayer 接口来播放 MP3 和 VLC 文件。如果我们想要播放其他格式的文件,我们只需要在适配器中添加相应的逻辑即可。适配器模式是一种结构型设计模式,允许类的接口与另一个类的接口不兼容而无需修改原始代码。在 Java 中,适配器模式可以通过实现一个适配器类来实现。

2024-12-04 15:19:10 298

原创 23种设计模式之原型模式

在 clone() 方法中,我们首先调用 super.clone() 创建一个 Circle 对象的浅拷贝,然后创建一个新的 List 对象 clonedPoints,并将 points 中每个 Point 对象的副本添加到 clonedPoints 中。这样,我们就实现了 Circle 对象的深拷贝。在 Java 中,实现深拷贝的原型模式需要在 clone() 方法中手动复制对象的引用类型属性,以确保每个属性都是独立的。

2024-12-04 15:10:28 266

原创 23种设计模式之建造者模式

这样就实现了一个简单的建造者模式,其中所有的类都是线程安全的,因为它们都没有可变状态。如果需要创建不同类型的产品,只需要添加新的产品类和相应的建造者类即可,不需要修改已有的代码。建造者模式是一种用于创建复杂对象的创建型模式,它允许你将一个复杂对象的构建过程分解为多个简单的步骤,从而更加灵活地创建对象。

2024-11-30 15:07:54 377

原创 23种设计模式之抽象工厂模式

这样就实现了一个简单的抽象工厂模式,其中所有的类都是线程安全的,因为它们都没有可变状态。如果需要添加新的产品族,只需要添加新的实现类和相应的工厂类即可,不需要修改已有的代码。抽象工厂模式是一种提供接口用于创建相关或依赖对象的工厂模式,该模式的目的是将具体实现细节与客户端代码分离。

2024-11-30 14:58:11 421

原创 正则表达式

类 Date 表示特定的瞬间,精确到毫秒。继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,但是其中有未过时的构造函数可以把毫秒值转成日期对象//创建日期对象,把当前的毫秒值转成日期对象//打印结果:Fri Dec 11 00:00:00 CST 2020可是将毫秒值转成日期后,输出的格式不利于我们阅读,继续查阅API,Date中有getYear、getMouth等方法,可以他们已经过时,继续往下查阅,看到了toString方法。

2024-11-28 15:23:27 1381

原创 23种设计模式工厂方法模式

这样,客户端就可以通过工厂类来创建产品实例了。由于工厂方法模式将产品的实例化过程和客户端解耦,因此客户端无需关心产品是如何创建的,只需要通过工厂类来获取产品即可。同时,工厂方法模式也符合开闭原则,因为在新增产品时只需要添加一个新的具体产品类和一个对应的具体工厂类即可,不需要修改已有代码。工厂方法模式是一种创建型设计模式,它定义了一个用于创建对象的接口,但是让子类决定实例化哪个类。因此,工厂方法模式将对象的实例化推迟到子类中进行。最后,在客户端代码中使用工厂类来创建产品。

2024-11-28 11:30:55 336

原创 23种设计模式之单例模式

单例模式的实现方式主要有两种:‌。

2024-11-28 11:20:24 289

原创 redis面试题及答案

欢迎工作一到五年的 Java 工程师朋友们加入 Java 进阶架构学习交流:952124565,群内提供免费的 Java 架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm 性能调优、Spring 源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx 等多个知识点的架构资 料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒 惰!好了,到此为止,ok,加锁完成了。

2023-08-09 16:16:43 74

原创 MyBatis面试专题及答案

MyBatis 是一个可以自定义 SQL、存储过程和高级映射的持久层框架。答:接口映射就是在 MyBatis 中任意定义接口,然后把接口里面的方法和 SQL 语句绑定,我们直接调用接口方法就可以,这样比起原来了 SqlSession 提供的方法我们可以有更加灵活的选择和设置.答:虽然 Mybatis 解析 Xml 映射文件是按照顺序解析的,但是,被引用的 B 标签依然可以定义在任何地方,Mybatis 都可以正确识别。

2023-05-19 18:18:24 114

原创 Linux面试专题及答案

从最初的原子操作,到后来的信号量,从。Linux 内核中的同步机制:原子操作、信号量、读写信号量和自旋锁的 API,另外一些同步机。在 2.4 和更早的内核中,仅仅用户模式的进程可以被上下文切换出局,由其他进程抢占。持有)的自旋锁,那么这个线程就会一直进行忙循环——旋转——等待锁重新可用。除了内核本身处于内核模式以外,所有的用户进程都运行在用户模式。量的进程将信号量释放后,在等待队列中的一个任务将被唤醒,从而便可以获得这个信号。另外,用户模式的代码允许发生缺页,而内核模式的代码则不允许。

2023-05-17 21:48:04 267 1

原创 Linux安装nacos

在mysql中创建nacos数据库,并且导入/usr/local/nacos/conf/nacos-mysql.sql文件。进入到conf目录修改application.properties。启动成功后,根据ip:8848/nacos访问nacosweb。有不懂的小伙伴可以加QQ咨询,QQ:672528058。也可以来QQ群里聊天摸鱼,QQ群:1058013685。做完以上操作后,进入到bin目录下,单机模式启动。本次下载的版本为2.1。

2023-04-29 16:06:17 201

原创 Linux安装mysql8

Linux安装mysql8

2023-04-29 14:42:59 610

原创 mysql基础架构

MySql

2022-06-07 00:27:50 174

原创 Linux安装maven

maven官网地址:https://maven.apache.org/download.cgi下载完成之后上传到服务器,我本人一般是安装在/usr/local目录,上传完成之后解压安装包,解压命令如下:tar -zxvf apache-maven-3.8.5-bin.tar.gz解压之后需要修改环境配置,修改命令:vim /etc/profile在配置文件中添加以下内容:export MAVEN_HOME=/usr/local/mavenexport PATH=$MAVEN_HOME/

2022-04-11 16:53:13 663

原创 Linux安装jdk

linux安装jdk有两种方式1、通过yum命令yum install -y java-1.8.0-openjdk.x86_64用到的jdk版本即可。2、通过官网下载jdk安装包官网地址:https://www.oracle.com/java/technologies/downloads/#java8下载后上传到linux服务器,我一般是安装到/usr/local/java目录,上传到目录之后解压文件,解压命令如下: tar -zxvf jdk-8u152-linux-x64.tar.g

2022-04-11 16:51:54 1891

原创 Java集合(容器)面试题

Java 容器都有哪些?官方说到的容器Collection和MapCollection 和 Collections 有什么区别?1、Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。List,Set,Queue接口都继承Collection。直接实现该接口的类只有AbstractCollection类,该类也只是一个抽象类,

2021-08-23 19:06:33 157

原创 Spring Boot面试题

什么是 Spring Boot?Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。为什么要用 Spring Boot?独立运行、简化配置、自动配置、无代码生成和XML文件、容易监控,上手容易。Spring Boot 的核心配置文件有哪几个?它们的区别是什么?Spring Boot 的核心配置文件是 application 和 bootstrap 配置文件。

2021-08-23 19:02:30 74

原创 Redis面试题

Redis支持的数据类型?String、List、Set、Hash、zSet什么是Redis持久化?Redis有哪几种持久化方式?优缺点是什么?持久化就是把内存的数据写到磁盘中去,防止服务宕机了内存数据丢失。Redis 提供了两种持久化方式:RDB(默认) 和AOF 。RDB:rdb是Redis DataBase缩写,功能核心函数rdbSave(生成RDB文件)和rdbLoad(从文件加载内存)两个函数AOF:Aof是Append-only file缩写,每当执行服务器(定时)任务或者函数时f

2021-08-23 18:55:18 96

原创 ZooKeeper面试题

上官网下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads首先大致介绍一下Linux

2021-08-23 18:45:30 77

原创 Linux目录介绍及查看文件大小

以我的虚拟机/目录为例目录 /bin bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。 /boot 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。 /data 自行创建,存放运行程序,按照及时情况,可有可无 /dev dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是.

2021-08-23 17:58:48 365

原创 Linux随笔记录

文件处理命令:ls -a 查看所有文件,包括隐藏文件ls -l 查看目录详细信息ls -lh 人性化的查看目录详细信息ls -d 查看目录本身ls -i 查看目录id号mkdir 创建目录 -p 递归创建目录pwd 显示当先目录绝对路径rmdir 删除空目录rm 删除目录或文件cp -rp 复制文件或目录 -r 复制目录 -p 保留文件属性mv 剪切目录或改目录名touch 创建文件cat -n 查看文件 -n 指定行数tac 倒置显示文件内容more 分页显示文件内

2021-08-19 16:50:25 85

空空如也

空空如也

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

TA关注的人

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