自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

abzz的博客

天选打工人

  • 博客(53)
  • 问答 (9)
  • 收藏
  • 关注

原创 教你如何用java定义一个属于自己的文件

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

2021-03-23 10:34:44 2472 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 2121 13

原创 关于虚拟机配置IP以及端口映射

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

2020-12-15 16:50:35 2163 4

原创 Mybatis插入时间为null解决方案

今天在开发项目的时候遇到了一个之前没有遇到过的问题,所以在这里记录下。我们在实际项目开发中,都会遇到类似于这样的操作:需要将一个表中的数据查询出来之后做处理,然后再插入到另外一个表中,这个是再常见不过的了。那么就会有以下这种问题,上一个表中查询出来的数据为null的时候,mybatis会怎么去将它进行插入呢?首先,我说明一下我查询出来的是时间类型,而且有可能字段null,然后插入的时候...

2019-07-13 16:42:25 7824 4

原创 MySQL根据binlog恢复数据库相关命令

【代码】MySQL根据binlog恢复数据库相关命令。

2023-11-13 14:25:02 97

原创 Java NIO学习之Paths、Files相关用法

Paths主要用来处理文件路径,相比于传统靠String存储文件路径,Paths显得更直观、更简洁。如何获取到字符串格式的文件路径呢?

2023-09-23 14:11:42 195

原创 搞活系列-Java NIO之偏偏不用buffer.flip()会出现什么问题?

逻辑也比较简单,只是将一个文件中的文本内复制到另外一个文件中。

2023-07-31 17:09:22 543

原创 深入学习MySQL索引:优化数据库性能的关键

MySQL索引是一种用于提高数据库性能和优化数据检索过程的关键技术。无论是在小型应用还是大型企业级系统中,索引都扮演着重要的角色,对于快速、高效地检索和操作数据库非常关键。MySQL索引可以理解为类似于书籍目录的结构,它们存储了指向数据库中特定数据的指针,使得查询可以更迅速地定位到所需的数据行,而不必全表扫描。这就像是在一本书中使用索引页来快速找到所需内容,而不是逐页翻阅整本书一样。通过创建适当的索引,可以显著提高数据库的性能和查询效率。

2023-07-20 14:08:17 141 1

原创 MySQL Explain命令参数参考

当你在MySQL中执行一条查询语句时,可以使用"EXPLAIN"关键字来获取查询执行计划的详细信息。

2023-07-19 10:51:26 201

原创 MySQL MVCC学习总结

在Repeatable Read隔离级别,在事务开始前创建ReadView,在本事务中所有查询都用这一个ReadView,不会再次去创建ReadView。MVCC只有在事务隔离界别:读已提交(Read Commited)和可重复读(Repeatable Read)的隔离接别下工作。在Read Commited隔离级别,每次查询都需要创建新的ReadView。这个东西还是有些抽象,有些绕,大家多花点时间肯定能想通,能搞明白的!MVCC是借助UndoLog和ReadView实现的。

2023-07-07 11:28:07 213

原创 MySQL数据库事务隔离级别学习总结

1.以上事务级别按照数据一致性排序是由低到高,但是按照并发性能排序是由高到低。不可重复读:指同一个事务内多次读取数据会出现不一致,重点强调数据的修改。幻读:指同一个事务内按照相同查询条件获取到的数据不一致,重点强调数据的插入和删除。

2023-07-04 17:10:15 219

原创 Docker搭建MySql主从集群

【代码】Docker搭建MySql主从集群。

2023-06-25 16:47:33 61

原创 Docker安装和卸载

【代码】Docker安装和卸载。

2023-06-20 16:13:33 78

原创 还在用InputStream的available()方法获取流的字节数吗?那你可要小心了!

奇怪的事情就发生了,上传的pdf文件下载下来打不开,提示“文件已损坏”。然后按照上面的方式试了一个world文件,结果还是打不开。完犊子了,这代码看着也没问题啊,奇了怪了。因为项目一直就用上面代码的方式去上传文件的啊,要是有问题肯定早就有问题了啊,这个排除掉。因为项目需求,需要从一个url获取文件流然后保存到minio文件服务器中。你说没有获取到流也不对啊,因为确实是上传了一个文件,只是打不开罢了。就去看两个文件的大小,确实是这样,只上传了一部分上去。所以,最后将问题定位到获取到的流肯定没有上传完整。

2023-06-06 14:27:00 695

原创 Linux shell脚本-定时任务清空所有docker容器日志

以上代码会遍历所有/data/docker/containers路径下的docker容器,然后向containerId-json.log日志文件中写入指定内容去清空容器日志,防止容器日志过大导致磁盘空间被占满。

2023-05-05 09:00:53 266 1

原创 ArrayList和LinkedList:Java中的两种常见数据结构

ArrayList和LinkedList都是Java集合框架中的类。ArrayList是一个基于数组的实现,它可以动态调整大小以容纳更多的元素。LinkedList是一个基于链表的实现,它可以在任何位置插入或删除元素。

2023-04-28 10:22:58 515

原创 Java数据结构学习

在上面的代码中,我们为每个枚举常量指定了一个值,并且为枚举类型定义了一个私有的成员变量value和一个公共的方法getValue(),以便我们可以获取每个枚举常量的值。总之,Java中的enum是一种非常实用的数据类型,可以提高代码的安全性、可读性和可维护性。便于维护:当需要增加或删除常量时,只需要修改枚举类型的定义即可,不需要修改大量的代码。安全性高:枚举类型的值是预定义的,不允许修改,因此可以保证代码的安全性。可读性好:枚举类型可以为常量指定有意义的名称,提高了代码的可读性。

2023-04-27 10:16:28 71

原创 Aspose.PDF for Java系列8-转化HTML为PDF

Aspose.PDF for Java

2023-01-05 10:03:14 1841 1

原创 Aspose.PDF for Java系列7-转化PDF文档为PowerPoint

Aspose.PDF for Java

2023-01-04 14:35:58 612

原创 Aspose.PDF for Java系列6-转化PDF文档为Excel

Aspose.PDF for Java

2023-01-03 15:19:29 751

原创 Aspose.PDF for Java系列5-转化PDF文档为Word

Aspose.PDF for Java

2022-12-30 18:22:51 1470

原创 Aspose.PDF for Java系列4-基本操作

Aspose.PDF for Java

2022-12-29 14:34:53 904

原创 Aspose.PDF for Java系列3-创建复杂的PDF

Aspose.PDF for Java

2022-12-29 14:05:39 681

原创 Aspose.PDF for Java系列2-Hello World Java Example

Aspose.PDF for Java

2022-12-28 14:31:23 225

原创 Aspose.PDF for Java系列1-使用前说明

Aspose.PDF for Java

2022-12-28 13:53:55 972

原创 微信公众号对接流程说明

微信对接

2022-10-19 09:42:10 1325

原创 HTTP请求头Content-Type总结说明

HTTP请求头Content-Type参数总结说明

2022-05-16 13:49:18 592

原创 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 2171

原创 还在为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 288 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 167

原创 还不会基于redis的分布式锁吗?超级详细,手把手教学,包教包会

分布式锁-redis实现方式随着项目架构由最简单的单体结构,到后面的集群模式,再到后面的微服务架构,架构开始也越来越复杂。传统的jvm进程锁可能满足不了当前的软件架构,所以分布式锁越来越多被用到。说起分布式锁,可能实现方式有很多,常见的可能有以下几种:基于数据库基于redis基于zookeeper基于数据库基于数据库的设计比较简单,原理就是根据数据库唯一索引。实现方式自己可以上网搜索,本文就不着重说明。基于redisredis为什么能做分布式锁,是因为redis是属于单线程模型,底层是

2021-09-28 11:11:05 150 1

原创 关于VMware强行退出导致无法启动问题记录

关于VMware强行退出导致无法启动问题记录问题描述由于公司断电而导致了电脑没有正常关机,今天早上突然就发现了虚拟机无法正常启动的现象。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y0hYlJDa-1632274081971)(C:\Users\Abzz\AppData\Roaming\Typora\typora-user-images\image-20210922092410212.png)]解决办法在网上找了半天解决方案,最终启动成功。具体解决办法如下:

2021-09-22 09:28:36 432

转载 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 135

原创 江湖失传已久的功夫,确定不来看一下吗?spring boot整合webservice,实现webservice客户端

自话自说挤地铁、上班、吃饭、打球。基本上现在的生活每天都是这样,少了些激情,多了些安稳。生活可以平平淡淡,但是不可以乱七八糟。Spring Boot整合webservice实现客户端远程调用其实我自己也没有接触过webservice开发,可能是技术太早了吧。但是项目里面避免不了远程调用,而对于那些有些年头的系统来说,他们就是开发的webservice服务。所以还是避免不了去学习一下这门技术。根据wsdl生成客户端代码生成方式有好多种,本文就介绍用jdk生成的方法,其他的请各位看官自行百度即可。

2021-06-03 16:08:04 656 1

原创 Java虚拟机学习之GC算法

jvm主要的gc算法有:标记-清除(Mark-Sweep)、复制(Copying)、标记-整理(Mark-Compact)和分代收集(Generational Collection)1. 标记-清除(Mark-Sweep)算法原理介绍:首先标记处所有需要回收的对象,等待标记完成之后一次性将全部标记对象回收示意图:缺点:效率不高、空间问题(这个算法会产生很多不连续的内存碎片)2.复制(Copying)算法原理介绍:将内存分为大小相等的两块,每次只使用其中的一块。当这一块内存用完时.

2021-03-04 11:16:39 102 1

原创 Java虚拟机学习之对象在jvm内存中的布局

Java对象在jvm内存中的布局主要有三个部分:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)一、对象头(Header) 对象头(Header)包括两个部分。 第一部分存储自身运行时数据,如:哈希码(Hash Code)、GC分代年龄、锁状态标志、线程持有锁、偏向线程id、偏向时间戳等。这部分官方称为“Mark Word”。 另一部分是类型指针,即对象指向它的类元数据的指针。虚拟机通过这个来确定这个对象是哪个类的实例。二、实例数据(Ins...

2021-02-26 10:07:30 200

原创 Java虚拟机学习之对象内存分配

Java虚拟机学习之对象内存分配java对象使用new关键字新建之后,通过类加载检查后,需要给对象分配内存。java虚拟机主要有两种方式:1. 指针碰撞(Bump The Pointer)2. 空闲列表(Free List)一、指针碰撞如果java堆中内存是绝对规整的,即已使用的内存放在一遍,空闲内存放在另外一边,指针指向两块内存分界点。这种情况下为对象分配内存就只是把指针往空闲内存那边移动对象内存大小相等的距离,这种分配方式就称为“指针碰撞”(Bump The Pointer)。二

2021-02-24 10:58:25 92

原创 MongoDB数据库设计总结

https://app.yinxiang.com/shard/s62/nl/1/647733af-2457-4162-8df4-7fd8f8bb6554?title=MongoDB%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%BE%E8%AE%A1%E6%80%BB%E7%BB%93

2019-09-05 14:37:04 834

原创 JPA如何优雅的拼接动态查询条件

由于之前开发持久层用户都是mybatis,所以体会不了jpa动态拼接查询条件的痛楚。关于JPA动态拼接查询条件的解决方案dao层继承JpaSpecificationExecutor来实现通过@query方式去实现我个人是更加习惯取用第二种方式,大家可以看看以下代码片段:@Query("select c from Customer c where (:name is null or c...

2019-09-04 14:29:20 7764 6

翻译 MyBatis-getting started

1.安装1)安装需要的jar包(mybatis-x.x.x.jar)2)maven安装只需要添加以下依赖到你的pom.xml文件种即可<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version&g...

2018-11-02 16:25:47 332

空空如也

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

TA关注的人

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