- 博客(59)
- 问答 (9)
- 收藏
- 关注

原创 教你如何用java定义一个属于自己的文件
关于文件格式,引用一下百度百科的定义:文件格式(或文件类型)是指电脑为了存储信息而使用的对信息的特殊编码方式,是用于识别内部储存的资料。比如有的储存图片,有的储存程序,有的储存文字信息。每一类信息,都可以一种或多种文件格式保存在电脑存储中。每一种文件格式通常会有一种或多种扩展名可以用来识别,但也可能没有扩展名。扩展名可以帮助应用程序识别的文件格式。对于硬盘机或任何电脑存储来说,有效的信息只有0和1两种。所以电脑必须设计有相应的方式进行信息-位元的转换。对于不同的信息有不同的存储格式。文件格式也意味
2021-03-23 10:34:44
2742
2

原创 word换pdf并且自动生成目录
目录利用aspose-word for java和aspose-pdf for java完成word转pdf并且生成目录1. jacob2. aspose2.1 利用aspose-word for java将word转为pdf2.2利用aspose-word for java提取word中的标题2.3利用aspose-pdffor java插入pdf书签利用aspose-word for java和aspose-pdf for java完成word转pdf并且生成目录...
2021-03-03 15:20:38
2502
15

原创 关于虚拟机配置IP以及端口映射
关于虚拟机配置IP以及端口映射在很多情况下需要用虚拟机去搭建一些服务器,那么如何让别人用宿主机的ip访问到服务器呢?接下来一步一步配置:首先打开vmware,配置网络:确保配置如图中所示。选择“编辑”下的“虚拟网络编辑”选择vmnet8,如下:做好这些配置就查最后一步了,就是要做端口映射点击添加完了之后,按照界面输入转发端口信息即可。点我有惊喜最终配置的结果是这样的...
2020-12-15 16:50:35
2531
4

原创 Mybatis插入时间为null解决方案
今天在开发项目的时候遇到了一个之前没有遇到过的问题,所以在这里记录下。我们在实际项目开发中,都会遇到类似于这样的操作:需要将一个表中的数据查询出来之后做处理,然后再插入到另外一个表中,这个是再常见不过的了。那么就会有以下这种问题,上一个表中查询出来的数据为null的时候,mybatis会怎么去将它进行插入呢?首先,我说明一下我查询出来的是时间类型,而且有可能字段null,然后插入的时候...
2019-07-13 16:42:25
8318
4
原创 深入了解 MySQL 中的 Metadata Lock(MDL)
Metadata Lock(MDL)是一种用于保护数据库对象(如表)在进行结构性操作时的一致性的锁机制。它保证在进行涉及表结构的操作(如修改表结构、删除表等)时,表的结构不会被其他并发操作修改或访问。Metadata Lock(MDL)在 MySQL 中扮演着至关重要的角色,确保在进行表结构操作时数据的一致性和完整性。通过了解 MDL 的工作机制、如何查看当前的 MDL 锁以及如何解决常见问题,你可以更好地管理 MySQL 数据库中的并发操作和性能优化。
2024-08-28 14:40:38
1361
原创 MySQL触发器(Trigger)详解及使用
在SQL中,我们可以使用new得到修改后的row,使用old得到修改前的row。通过new、old可以获取具体的字段,比如:new.username可以得到修改后的username,old.username可以得到修改前的username。触发器(Trigger)是MySQL数据库提供的一种数据库对象,用于在对表数据进行更改(插入、修改、删除)时自动执行预先定义的动作。说明:我将数据表对象转换成json字符串,这样更通用,更合理一些。以下我们就拿根据表数据变化记录变化日志为例子,深入学习一下。
2024-08-28 09:21:01
492
原创 MySQL存储过程深入指南
存储过程(Stored Procedure)是预先编译并存储在数据库中的一组SQL语句。通过存储过程,我们可以将一系列操作封装起来,作为一个单元进行调用。存储过程不仅可以简化复杂的操作,还可以提高性能、增强安全性和减少网络流量。存储过程是MySQL中一个强大的功能,能够有效提升应用程序的性能和维护性。通过本文的介绍,希望你能够掌握存储过程的创建、调用、管理和优化方法,在实际工作中灵活运用存储过程,提高数据库操作的效率和安全性。
2024-08-20 15:47:17
1020
1
原创 MySQL视图详解:概念、用法及优点
MySQL视图是一种强大的工具,它能够帮助简化复杂的查询,增强数据安全性,并提供数据抽象。了解视图的概念、用法及其优点可以帮助你更好地管理和使用数据库。然而,视图的性能和更新限制需要特别注意,确保在实际应用中能够获得最佳的效果。希望本文能帮助你更好地理解和使用MySQL视图。如果你有任何问题或需要进一步的帮助,请随时在评论区留言!
2024-08-15 15:47:33
577
原创 优化 SQL 查询性能:深入理解 EXPLAIN 命令
通过 EXPLAIN 命令,我们可以深入了解查询的执行计划,并找到性能瓶颈。使用 EXPLAIN 可以帮助我们做出优化决策,例如添加适当的索引、优化排序操作,以及减少不必要的表扫描。掌握这些技能,可以显著提升 SQL 查询的性能,确保数据库的高效运行。“优化不是一个目标,而是一个过程。
2024-08-15 09:56:58
1024
原创 MySQL 中主键索引的页分裂:深入探讨
在 MySQL 的 InnoDB 存储引擎中,页(Page)是数据存储的基本单位。每个页通常包含了多个数据行或索引项。当对表执行插入或更新操作时,数据需要被存储在这些页中。页分裂是指在插入新数据时,原本已经满了的页会被分裂成两个页的过程。这个过程是为了保持 B+ 树索引的平衡性和高效性。页分裂的发生使得数据在新的页上继续存储,从而避免页的过度拥挤。页分裂是 MySQL InnoDB 存储引擎中 B+ 树索引的重要维护机制,它确保了数据结构的平衡和查询的高效性。
2024-08-14 11:20:11
741
1
原创 Java NIO学习之Paths、Files相关用法
Paths主要用来处理文件路径,相比于传统靠String存储文件路径,Paths显得更直观、更简洁。如何获取到字符串格式的文件路径呢?
2023-09-23 14:11:42
312
原创 深入学习MySQL索引:优化数据库性能的关键
MySQL索引是一种用于提高数据库性能和优化数据检索过程的关键技术。无论是在小型应用还是大型企业级系统中,索引都扮演着重要的角色,对于快速、高效地检索和操作数据库非常关键。MySQL索引可以理解为类似于书籍目录的结构,它们存储了指向数据库中特定数据的指针,使得查询可以更迅速地定位到所需的数据行,而不必全表扫描。这就像是在一本书中使用索引页来快速找到所需内容,而不是逐页翻阅整本书一样。通过创建适当的索引,可以显著提高数据库的性能和查询效率。
2023-07-20 14:08:17
220
1
原创 MySQL MVCC学习总结
在Repeatable Read隔离级别,在事务开始前创建ReadView,在本事务中所有查询都用这一个ReadView,不会再次去创建ReadView。MVCC只有在事务隔离界别:读已提交(Read Commited)和可重复读(Repeatable Read)的隔离接别下工作。在Read Commited隔离级别,每次查询都需要创建新的ReadView。这个东西还是有些抽象,有些绕,大家多花点时间肯定能想通,能搞明白的!MVCC是借助UndoLog和ReadView实现的。
2023-07-07 11:28:07
274
原创 MySQL数据库事务隔离级别学习总结
1.以上事务级别按照数据一致性排序是由低到高,但是按照并发性能排序是由高到低。不可重复读:指同一个事务内多次读取数据会出现不一致,重点强调数据的修改。幻读:指同一个事务内按照相同查询条件获取到的数据不一致,重点强调数据的插入和删除。
2023-07-04 17:10:15
282
原创 还在用InputStream的available()方法获取流的字节数吗?那你可要小心了!
奇怪的事情就发生了,上传的pdf文件下载下来打不开,提示“文件已损坏”。然后按照上面的方式试了一个world文件,结果还是打不开。完犊子了,这代码看着也没问题啊,奇了怪了。因为项目一直就用上面代码的方式去上传文件的啊,要是有问题肯定早就有问题了啊,这个排除掉。因为项目需求,需要从一个url获取文件流然后保存到minio文件服务器中。你说没有获取到流也不对啊,因为确实是上传了一个文件,只是打不开罢了。就去看两个文件的大小,确实是这样,只上传了一部分上去。所以,最后将问题定位到获取到的流肯定没有上传完整。
2023-06-06 14:27:00
837
原创 Linux shell脚本-定时任务清空所有docker容器日志
以上代码会遍历所有/data/docker/containers路径下的docker容器,然后向containerId-json.log日志文件中写入指定内容去清空容器日志,防止容器日志过大导致磁盘空间被占满。
2023-05-05 09:00:53
388
原创 ArrayList和LinkedList:Java中的两种常见数据结构
ArrayList和LinkedList都是Java集合框架中的类。ArrayList是一个基于数组的实现,它可以动态调整大小以容纳更多的元素。LinkedList是一个基于链表的实现,它可以在任何位置插入或删除元素。
2023-04-28 10:22:58
595
原创 Java数据结构学习
在上面的代码中,我们为每个枚举常量指定了一个值,并且为枚举类型定义了一个私有的成员变量value和一个公共的方法getValue(),以便我们可以获取每个枚举常量的值。总之,Java中的enum是一种非常实用的数据类型,可以提高代码的安全性、可读性和可维护性。便于维护:当需要增加或删除常量时,只需要修改枚举类型的定义即可,不需要修改大量的代码。安全性高:枚举类型的值是预定义的,不允许修改,因此可以保证代码的安全性。可读性好:枚举类型可以为常量指定有意义的名称,提高了代码的可读性。
2023-04-27 10:16:28
123
原创 ES使用命令说明总结
ES使用命令说明索引映射相关# 查询索引GET goods_index# 添加索引PUT person# 添加映射PUT person/_mapping{ "properties": { "name": { "type":"keyword" }, "age": { "type":"integer" } }}# 查询映射GET person/_mapping# 创建并添加映射PUT perso
2022-02-14 09:22:36
2252
原创 还在为mongodb事务犯愁吗?我感觉一切都回来了!
一、数据备份以及还原1. 数据备份mongodb使用mongodump命令对数据库进行备份。mongodump -h host:port -d dbname -o dbdumptargetfilepath说明:-h:指定mongodb所在服务器地址(需要备份)。比如:127.0.0.1或者127.0.0.1:27017-d:需要备份的数据库实例-o:备份数据存放的文件路径2.数据还原mongodb使用mongorestore命令进行数据库还原。mongorestore -h hos
2021-10-25 17:00:29
360
1
原创 还在发愁怎么设计mongodb吗?那就直接点进来吧
MongdDB设计参考(Part1)Part 1原文:6 Rules of Thumb for MongoDB Schema Design: Part 1By William Zola, Lead Technical Support Engineer at MongoDB“我有丰富的sql使用经验,但是我是个MongoDB的初学者。我应该如何在MongoDB中针对一对多关系进行建模?”这是我被问及最多的问题之一。我没法简单的给出答案,因为这有很多方案去实现。接下来我会教导你如何针对一对多进行建模。
2021-10-14 17:19:42
227
原创 还不会基于redis的分布式锁吗?超级详细,手把手教学,包教包会
分布式锁-redis实现方式随着项目架构由最简单的单体结构,到后面的集群模式,再到后面的微服务架构,架构开始也越来越复杂。传统的jvm进程锁可能满足不了当前的软件架构,所以分布式锁越来越多被用到。说起分布式锁,可能实现方式有很多,常见的可能有以下几种:基于数据库基于redis基于zookeeper基于数据库基于数据库的设计比较简单,原理就是根据数据库唯一索引。实现方式自己可以上网搜索,本文就不着重说明。基于redisredis为什么能做分布式锁,是因为redis是属于单线程模型,底层是
2021-09-28 11:11:05
193
1
原创 关于VMware强行退出导致无法启动问题记录
关于VMware强行退出导致无法启动问题记录问题描述由于公司断电而导致了电脑没有正常关机,今天早上突然就发现了虚拟机无法正常启动的现象。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y0hYlJDa-1632274081971)(C:\Users\Abzz\AppData\Roaming\Typora\typora-user-images\image-20210922092410212.png)]解决办法在网上找了半天解决方案,最终启动成功。具体解决办法如下:
2021-09-22 09:28:36
548
转载 MySQL教程之MySQL定时备份数据库
MySQL教程之MySQL定时备份数据库一、MySQL数据备份1.mysqldump命令备份数据在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump,我们可以通过命令行直接实现数据库内容的导出dump,首先我们简单了解一下mysqldump命令用法:#MySQLdump常用mysqldump -u root -p --databases 数据库1 数据库2 > xxx.sql2.mysqldump常用操作示例2.1备份全部数据库的数据和结构mysqldu
2021-07-22 16:03:49
205
原创 江湖失传已久的功夫,确定不来看一下吗?spring boot整合webservice,实现webservice客户端
自话自说挤地铁、上班、吃饭、打球。基本上现在的生活每天都是这样,少了些激情,多了些安稳。生活可以平平淡淡,但是不可以乱七八糟。Spring Boot整合webservice实现客户端远程调用其实我自己也没有接触过webservice开发,可能是技术太早了吧。但是项目里面避免不了远程调用,而对于那些有些年头的系统来说,他们就是开发的webservice服务。所以还是避免不了去学习一下这门技术。根据wsdl生成客户端代码生成方式有好多种,本文就介绍用jdk生成的方法,其他的请各位看官自行百度即可。
2021-06-03 16:08:04
738
1
空空如也
Spring Boot获取请求参数中文乱码问题
2022-04-12
Spring boot定时任务问题
2022-03-10
java获取控制台输入问题
2021-10-26
关于mongotemplate的问题,官网的这个例子有点没看懂。
2021-10-18
java8 map,put()问题?是重排序了吗?
2021-10-15
maven多模块项目日志问题
2021-05-25
spring 定时任务
2021-04-30
有没有大佬解释下“自定义文件格式”原理啊?小弟感激不尽!!!
2020-12-03
遇到了一个很奇葩的问题?
2017-03-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人