自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springboot结合ffmpeg使用打包的Jar过大解决方案

改为下面的依赖(可以根据部署的系统修改对应的依赖)

2023-11-09 17:38:27 343

原创 从视频文件中提取封面图像

上述代码使用JCodec库的FrameGrab类来从视频文件中获取指定帧的图像。您需要将videoFilePath替换为实际的视频文件路径,将thumbnailFilePath替换为保存封面图像的路径。另外,为了将org.jcodec.common.model.Picture对象转换为java.awt.image.BufferedImage,您还需要引入org.jcodec.scale.AWTUtil类。确保您已经正确导入所需的类和包,并使用适当的异常处理来处理可能的IO异常。

2023-11-04 00:52:04 223 1

原创 获取和截取上传到OSS(对象存储服务)的视频的开头作为封面图像

其中,endpoint是OSS的访问域名,accessKeyId和accessKeySecret是您的阿里云身份验证凭据,bucketName是存储视频文件的存储桶名称,objectName是视频文件在存储桶中的对象名称,localFilePath是下载文件的本地路径。其中,bucketName是存储封面图像的存储桶名称,objectName是封面图像在存储桶中的对象名称,localFilePath是封面图像的本地路径。使用SDK提供的方法,将本地文件上传到指定的OSS存储桶中。

2023-11-04 00:49:16 361 1

原创 Java用阿里云SDK实现对视频进行截图

如果你想继续使用阿里云的方法来截取视频封面,除了使用视频处理服务,还可以考虑使用阿里云的截图服务(Snapshot)。阿里云的截图服务可以直接从视频文件中提取封面图像,并保存到指定的存储空间(如 OSS)中。请注意,具体的代码实现会依赖于你选择的编程语言和阿里云 SDK。使用阿里云 SDK 或 API,在你的代码中调用截图服务的接口,指定要截图的视频文件、截图模板、存储空间等参数。截图模板定义了截图的具体参数,如截图时间点、尺寸、格式等。等待截图任务完成,并从指定的存储空间中获取截取到的封面图像。

2023-10-31 21:53:46 121 1

原创 OSS视频,实现封面截取

i 参数指定输入视频文件路径,-ss 参数指定截取封面的时间点(这里设置为 1 秒),-vframes 1 参数指定只截取一帧作为封面,最后指定输出封面图片的路径。需要注意的是,使用 FFmpeg 进行视频处理需要你的系统中已经正确安装了 FFmpeg,并且代码能够找到正确的 FFmpeg 可执行文件路径。另外,FFmpeg 是一个功能强大的多媒体处理工具,你可以根据自己的需求进一步了解和调整命令参数。除了使用阿里云的视频处理服务外,还可以使用一些开源的视频处理库来截取封面。

2023-10-31 21:44:40 128 1

原创 获取到OSS视频的链接,怎么实现封面截取

代码中,首先创建了一个 MediaClient,然后通过调用 getMediaInfo 方法获取视频的信息,包括视频的时长。如果你已经获取到了阿里云 OSS 视频的链接,你可以使用第三方的视频处理工具来实现封面截取功能。其中,阿里云提供了一项视频处理服务(Media Processing),可以用于对视频进行各种处理操作,包括截取封面。另外,视频处理任务可能需要一些时间才能完成,具体时间取决于视频的大小和处理任务的复杂程度。pipelineId: 视频处理流水线的 ID,用于指定视频处理的流程。

2023-10-31 21:39:38 115 1

原创 阿里云的OSS获取视频并截取封面Java

代码中,首先创建了一个 OSS 客户端,然后使用 GetVideoInfoRequest 请求获取视频的信息,包括封面 URL。最后关闭 OSS 客户端。要使用阿里云的对象存储服务(OSS)获取视频并截取封面,你可以使用阿里云提供的 Java SDK 来实现。首先,确保已经添加阿里云 OSS Java SDK 的依赖到你的项目中。请确保替换代码中的占位符值为你自己的阿里云 OSS 相关信息,并根据实际需求修改代码逻辑。endpoint: OSS 服务的访问域名,例如:“your_endpoint”。

2023-10-31 21:35:43 525 1

原创 重写ThreadLocal的initialValue方法时,如果返回的是同一个对象实例,不同线程在调用get方法时获取到的是同一个对象

如果initialValue方法返回的是同一个对象实例,那么这个对象实例就会被所有线程共享。在使用ThreadLocal时,每个线程都会有一个独立的ThreadLocal变量副本,每个线程对该变量的操作互不影响。但是,当我们重写ThreadLocal的initialValue方法时,如果返回的是同一个对象实例,不同线程在调用get方法时获取到的确实是同一个对象。如果我们希望每个线程都获取到不同的对象实例,可以在initialValue方法中返回一个新的对象,而不是同一个对象实例。// 对obj进行操作…

2023-09-24 13:38:36 49 1

原创 jvm的大端序

尽管JVM默认使用大端序,但Java提供了一些API来处理不同字节序的数据,例如ByteBuffer类中的order()方法可以设置字节序为大端序或小端序,以及java.nio.ByteOrder类提供的一些静态常量。通过在JVM中使用统一的大端序字节序,可以确保Java程序在不同平台上的二进制数据的解析和处理方式一致。实际上,有一些硬件架构和操作系统采用小端序(Little-Endian),因此在处理与这些平台相关的数据时,可能需要进行字节序的转换。

2023-09-17 20:52:09 23 1

原创 为什么重写equals方法时,也必须重写hashCode方法

因此,为了保持一致的行为和正确的数据存储,当你重写equals()方法时,必须同时重写hashCode()方法,以确保相等的对象具有相等的哈希码。常见的做法是,在hashCode()方法中使用与equals()方法中使用的字段相同的字段来计算哈希码,以保持一致性。在哈希集合和哈希映射中,如果两个对象被equals()方法判断为相等,那么它们的哈希码也必须相等。不一致的行为: 如果两个对象在equals()方法中被判断为相等,但它们的哈希码却不相等,那么在哈希集合或哈希映射中,它们将被视为不同的对象。

2023-09-17 20:45:17 60 1

原创 Redis在删除数据后,为什么内存占用率还是很高

然而,过期键的删除不是实时进行的,而是通过一种称为"定期删除"和"惰性删除"的机制来处理。删除操作是惰性的: Redis中的删除操作通常是惰性执行的,即在删除数据时,并不会立即释放内存。当Redis删除一些较大的键时,会产生内存碎片,即被删除键的空间可能无法完全重组在一起,而是分散在多个碎片中。虽然总体占用的内存可能没有减少,但内存碎片化可能导致无法连续分配足够大的内存块,限制了新数据的存储。虽然删除操作不会立即释放内存,但一旦Redis需要更多内存来存储新的数据,它会优先释放被删除数据占用的内存空间。

2023-09-17 20:39:53 104 1

原创 关于List去重的问题

回答 2:当 List 中的元素是自定义对象时,需要确保自定义对象正确实现了 equals() 和 hashCode() 方法,以便正确比较和判断对象的相等性。使用 Set 数据结构:将 List 转换为一个 Set,由于 Set 不允许重复元素,重复的元素会自动被去除。使用 Java 8+ 的 Stream API:使用 distinct() 方法去除重复元素。问题 2:如果 List 中的元素是自定义对象,如何去除重复元素?问题 3:如果要保持原始 List 的顺序,如何去除重复元素?

2023-09-17 13:12:37 89 1

原创 如何使用Spring的Mock测试

然后,将该 Mock 对象注入到被测试的 MyService 组件中,进行测试。Mock 测试的目的是在测试过程中模拟(Mock)外部依赖的行为,以便专注于测试目标组件的逻辑。依赖注入(Dependency Injection): 在进行 Mock 测试时,通常会使用依赖注入来将 Mock 对象注入到被测试组件中。Mock 对象: Mock 对象是一个模拟的对象,它模拟了外部依赖的行为。// 使用 Mockito 创建 Mock 对象,并进行测试。// 创建被测试的组件,并注入 Mock 对象。

2023-09-16 11:26:50 221 1

原创 Java面试题

8、假如一个提交订单的过程,A:扣减库存,B:支付,A和B是两个方法,在B中调用A方法,如果B支付成功了,怎么保证消息不丢失,消息可靠性,是怎么实现的?在A报错了,扣减失败,A的事务回滚了,但是B没有回滚,这个要怎么处理?5、项目的分布式锁是怎么实现,比如zookeeper的分布式锁。6、项目中哪些地方用到了设计模式,有哪些设计模式,是怎么使用的。3、高并发量,同时大量用户访问同一个接口,是怎么处理并发的?1、在项目中redis用在哪些方面,是怎么实现的。4、redis的分布式锁是怎么实现的,

2023-09-14 14:45:52 25 1

原创 MyBatis-Plus条件构造器

https://mp.baomidou.com/guide/wrapper.html#abstractwrapper

2021-02-23 09:16:43 63 1

原创 访问私有的字段

可以利用反射访问私有的字段。反射中的getFields与getDeclareFields方法的区别:getFields只能访问public字段,getDeclareFields返回当前类所有修饰(private,protected,public)的字段。其他的属于反射中的方法类同。...

2019-09-06 10:53:49 155

原创 数据库的四种隔离级别与四种特性

数据库的四种隔离级别:1、read uncommit未提交读即脏读,A事务读取到了B事务未提交的内容,而B事务后面进行了回滚。2、read commit提交读会出现不可重复读。A获取读锁,A事务未提交,A释放读锁,B获取写锁,B释放写锁,B事务提交,A获取读锁,A读取数据,发现数据已经改变,提交事务。(读取到更新或者删除的数据)3、repeatable read可重复读幻读,A事务读取...

2019-09-06 10:34:46 362

原创 springboot中子工程访问jsp页面出现错误

子工程运行出现以下错误:Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.Thu Aug 29 16:19:44 CST 2019There was an unexpected error (type=Not Found...

2019-08-29 16:37:32 206

原创 JPA

JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。Sun引入新的JPA ORM规范出于两个原因:其一,简化现有Java EE和Java SE应用开发工作;其二,Sun希望整合ORM技术,实现天下归一。一、JPA 概述Java Persistence API(Ja...

2019-08-23 11:56:59 77

原创 java中创建对象的五种方式

Java中创建对象的五种方式:(1)newObjectName obj = new ObjectName();(2)反射的Class类的newInstance()方法ObjectName obj = ObjectName.class.newInstance();(3)反射的Contructor类的newInstance()方法ObjectName obj = ObjectName.cl...

2019-08-23 10:53:49 340

原创 java中的volatile

volatile变量共享。稍弱的同步机制,确保变量的更新操作通知到其他线程。(1)保证此变量对素有的线程的可见性。’、(2)禁止指令重排序优化。...

2019-08-23 10:45:42 59

原创 java中this和this()区别

this:就是指对象自身。this():就是调用自己的无参构造方法,和super()一个道理。

2019-08-23 10:38:57 4904 1

空空如也

空空如也

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

TA关注的人

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