1. CountDownLatch CountDownLatch:当所有的子线程完成任务,主线程才能结束 使用CountDownLatch:当一个或者多个线程调用await方法时,线程会阻塞,其他线程调用countDown方法会将计数器-1(调用countDown方法的线程不会阻塞);当计数器变为0时,此时被await方法阻塞的线程才会被唤醒,继续执行 public class CountDownLatchDemo { public static void main(String[]
2024-11-22学习资料:b站尚学堂Java300 主要是记录一些容易混淆或者是比较重要的细节和知识点 先把之前的手写笔记直接拿过来, 再敲一遍太麻烦了 手写笔记 对象创建 创建对象的四步: 静态导入:导入指定类的静态属性和静态方法 import static java.lang.Math.*; //导入Java类的所有静态属性 import static java.lang.Math.PI; //导入Math类的PI属性 final修饰的变量赋值有三种方式: 定义时赋
2024-11-22SpringBoot中OSS文件存储(阿里云篇) 在现代Web应用开发中,文件存储是一个常见需求。阿里云的对象存储服务(OSS)提供了一种高效、安全的文件存储解决方案。本文将介绍如何在SpringBoot项目中集成阿里云OSS,实现文件的上传和访问。 一、pom文件配置 在Maven包管理下添加对应的OSS坐标 <dependency> <groupId>com.aliyun.oss</groupId> <
2024-11-22一、文件的编码 1、前言 问:计算机只能识别 0 和 1,那么文本文件是如何被计算机识别,并存储在硬盘中呢? 答:使用编码技术将内容翻译成 0 和 1 存入 2、基本介绍 编码技术即编译的规则,记录了如何将内容翻译成二进制,以及如何将二进制翻译回可识别内容 计算机中有许多可用编码,如 UTF-8、GBK、Big5 等,要使用正确的编码,才能对文件进行正确的读写操作 3、查看文件编码 可以使用 Windows 系统自带的记事本,打开文件后,即可看出文件的编码是什么 UTF-8 是目
2024-11-22干货分享,感谢您的阅读! 在现代数字化社会中,内容分发平台成为各行业重要的工具之一。这些平台允许内容提供者将各种形式的内容(如基金产品、股票产品、资讯信息、图集内容、视频内容、音频内容等)通过指定的分发方式和时机,针对特定用户或用户群体进行分发。为了满足不同需求,这些平台通常提供了灵活的配置选项,并对分发数据进行监控统计和数据分析,以帮助内容提供者优化内容策略和提升用户体验。基于这个背景,我们简单的借助该背景实现一个简易分发器,具体如下: 一、业务背景说明 我们期望提供一个分发平台,其可以为内容
2024-11-22http发送post请求报400,405 报错如下: 发送 POST 请求出现异常!java.io.IOException: Server returned HTTP response code: 400 for URL: http://111.123.138.247:8080/jobScheduler/pendingJobjava.io.IOException: Server returned HTTP response code: 400 for URL: http://111.123.13
2024-11-22背景 作为一个漫画收藏党,在线阅读怎么能满足我的收集癖,总是喜欢保存一些漫画到本地,但是保存为图片需要一页一页翻很麻烦,想拼接一下为pdf,又因为不会py,哈哈哈哈哈哈哈,只能使用java了,在使用ImageIO的是否总是返回null,但是图片可以正常打开查看,于是就开始漫长的百度。。。 问题原因 造成这个问题的原因是图片的后缀可能是jpg、png,但是图片实际上是另一种格式(比如webp、tif)。 先打印一下ImageIO支持的文件格式, // JDK8输出:JPG jpg bmp BMP
2024-11-221、RESTFUL简介 REST:Representational State Transfer,表现层资源状态转移 a>资源 b>资源的表述 资源的表述是一段对于资源在某个特定时刻的状态的表述。可以在客户端-服务器端之间转移【交换】。资源的表述可以有多种格式,例如HTML/XML/JSON/纯文本/图片/视频/音频等。资源的表述格式通过协商机制来确定。请求-相应方向的表述通常使用不同的格式。 c>状态转移 状态转移说的是:在客户端和服务器端之间转移代表资源状态的表述。通过转移和操作资源的表述
2024-11-22多线程 JUC JUC是java.util.concurrent工具包的简称,这是一个处理线程的工具包,从JDK1.5开始出现。 进程与线程 进程Process:是系统进行资源分配和调度的基本单位,是操作系统结构的技术。进程是线程的容器,程序是指令、数据及组织形式的描述,进程是程序的实体。 线程Thread:是操作系统能够进行运算掉的最小单位,它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。 线程的状态
2024-11-22学习博客: https://www.jianshu.com/p/eba6e2af6d63 https://www.runoob.com/w3cnote/go-channel-intro.html package main import "fmt" import "time" import "sync" import "math/rand" var m map[int]int = make(map[int]int) const ( Num = 100000 ) var lock sync
2024-11-22