重入锁 java.util.concurrent.locks.ReentrantLock 重入锁的作用和synchronized关键字一样,为代码块加锁。但与synchronized关键字原理不一样,synchronized关键字是根据对象头的锁标志判断当前线程是否可以获得锁,而重入锁是基于AbstractQueuedSynchronizer,底层是CAS,是一种乐观锁(无锁)。 重入锁的基本使用
  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
原创 11月前
34阅读
# 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阅读
Date工具
原创 6月前
11阅读
public class ImageUtils { private static final Logger log = LoggerFactory.getLogger(ImageUtils.class); public static byte[] getImage(String imagePath) { InputStream is = getFile(i
原创 10月前
34阅读
# 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到自己
转载 13天前
368阅读
# 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.
今天在和导师讨论Java线程编程的同步问题时,发现自己对同步代码块、wait()方法、notify()方法和notifyAll()方法的理解不太清晰,于是在网上查阅资料,可是结果众说纷纭,又在导师的启发和指导下结合编程验证后得出如下结论。Java中的每一个对象实例都有一个锁标记和锁池,锁标记默认允许进入。当一个线程尝试进入以该对象为锁的同步代码块时,JVM会执行获取锁的操作,该操作首先查看锁标记
一、Java的 IO 处理1. input output 输入和输出2. 输入? --学习对于学生来说 -- 由外面的信息到大脑 -- 由外存到内存3. 输出? -- 授课对于老师来说 -- 由大脑到外部 -- 由内存到外存4. 内存和外存? -- CPU可以直接访问的存储设备就是内存,反之就是外存5. 内存--高速,易失,断电丢失、价格贵、容量小6. 外存--较慢、永久、断电还在、较便宜、较大7
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
搜集整理比较常用的时间工具,记录一下。 1 /** 2 * LocalDateTime 转 时间 3 */ 4 public static String localDateTimeToDateTime(LocalDateTime localDateTime) { 5 return DateTime ...
转载 2021-10-30 11:50:00
136阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5