程序开发 Mybatis 详解及详细使用教程 一、Mybatis 是什么 MyBatis 是一个开源、轻量级的数据持久化框架,是 JDBC 和 Hibernate 的替代方案。MyBatis 内部封装了 JDBC,简化了加载驱动、创建连接、创建 statement 等繁杂的过程,开发者只需要关注 SQL 语句本身。 MyBatis 支持定制化 SQL、存储过程以及高级映射,可以在实体类和 SQL 语句之间建立映射关系,是一种半自动化的 ORM…
经验教程 Docker 搭建最新版本 Minio 以及设置桶为公开权限 Minio 简介 Minio是一个高性能、分布式的对象存储服务,可以用于存储和检索大量的非结构化数据,例如图像、视频、日志文件和备份数据等。Minio可以部署在本地或云端环境中,支持常用的API和协议,例如Amazon S3 API、OpenStack Swift API和Azure Blob Storage API等。 Minio采用了分布式架构,可以将数据分散存储在多个节点中,从而提高了数据的…
经验教程 微服务系列之 Docker 安装 ELK ELK 简介 ELK 是一个开源的日志管理解决方案,由 Elasticsearch、Logstash 和 Kibana 三个组件构成。每个组件的作用如下: Elasticsearch:分布式搜索引擎,用于存储、搜索和分析日志数据。 Logstash:日志收集、处理和转换工具,用于将不同来源的日志数据收集并处理成统一格式,以便于存储和分析。 Kibana:数据可视化工具,用于查询、分析和展示 Ela…
瞎折腾 Elasticsearch 搜索和数据分析引擎基本安装和使用教程 一、简介和安装 ElasticSearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。 这里使用 Docker 安装 Elasticsearch: docker run -d \ –name elasticsearch \ -p 9200:9200 \ -p 9300:9300 \ -e "discovery…
经验教程 微服务系列之 Docker 安装 Rabbitmq 现在很多中间件都提供了 Docker 容器运行的方式,这样大大降低了初学者的学习成本,提高了效率。 Rabbitmq 也不例外,今天介绍一下如何用 docker 安装,其实也比较简单。 docker run -d \ –name rabbitmq \ -p 15672:15672 \ -p 5672:5672 \ –hostname rabbitmq \ –restart always \ …
经验教程 RabbitMQ 简介和安装以及使用详解 一、RabbitMQ 相关概念 RabbitMQ 整体上是一个生产者与消费者模型,主要负责接收、存储和转发消息。可以把消息传递的过程想象成:当你将一个包裹送到邮局,邮局会暂存并最终将邮件通过邮递员送到收件人的手上,RabbitMQ 就好比邮局、邮箱和邮递员组成的一个系统。从计算机术语层面来说,RabbitMQ 模型更像是一种交换机模型。 1 生产者和消费者 Producer:生产者,投递消息的一方…
程序开发 Java 包装类型的缓存机制 缓存机制介绍 Java 基本数据类型的包装类型的大部分都用到了缓存机制来提升性能。 Byte,Short,Integer,Long 这 4 种包装类默认创建了数值 [-128,127] 的相应类型的缓存数据,Character 创建了数值在 [0,127] 范围的缓存数据,Boolean 直接返回 True or False。 Integer 缓存源码: public static Integer…
运维开发 crontab定时任务实现开机自启程序 如果有这样一个脚本任务,仅仅需要开机后运行一次,那么,可以通过 @reboot 和 crontab 结合的方式实现。 如果是系统自带命令任务,@reboot不一定会执行,由于系统开机初始化,很有可能系统自带命令运行环境并不满足,但 crontab 已经开始执行@reboot,从而造成命令运行失败。 # 开机马上启动,如果依赖其他服务,可能导致脚本执行失败 @reboot /home/test.sh…
程序开发 遍历 Map 最常用的两种方式 使用 for-each 循环遍历 Map 中的键值对 Map<String, Integer> map = new HashMap<String, Integer>(); for (Map.Entry<String, Integer> entry : map.entrySet()) { String key = entry.getKey(); Integer v…
程序开发 Mybatis-plus 中 Java 的 Map 类型如何对应 Mysql 数据库中的 varchar 比如我现在有如下实体类,那么数据肯定是不能直接插入数据库的,因为 mysql 中 varchar 对应的 java 类型应该是 String,而不是 Map。 @Data @NoArgsConstructor @AllArgsConstructor @Accessors(chain = true) public class File { private Integer id; private Ma…
运维开发 详解 linux 路由 route 命令 route 命令用于查看和操作Linux操作系统中的路由表。它允许您添加,删除和修改路由表的条目,以确定数据包从一台计算机到另一台计算机的传输路径。 以下是一些 route 命令的常用选项: route -n:以数字格式显示路由表。这将以 IP 地址和网络掩码的数字形式而非主机名和网络掩码的形式来显示路由表的内容。 route add:添加新的路由表项。 route del:从路由表中删除一条路由…
运维开发 Docker 宿主机不能访问了?这篇文章帮你解决网卡与内网 ip 段的冲突问题 众所周知,docker 默认的网桥网卡地址是 172.17.0.1/16,如果新建网卡的话地址是 172.18.0.1/16。依此类推,再创建了多块网卡以后,总有一块网卡地址会变成 172.21.0.1/16。 不巧的是公司内网也是 172.21.0.1/16 网段,每次连接 docker 宿主机时都会死活连不上,猜测应该是这里的影响。 于是想办法修改 docker 的网络地址池,在 /etc/d…