自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小驴程序源

IT信息技术

  • 博客(57)
  • 资源 (5)
  • 收藏
  • 关注

原创 Java设计模式之创建型模式(二)原型模式

通过原型模式,可以通过复制现有的对象来创建新对象,提高性能、简化对象的创建过程,并保证对象的安全性和一致性。学习原型模式的目的:原型模式的目的在于通过复制现有的实例来创建新的对象,以避免通过构造函数创建对象时可能带来的性能开销,同时可以控制对象的深度复制。需要注意的是,在克隆过程中如果涉及到引用类型的成员变量,如果要实现深克隆,需要对引用类型的成员变量也进行克隆操作,确保数据的独立性和完整性。总的来说,原型模式通过克隆现有对象来创建新的对象,实现了对象的复制和创建的分离,提高了对象创建的效率和灵活性。

2024-04-08 16:31:17 765 1

原创 【搭建 Hbase 集群】

在内容开始之前需要了解一下几个方面的知识会更好的帮助学习和搭建Hbase集群Hadoop:Hbase 是建立在 Hadoop基础之上的分布式数据库。了解 Hadoop 的基本概念和架构将有助于您理解 Hbase 的工作原理。分布式系统:Hbase是一个分布式数据库,它将数据存储在多台服务器上。了解分布式系统的概念、优点、挑战和常见的解决方案,将帮助您更好地理解和管理Hbase集群。ZooKeeper:Hbase 使用 ZooKeeper 来协调和管理集群中的各个节点。

2024-03-03 22:32:50 701

原创 Java 8 特性

Java 8 新特性1:Lambda 表达式2:方法引用构造器引用:静态方法引用:特定类的任意对象的方法引用:特定对象的方法引用:3:默认方法静态默认方法默认方法实例4:新工具jjsjjs 交互式编程传递参数Java 中调用 JavaScriptJavaScript 中调用 Java5:Stream API −新添加的Stream API(java.util.stream) 把真正的函数式编程风格引入到Java中。6:Date Time API − 加强对日期与时间的处理。7:Optional 类 − Op

2024-01-21 19:50:15 929

原创 Java内存区域(运行时数据区域)和内存模型(JMM)

Java运行时数据区域 和 内存模型(JMM)Java运行时数据区域程序计数器Java虚拟机栈1. 局部变量表2. 操作栈3. 动态链接4.方法返回地址本地方法栈Java堆方法区运行时常量池直接内存Java内存模型计算机高速缓存和缓存一致性JVM主内存与工作内存重排序和happens-before规则happens-beforevolatile关键字前言Java 内存区域和内存模型是不一样的东西,内存区域是指 Jvm 运行时将数据分区域存储,强调对内存空间的划分。而内存模型(Java Memory Mo

2024-01-21 19:48:28 970

原创 ConcurrentHashMap是如何保证线程安全的

ConcurrentHashMap是如何保证线程安全的前言相关概念初始化数据结构时的线程安全put操作的线程安全扩容操作的线程安全扩容时的get操作多线程协助扩容在什么情况下会进行扩容操作?统计容器大小的线程安全假设当前线程为第一个put的线程出现了线程竞争导致CAS失败计数桶扩容什么条件下会进行计数桶的扩容?扩容操作是怎么样的?get操作的线程安全**JDK1.7与1.8的不同实现前言阅读此篇文章,你需要有以下知识基础Java内存模型,可见性问题CASHashMap底层原理........

2024-01-21 19:44:52 1013

原创 【Linux对磁盘进行清理、重建、配置文件系统和挂载,进行系统存储管理调整存储结构】

Linux对磁盘进行清理、重建、配置文件系统和挂载,进行系统存储管理调整存储结构

2024-01-21 19:20:09 972

原创 【Linux上创建一个LVM卷组,将多个物理卷添加到卷组中使用】

实现了在Linux上创建一个LVM卷组,将多个物理卷添加到卷组中,创建一个逻辑卷,格式化该逻辑卷并将其挂载到指定目录,扩展逻辑卷的大小并调整文件系统大小以适应扩展。

2024-01-20 23:01:29 1113 2

原创 Java设计模式之创建型模式 (一)单例模式

可见性问题:当一个线程修改了某个变量的值时,其他线程可能无法立即看到这个修改,而是使用的是该变量的旧值。这是因为每个线程都有自己的工作内存,将变量从主内存加载到工作内存后,对该变量的操作都在工作内存中进行,然后才会将结果写回主内存。当一个线程修改了某个变量的值时,它会先在自己的工作内存中修改,并不会立即写回主内存,因此其他线程无法立即看到这个修改。指令重排序问题:为了优化指令执行的效率,编译器和处理器可能会对指令执行的顺序进行调整,这在不影响单线程执行结果的前提下是允许的。修饰变量,可以解决上述问题。

2023-09-08 18:05:31 439

原创 MySQL库数据 - 索引

看红字部分即可数据库索引是一种数据结构,用于提高数据库中数据的查询效率。索引是在数据表中某一列或多列上创建的数据结构,它可以帮助数据库快速地定位和检索数据。通过使用索引,数据库可以避免全表扫描,从而大大提高查询性能。索引可以类比于书籍的目录,它记录了数据表中每一行数据的位置,使得数据库可以根据索引进行快速的查找。当我们执行查询语句时,数据库引擎会首先检查是否存在适用的索引,如果存在索引,数据库就可以直接定位到索引指定的位置,而不需要遍历整个数据表。这样可以大大减少查询的时间和资源消耗。数据库。

2023-09-08 17:59:07 431

原创 oracle表空间释放

这将导致表行在表中进行重新排列,删除的空间将被回收。,并将所有行都移动到新的表空间中。通过重新组织表,可以。,并释放与Undo段相关联的空间。释放已删除数据的空间。

2023-09-07 11:06:38 1192

原创 Java 序列化和反序列化为什么要实现 Serializable 接口

我们在开发时,需要把所有model包里的类都实现Serializable接口, 同时还要显示指定serialVersionUID的值. 听到这个需求, 我脑海里就突然出现了好几个问题, 比如说:序列化:把对象转换为字节序列的过程称为对象的序列化.反序列化:把字节序列恢复为对象的过程称为对象的反序列化.当我们只在本地JVM里运行下Java实例, 这个时候是不需要什么序列化和反序列化的, 但当我们需要将内存中的对象持久化到磁盘, 数据库中时, 当我们需要与浏览器进行交互时, 当我们需要实现RPC时, 这个时候就

2022-12-20 18:00:19 178

原创 Mysql概念知识

Mysql数据库基础知识为什么要使用数据库数据保存在内存数据保存在文件数据保存在数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)索引有哪几种类型?索引的数据结构(b树,hash)索引的基本原理索引

2022-12-20 17:48:32 1225

原创 23 种设计模式

23 种设计模式设计模式的使用java设计模式的三大类设计模式六大原则:设计模式的故事:1 工厂模式2 建造者模式3 抽象工厂4 原型模式5 单态模式6 适配器模式7 桥梁模式8 合成模式9 装饰模式10 门面模式11 享元模式12 代理模式13 责任链模式14 命令模式15 解释器模式16 迭代模式17 调停者模式18 备忘录模式19 观察者模式20 状态模式21 策略模式22 模板方法模式23 访问者模式设计模式的使用设计模式在软件开发中的两个主要用途。开发人员的共同平台设计模式提供了一个标准的

2022-07-11 09:24:36 142

原创 回味java中的单例模式

回味java中的单例模式1:为什么说饿汉式单例天生就是线程安全的?代码示例:输出结果:结论2:传统的懒汉式单例为什么是非线程安全的?代码实例:输出结果:结论3:怎么修改传统的懒汉式单例,使其线程变得安全?3-1:同步延迟加载 — 在对外获取实例方法上加上`synchronized`关键字输出结果结论:3-2:同步延迟加载 — synchronized块代码示例:输出结果:结论4:线程安全的单例的实现还有哪些,怎么实现?5:双重检查模式、Volatile关键字 在单例模式中的应用6:ThreadLocal 在

2022-04-28 14:53:00 10

原创 GIT 经典操作场景,专治不会合代码

GIT 经典操作场景,专治不会合代码前言提交1:我刚才提交了什么?2:我的提交信息(commit message)写错了3:我提交(commit)里的用户名和邮箱不对4:我想从一个提交(commit)里移除一个文件5:我想删除我的的最后一次提交(commit)6:删除任意提交(commit)7:我尝试推一个修正后的提交(amended commit)到远程,但是报错:8:我意外的做了一次硬重置(hard reset),我想找回我的内容暂存(Staging)1:我需要把暂存的内容添加到上一次的提交(commi

2022-04-28 12:36:17 191

原创 Online-紧急救援-MySQL碎片清理-释放表空间

MySQL碎片清理1:方法 drop1-1:提前备份表 (结构、数据、结构以及数据,`这里使用 ①`)2:方法 truncate3:方法 delete(出现问题的方法)原因:比较前言:公司线上数据库服务器启用了仪表盘监控磁盘空间,收到信息立马着手,确认是mysql的占用空间比较大。于是,确认是哪个表占空间比较大后,删除(delete)了部分数据,但服务器硬盘空间并没有释放掉,警告信息仍然嚣张的存在。1:方法 drop1-1:提前备份表 (结构、数据、结构以及数据,这里使用 ①)导出 ai_imag

2022-04-28 12:33:33 127

原创 MYSQL主从复制

MYSQL主从复制1:安装主库1-1:解压、更名1-2:配置 my.cnf1-3:初始化数据库1-4:查看默认密码、重置root密码、赋权1-5:添加主库配置1-6:重启、查看状态、创建数据同步的用户(备用)2:安装从数据库2-1:解压、更名2-2:配置 /etc/my.cnf2-3:初始化数据库2-4:查看默认密码、重置root密码、赋权2-5:添加从库配置、重启2-6 配置建立同步准备工作linux卸载mysqlrpm包安装方式卸载查包名:rpm -qa|grep -i mysql删除命

2022-01-20 12:18:02 728

转载 K8S 部署 SpringBoot 项目(一篇够用)

K8S 部署 SpringBoot 项目(一篇够用)今天这篇文章主要介绍如何从0开始搭建一套基于K8s部署的SpringBoot案例教程。基础环境准备:1. mac操作系统2. SpringBoot的简单Web工程minikube的环境搭建安装一个适合我们初级入门的k8s环境,比较好的推荐是使用minikube工具,同时使用该工具可以更好地降低我们对k8s的学习门槛。首先我们需要下载minikube文件:curl -Lo minikube https://github.com/kubernet

2022-01-20 12:16:24 1432

转载 聊一聊-JAVA 泛型中的通配符 T,E,K,V,?

聊一聊-JAVA 泛型中的通配符 T,E,K,V,?| 泛型带来的好处| 泛型中通配符前言:Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。| 泛型带来的好处在没有泛型的情况的下,通过对类型 Object 的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进

2022-01-12 12:46:38 73

原创 RedisTemplate set集合使用说明-opsForSet(四)

1、add(K key, V… values)向变量中批量添加值。redisTemplate.opsForSet().add("setValue","A","B","C","B","D","E","F"); 2、members(K key)获取变量中的值。Set set = redisTemplate.opsForSet().members("setValue"); System.out.println("通过members(K key)方法获取变量中的元素值:" + set);

2021-12-14 17:44:13 902

原创 RedisTemplate map集合使用说明-opsForHash(三)

1、put(H key, HK hashKey, HV value)新增hashMap值。redisTemplate.opsForHash().put("hashValue","map1","map1-1"); redisTemplate.opsForHash().put("hashValue","map2","map2-2"); 2、values(H key)获取指定变量中的hashMap值。List<Object> hashList = redisTemplate.opsF

2021-12-14 17:34:57 473

原创 RedisTemplate集合使用说明-opsForList(二)

1、leftPush(K key, V value)在变量左边添加元素值。redisTemplate.opsForList().leftPush("list","a"); redisTemplate.opsForList().leftPush("list","b"); redisTemplate.opsForList().leftPush("list","c"); 2、index(K key, long index)获取集合指定位置的值。String listValue = redis

2021-12-14 17:27:07 600

原创 RedisTemplate使用说明-opsForValue(一)

1、set(K key, V value)新增一个字符串类型的值,key是键,value是值。redisTemplate.opsForValue().set("stringValue","bbb"); 2、get(Object key)获取key键对应的值。String stringValue = redisTemplate.opsForValue().get("stringValue")+""; System.out.println("通过get(Object key)方法获取set(K

2021-12-14 17:17:32 335

原创 21 款 yyds 的 IDEA插件

1、Stackoverflow这个插件其实是最实用的插件,程序猿遇到的问题,基本都能找到回答,但是它使用的是google 搜索引擎,对于,不购买 v*n 的同学来说,感觉好鸡肋。选中需要搜索的问题,然后,右键点击狂拽屌指数:☆实用指数:★★★★★2、FindBugsIDEA 自带的检查工具已经很强大,如有需要也可以加上Alibaba Java Coding Guidelines的代码检查工具。但是,说白这些工具其实更多的是规范性检查,如果需要更深入的去检查异常,可以使用此插件~右键点击文件,

2021-10-20 15:01:47 65

原创 redis集群搭建

redis集群1:所需安装包2:配置节点2-1:创建文件夹 `/usr/local/redis/cluster` 修改配置文件 `redis-8001.conf` :2-2:然后复制各个节点,以 `node+number` 命名3:启动所有 redis3-1:启动脚本 `start-redis-all.sh`3-2:赋权执行4:所需插件安装4-1:安装ruby,并检查版本4-2:注意事项4-3:升级ruby5:安装集群插件并启动集群1:所需安装包redis-4.0.0.tar.gzredis-4.1.

2021-10-20 14:57:11 547 1

原创 base64(commons-codec 1.13) 版本不能正常解密微信的消息

commons-codec 1.13 版本不能正常解密微信的消息Base64编码异常bug具体场景出现的原因解决办法创建一个表格Base64编码异常bugbase64是一种基本的加密算法,在Java中可以使用java自带的base64编码,也可以用apache 的commons-codec包。最近在使用commons-codec 1.10 版本能正常解密微信的消息,升级为1.13后出现了不能正常decode,出现异常。具体场景 /** * 私钥解密 * * @param data 待

2021-04-27 09:47:03 1007 2

原创 Spring Boot项目打包Docker镜像

Spring Boot项目打包Docker镜像1.编写 Dockerfile 文件2.加入 spring boot 根路径, 进行 mvn package 打包3.打包上传项目并解压4.进入 xiaotong_receive_data_web 项目目录执行打包命令、查看镜像、运行容器、查看容器、根据容器ID导出镜像文件 xiaotong_receive_data_web.tar5.镜像上传部署服务器,导入镜像运行容器1.编写 Dockerfile 文件FROM openjdk:8-jdk-alpine

2021-03-12 20:19:37 165

原创 MySQL数据库备份手册

MySQL数据库备份手册一、库操作1.数据库备份直接迁移:2.导出所有数据库 (包括系统数据库)3.导单个库表结构及表数据4.导出几个数据库。参数后面所有名字参量都被看作数据库名。 ( --databases, -B )一、表操作1.导出 表结构、表数据、表结构以及表数据2.按条件导出 SQL 文件一、库操作1.数据库备份直接迁移:将192.168.110.110服务器中的db1数据库的所有数据导入到192.168.119.119中的db2数据库中,db2的数据库必须存在否则会报错mysqldump

2021-03-12 20:02:50 249

原创 对Spring Boot应用程序构建Docker镜像的审视

目录☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀1:需要什么2:Spring Boot项目打包,压缩 zip 上传至服务器3:编写Dockerfile:4:制作项目镜像,启动项目☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀官网PB:         This guide walks you through the process of building a Docker image f

2020-11-04 18:20:59 139 1

原创 线程 run 方法中调用 service 报 java.lang.NullPointerException

线程 run 方法中调用 service 报 java.lang.NullPointerException前言壹:场景贰:原因叁:方法肆:实现前言Spring Boot使用线程的run方法中调用service报java.lang.NullPointerException提示:以下是本篇文章正文内容,下面案例可供参考壹:场景        多线程的情况下run方法体中调用业务层的方法。贰:原因 &nbs

2020-10-29 16:59:38 2295 4

原创 Spring Boot 常用注解

Spring Boot 常用注解目录@SpringBootApplication@Configuration@EnableAutoConfiguration@ComponentScan@Component@RestController@Autowired@PathVariable@JsonBackReference@RepositoryRestResourcepublic合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左

2020-10-16 17:11:11 161 1

原创 小驴告诉你什么是Git工作区和暂存区

工作区和暂存区各自的概念工作区:就是你在电脑里能看到的目录暂存区:英文叫stage, 或index。一般存放在 “.git目录下” 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。❉❉❉❉❉❉❉❉❉❉...

2020-08-14 15:20:39 207

原创 git commit操作后悔了!没关系!撤销commit再提交,或者......

git commit失误第一步:先看日志第二步:撤销第 N 步:若仅仅只是修改提交后的日志第一步:先看日志命令:git log --pretty=oneline> 命令拓展:git log --pretty=onelinegit log --pretty=shortgit log --pretty=fullgit log --pretty=fuller还可以定制行数:git log --pretty=oneline -4第二步:撤销命令:git reset --soft HE

2020-08-14 15:16:43 6440 3

原创 Spring Xml配置与Spring配置类配置比较

Spring Xml配置与Spring配置类配置比较这里用的是Shiro的Web过滤器配置类如下:package com.jhkj.management.common.shiro;import org.apache.shiro.authc.credential.HashedCredentialsMatcher;import org.apache.shiro.mgt.SecurityManager;import org.apache.shiro.session.mgt.SessionManager;

2020-08-05 18:21:08 469

原创 1030 - Got error 28 from storage engine

1030 - Got error 28 from storage engine如下图所示:MySQL数据库如果碰见这样的报错说明你当前数据库所在的服务器 磁盘空间 不足!!方法如下:解决方法一:首先进入 “/” 目录,即根目录。执行 df -h 命令你会发现那个目录占用空间比较大。删除多余的备份文件。解决方法二:修改 my.cnf 中的 tmpdir 参数,指向具有足够空间目录。解决方法三:清空 /tmp 目录,对于服务器而言这里都是临时文件(此方法不建议使用! )提示

2020-08-04 15:47:45 504

原创 Linux Oracle11安装

Linux Oracle11安装目录安装准备功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入目录安装准备服务器:...

2020-01-04 22:33:20 886

原创 WebSphere Application Server集群数据源配置

jdbc:oracle:thin:@( description=( ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.234)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.234)(...

2019-12-26 18:40:32 300

原创 Apache软件基金会档案

Apache 公共软件版本档案http://archive.apache.org/dist/

2019-12-13 15:52:58 411

原创 CentOS、Redhat桥接模式下固定IP

第一步进入 network-scripts/ 目录下cd /etc/sysconfig/network-scripts/第二步ls 查看自己启用的网卡名字进行编辑,我这里是 ifcfg-ens33第三步编辑 ifcfg-ens33 文件,完事儿保存退出vim ifcfg-ens33 更改以及更新项如下:ONBOOT=YES #no换成yesBOOTPROT...

2019-12-09 22:50:20 187

原创 -bash: ifconfig: 未找到命令

解决这个问题只需用一个命令:yum -y install net-tools大家会问 net-tools 是个什么东东呐?net-tools 是 Linux 网络的基础程序没有筷子你是吃不了饭的。哈哈!提示本人以抱着学习的态度去分享,以上内容如有雷同,不胜荣幸!...

2019-12-09 21:48:05 307

Websphere Application Server 部署Spring Boot项目源码.zip

Websphere Application Server 部署Spring Boot项目源码,架构包括:SpringMVC + Spring + Mybatis + DB(Oracle)

2019-11-29

IBM Installation Manager.txt

在安装任何 Edge Components 产品之前,需要安装 IBM Installation Manager。 1:访问物理介质并使用本地安装:您可以访问产品介质上的 Installation Manager 和产品存储库。将 Installation Manager 安装在系统上,然后使用它从介质上的产品存储库中安装产品。 2:从 IBM Passport Advantage 站点下载文件并使用本地安装:许可客户可以从 Passport Advantage 站点下载 Installation Manager 以及必要的产品存储库。然后可以将 Installation Manager 安装在系统上,并使用它从这些存储库中安装产品。 3:从 Installation Manager Web 站点下载文件并使用基于 Web 的安装:您可以从 IBM Installation Manager Web 站点下载一个包含 Installation Manager 的压缩文件并将其解包。然后可以将 Installation Manager 安装在本地系统,并使用它从基于 Web 的存储库中安装

2019-11-22

WebSphere Application Server9.0.0.2.txt

WebSphere Application Server9.0.0.2 安装包百度云盘资源地址,非商业用途,仅供学习使用。

2019-11-22

WAS集群负载文档.7z

Websphere Application Server安装、部署、Websphere Application Server集群以及 IBM HTTP Server(IHS)负载请求

2019-11-12

Windows之bat魔力 删除、移动、拷贝

windows下bat可执行批处理文件,此文件包含内容删除、复制、以及目录显示等...

2019-10-15

空空如也

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

TA关注的人

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