重入锁
java.util.concurrent.locks.ReentrantLock
重入锁的作用和synchronized关键字一样,为代码块加锁。但与synchronized关键字原理不一样,synchronized关键字是根据对象头的锁标志判断当前线程是否可以获得锁,而重入锁是基于AbstractQueuedSynchronizer,底层是CAS,是一种乐观锁(无锁)。
重入锁的基本使用
转载
2024-01-26 07:21:03
31阅读
Java平台从开始就被设计成为多线程环境。在你的主程序执行的时候,其它作业如碎片收集和事件处理则是在后台进行的。
本质上,你可以认为这些作业是线程。它们正好是系统管理线程,但是无论如何,它们是线程。线程使你能够定义相互独立的作业,彼此之间互不干扰。系统将交换这些作业进或出cpu,这样(从外部看来)它们好象是同时运行的。
在你需要在你的程
转载
2024-05-15 21:38:01
66阅读
## Java文件处理工具类的实现教程
在开发过程中,我们常常需要对文件进行读写操作。为了提高效率和代码的重复使用性,我们可以创建一个Java文件处理工具类。本文将为刚入行的小白介绍实现一个简单Java文件处理工具类的流程、步骤及代码示例。
### 流程步骤
下表展示了实现Java文件处理工具类的步骤:
| 步骤 | 描述 |
|------|-
原创
2024-09-21 07:30:53
25阅读
@Slf4j
public class SqlInjectionUtil {
/**
* sign 用于表字典加签的盐值【SQLZR】
* (上线修改值 20200501,同步修改前端的盐值)
*/
private final static String TABLE_DICT_SIGN_SALT = "20200501";
private final static String
# Java路径处理工具类
在Java编程中,经常会涉及到对路径的处理,比如获取文件的绝对路径、拼接路径、判断路径是否存在等。为了简化开发过程,我们可以使用Java的路径处理工具类来处理这些任务。本文将介绍一些常用的Java路径处理工具类,包括java.io.File、java.nio.file.Path和Apache Commons IO。
## java.io.File
Java的标准库
原创
2023-12-31 11:20:37
210阅读
JVM的堆的内存, 是通过下面面两个参数控制的
-Xms 最小堆的大小, 也就是当你的虚拟机启动后, 就会分配这么大的堆内存给你
-Xmx 是最大堆的大小
当最小堆占满后,会尝试进行GC,如果GC之后还不能得到足够的内存(GC未必会收集到所有当前可用内存),分配新的对象,那么就会扩展堆,如果-Xmx设置的太小,扩展堆就会失败,导致OutOfMemoryError错误提示。
实际上,
import java.text.DecimalFormat;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Gre
原创
2015-11-24 14:38:54
2672阅读
public class ImageUtils
{
private static final Logger log = LoggerFactory.getLogger(ImageUtils.class);
public static byte[] getImage(String imagePath)
{
InputStream is = getFile(i
# Java图片处理工具类实现教程
## 整体流程
首先,我们需要明确整个实现图片处理工具类的流程。下面是具体的步骤:
```mermaid
pie
title 图片处理工具类实现步骤
"1. 导入相关库" : 20
"2. 创建工具类" : 30
"3. 实现图片缩放功能" : 25
"4. 实现图片旋转功能" : 25
```
## 步骤及代码注
原创
2024-05-28 05:22:45
35阅读
这次讲的是用two.js中的API去实现个小案例(地球的自转与公转)其中也包含月亮。在学习之前先了解下如何使用它了解它的作用:
Two.js是面向现代Web浏览器的二维绘图api。这是渲染不可知实现相同的API在多种环境中得出:svg,canvas,和webgl。引入js文件
这里我使用了Google翻译,为了使其更容易看懂,这里有两个版本,随意下载那个都没问题。(就是点击进入将代码copy到自己
# Java 视频处理工具类
## 简介
在日常开发中,我们经常会遇到需要对视频进行处理的情况,例如视频格式转换、剪辑、提取音频等。Java 作为一门强大的编程语言,提供了丰富的类库和工具,可以方便地进行视频处理。本文将介绍一些常用的 Java 视频处理工具类,并提供相关代码示例。
## 1. FFmpeg
FFmpeg 是一个开源的跨平台视频和音频处理工具,可以用于视频格式转换、剪辑、提
原创
2023-07-19 16:17:04
245阅读
package com.jyc.common.utils.file;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java. ...
转载
2021-10-27 11:14:00
602阅读
2评论
package com.jyc.common.utils.file;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;i ...
转载
2021-10-27 11:14:00
578阅读
2评论
文章目录二、集合1.BlockingQueue1.1 简介1.2 注意事项1.3 方法介绍1.3.1 插入1.3.2 删除1.3.3 查看1.3.4 其他1.3.5 对比1.4 子类介绍1.4.1 继承类图1.4.2 ArrayBlockingQueue1.4.3 LinkedBlockingQueue1.4.4 PriorityBlockingQueue1.4.5 DelayQueue1.4.
转载
2023-09-25 17:30:20
73阅读
今天在和导师讨论Java多线程编程的同步问题时,发现自己对同步代码块、wait()方法、notify()方法和notifyAll()方法的理解不太清晰,于是在网上查阅资料,可是结果众说纷纭,又在导师的启发和指导下结合编程验证后得出如下结论。Java中的每一个对象实例都有一个锁标记和锁池,锁标记默认允许进入。当一个线程尝试进入以该对象为锁的同步代码块时,JVM会执行获取锁的操作,该操作首先查看锁标记
转载
2024-09-14 09:00:42
18阅读
一、Java的 IO 处理1. input output 输入和输出2. 输入? --学习对于学生来说 -- 由外面的信息到大脑 -- 由外存到内存3. 输出? -- 授课对于老师来说 -- 由大脑到外部 -- 由内存到外存4. 内存和外存? -- CPU可以直接访问的存储设备就是内存,反之就是外存5. 内存--高速,易失,断电丢失、价格贵、容量小6. 外存--较慢、永久、断电还在、较便宜、较大7
转载
2024-09-16 11:55:28
39阅读
package utils;import org.apache.commons.lang.time.DateUtils;import java.text.Simpl** * Created...
原创
2023-01-14 21:19:11
129阅读
文件处理是最常见的I/O处理。在实际的编程中不可避免的用到。Java的文件操作涉及的类其实也不多,好好总结一下,感觉也不难。A)File类欲对文件进行操作首先需要知道文件的有关信息,如文件的名称、路径、属性等。Java中通过File类来提供所有这些。File类提供了一种与机器无关的方式来描述一个文件的信息。每个File类对象表示一个磁盘文件或目录。File类常用构造方法构造方法描述public
转载
2023-06-20 21:09:33
81阅读
搜集整理比较常用的时间工具类,记录一下。 1 /** 2 * LocalDateTime 转 时间 3 */ 4 public static String localDateTimeToDateTime(LocalDateTime localDateTime) { 5 return DateTime ...
转载
2021-10-30 11:50:00
136阅读
2评论