标签: Java
Oracle JDK各个版本所用的协议
BCL 协议(Oracle Binary Code License Agreement): 可以使⽤ JDK(⽀持商⽤),但是不 能进⾏修改。 OTN 协议(Oracle Technology Net…
利用FFmpeg和Java实现高效视频抽帧
背景 在多媒体应用中,视频抽帧是一个常见的需求,特别是在计算机视觉、图像处理、AI 训练数据生成等领域。抽帧就是从视频中提取每一帧或某些关键帧并保存为图像文件。虽然可以通过视频播放器手动截取某些画面,…
Java线程启动详解——Thread是如何执行run()方法的?
引入 在Java中,线程是实现并发编程的重要工具。为了让初学者和不熟悉底层实现的工程师也能理解线程的启动过程,我们将详细解析从Java代码调用到JVM虚拟机内部和操作系统级别的线程创建与启动过程。本文…
Go语言和Java语言的区别
Go语言(也称为Golang)和Java都是高效、强大的编程语言,但它们在设计哲学、性能特点、使用场景等方面存在一些显著差异。下面是Go和Java之间的一些关键区别: ### 1. 设计哲学与简洁性 …
Java内存模型中的线程间通信:如何确保共享变量的可见性
引入 在多线程编程中,确保不同线程间对共享变量的修改能够被彼此正确地看到,是保障程序正确运行的关键。Java内存模型(JMM)提供了一系列机制来处理这种内存可见性问题。本文将探讨如何在Java中确保一…
JSR 133 (Java Memory Model) FAQ
Jeremy Manson and Brian Goetz, February 2004 ref: https://www.cs.umd.edu/~pugh/java/memoryModel/jsr-…
解决并发难题:如何在32位系统中安全操作64位长整型数据
引言 在当今多线程和并发编程日益普及的背景下,正确理解和处理数据类型在不同系统架构下的表现至关重要。特别是在32位操作系统中,对64位长整型数据(如Java中的long类型)的操作可能隐藏着并发难题。…
在Java中实现WebSocket连接和操作
在Java中实现WebSocket连接和操作也相对简单,可以使用Java的WebSocket库,例如Java-WebSocket来创建WebSocket客户端。以下是一个示例,演示如何创建一个WebS…
Java 20
Download Java 20 Online Documentation Installation Instructions Release Notes Documentation License …
Java 8
Download Java 8 Documention Download Online Documentation Installation Instructions Release Notes Ja…
Java 11
Download JDK 11 Online Documentation Installation instructions Release Notes Consolidated JDK 11 Rel…
Java 17
Download JDK 17 JDK 17 Release Notes Online Documentation Installation Instructions Release Notes Co…
Java异步执行代码的几种方式
在Java中,你有几种方式来异步执行代码,包括使用线程(Thread),线程池(ExecutorService),CompletableFuture,以及在Spring框架中使用@Async注解。以下…
Java 20 Release Notes
原文: https://blogs.oracle.com/java/post/the-arrival-of-java-20 https://jdk.java.net/20/release-notes …
面试题 – Java算法
一、二分查找 又叫折半查找,要求待查找的序列有序。 每次取中间位置的值与待查关键字比较,如果中间位置的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小,则在后半部分循环…
面试题 – JAVA 基础
一、JAVA 异常分类及处理 1.1 概念 如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。…
面试题 – JAVA 多线程并发
一、JAVA 并发知识库 二、 JAVA 线程实现/创建方式 2.1 继承 Thread 类 Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线程的实例。启动线程的唯一方法就…
面试题 – JAVA 集合
一、接口继承关系和实现 集合类存放于 Java.util 包中,主要有 3 种:set(集)、list(列表包含 Queue)和 map(映射)。 Collection:Collection 是集合 …
Java可缓存线程池
/** * 1.创建一个可缓存的线程池。如果线程池的大小超过了处理任务所需要的线程,那么就会回收部分空闲(60秒不执行任务)的线程<br> * 2.当任务数增加时,此线程池又可以智能的添加…