自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ios和安卓手机端使用video标签播放失败的问题

安卓和浏览器适配做得很好,只需要设置好文件类型和,最后返回文件的二进制流即可。但是ios客户端还需要设置文件大小才能正确播放。我只做了MP4格式的视频,其他格式的视频暂时还没有试过,百度看了下,其他视频文件可能会涉及到视频编码的问题。在手机端上播放视频,流量很贵,像我的做法的话都是一次性返回整个文件的二进制流,这样过于暴力,后续优化的时候,可能要设置另外的响应头,进行分段返回。比如响应头中是获取文件的部分内容。分段返回文件二进制流的实现方式。

2023-12-08 16:01:47 2052

原创 java后端切片的方式返回文件二进制流的实现方式

注意一下。

2023-12-08 15:58:35 1048

原创 CountDownLatch的使用

有时候会遇到一些需要使用多线程的业务场景,比如我现在要获取用户的信息,这些信息存在于不同的中心,需要调用回来组成完整的用户信息,如果采用同步的话,可能会很慢,所以采用异步的方式,最后等所有的子线程调用完成后,主线程才返回,这里我们采用。当一个线程完成了自己的任务后,可以调用 CountDownLatch 的 countDown() 方法,将 count 值减1。常见的应用场景是,将一个任务分解为多个子任务,并让多个线程并行执行这些子任务。线程是否超时:false。【子线程】Thread-0, 开始执行…

2023-11-20 18:14:37 337

原创 力扣:746. 使用最小花费爬楼梯

由题干可知,我们可以选择第一层或者第二层作为起始台阶,所以到达前两层消费都是0,如果我们想到第三层,则判断到达第一层的最低消费加上第一层的消费和到达第二层的最低消费加上第二层的消费,两者求最小值就是到达第三层的最低消费。//上一级达到当前级的消费。//上两级达到当前级的消费。这个题虽然标注的是简单题,但是却用到了。//在两个消费中求最小值即可。

2023-11-20 15:46:38 74

原创 力扣: 53.最大子数组和

综上:遍历数组每一位数时, 求当前数结尾的最大子数组和,如果前面的最大和大于0,那么就加上,如果小于等于0,就舍弃掉。简单理解就是,前面的数加起来大于0,加上自己就会更大,如果前面数加起来小于等于0,加上自己反而会变小,那就舍弃掉。给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。题干是求连续子数组最大的和,以示例1为例子,连续的子数组无非就是求nums[i]结尾的子数组。连续子数组 [4,-1,2,1] 的和最大,为 6。是数组中的一个连续部分。

2023-11-20 09:57:37 30

原创 有序的TreeMap和TreeSet

【代码】有序的TreeMap和TreeSet。

2023-11-17 17:57:55 73

原创 LinkedList的原理以及使用方式

平时的业务中基本上用的都是ArrayList,很少涉及LinkedList,而且LinkedList中有很多api,如果不知道底层原理,有可能会出现报错问题。

2023-11-15 18:38:24 57

原创 二分法不同的查询方式

目标值是3,则返回3的下标1, 目标值是6,则返回5的下标2,目标是0,返回-1。

2023-10-12 19:00:54 25

原创 【无标题】

最近经常遇到一些创建随机数的场景,但是并没有特地去记代码,所以写个笔记记录一下。

2023-06-06 14:21:37 42

原创 java锁升级相关的机制

【代码】java锁升级相关的机制。

2023-04-11 15:16:56 122

原创 sleep、yield、interrupt等方法的区别

sleep方法是让线程进入阻塞队列,cpu不会分配时间片给。sleep()是Thread中的静态本地方法。中的线程,可以使用该特性,防止cpu空转。调用sleep方法后,线程处于。

2023-04-07 00:32:30 132

原创 自定义springboot starter

自定义一个properties//绑定前缀为customer的配置信息,并忽略未知的字段 @ConfigurationProperties(prefix = "customer" , ignoreUnknownFields = true) public class CustomerProperties {自定义一个配置类Customer 的配置信息public class Customer {

2023-04-02 22:26:06 74

原创 @Bean向容器中注入实例的几种情况

@Bean注入的几种情况

2023-04-02 14:26:37 127

原创 浅谈java synchronized 锁的问题

java 锁的一些基础用法

2022-08-28 15:01:12 153

原创 配置模板的生成

生成配置文件

2022-07-08 16:15:30 143

原创 java代码复制文件夹以及文件

复制文件夹以及文件,删除文件夹

2022-07-06 15:08:39 471

原创 mysql

mysql问题一、安装简略二、启动1. 在windows环境下,右键单击计算机 -> 管理 -> 找到mysql相关的服务手动启动或者停止,也可以设置开启启动2. 使用命令行的方式启动mysql服务net start mysql80 //启动命令,我安装的mysql的名字为mysql80net stop mysql80 //停止命令如果我安装了多个mysql,(端口肯定不同)net start mysql50 //启动mysql50的服务,不区分大小写net star

2022-06-27 17:19:41 230

原创 stream构建树形菜单

stream+递归创建树形菜单

2022-06-27 16:18:12 794 2

原创 ASCII对照表

ASCII对照表

2022-06-24 10:17:27 68

原创 下载文件时,文件名的设置

文件下载时,中文名乱码的设置,以及文件下载的demo

2022-06-22 17:46:14 4766

原创 求最大公约数

利用BigInteger求最大公约数

2022-06-22 09:41:14 167

原创 多线程(带返回值)

多线程获取返回值的操作

2022-06-14 20:09:33 1889 1

原创 docker

docker的安装docker概念为了解决环境一致性的问题;容器: 容器虚拟化的是操作系统,而不是硬件;虚拟机:虚拟化的是一套硬件资源,在这套虚拟的硬件资源上运行一个完整的操作系统。docker的安装与卸载(安装前如果之前安装过,应该先卸载)官方centos安装安装文档路径:官方安装地址1.1 首先安装gcc环境[root@root ~] yum -y install gcc[root@root ~] yum -y insatll gcc-c++1.2 docker的utils

2022-05-27 15:54:44 53

原创 面试题 04.06. 后继者

设计一个算法,找出二叉搜索树中指定节点的“下一个”节点(也即中序后继)。如果指定节点没有对应的“下一个”节点,则返回null。输入: root = [2,1,3], p = 1 2 / \1 3输出: 2输入: root = [5,3,6,2,4,null,null,1], p = 6 5 / \ 3 6 / \ 2 4 / 1输出: null分析:首先知道二叉搜索树的性质:1.1 如果左子树不空,则左子树中

2022-05-16 20:07:36 57

原创 面试题 01.05. 一次编辑

字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑输入: first = "pale"second = "ple"输出: True输入: first = "pales"second = "pal"输出: False解题思路:分析:两个字符串,如果长度相差2及以上,那么肯定是需要编辑两次的;如果长度相差1,那么两个字符串肯定是只有一位是缺失,其它数都是对齐的,比如1234和124;如果长度相同,

2022-05-13 20:54:16 58

原创 121. 买卖股票的最佳时机

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0;输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 =

2022-05-11 14:05:16 59

原创 HashMap底层简单原理

HashMap底层简单原理首先应该明白HashMap在jk7是数组加链表结构,jk8是数组加链表结构,当链表长度大于8且底层数组大小超过64时,链表转为红黑树。jk7链表采用的时头插法(多线程会产生循环链表),jk8采用的是尾插法。无论jk7还是jk8,HashMap底层数组大小都是2的阶乘倍数,扩容也是在原来基础上变成两倍。第一种方式:HashMap<Integer, String> map = new HashMap<>(); //空构造器/* DEFAULT_

2022-02-19 19:15:06 441

空空如也

空空如也

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

TA关注的人

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