combobox事件swing java
聊聊Java中的mmap
mmap是什么 当我们读取或修改大文件时,传统的文件I/O操作可能会变得很慢,这时候mmap就可以派上用场了。mmap(Memory-mapped files)是一种在内存中创建映射文件的机制,它可以使我们像访问内存一样访问文件,从而避免频繁的文件I/O操作。 使用mmap的方式是在内存中创建一个虚 ......
使用java.util.zip对生成的字节数组输出文件流 进行打包压缩(单个、批量),并返回压缩包文件的字节数组输出文件流用于(文件不落地)下载
废话不多说 直接上代码 package gov.test.util; import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.uti ......
image forest transform算法及其实现(Java Web版本)
感觉分水岭算法和骨架算法还挺有趣的,自己空余时间写着玩儿了一下,原理还是参考论文以及其他的代码。 本文实现了 image forest transform 中的 skeleton 算法,也就是提取图片中的骨架,其他的分水岭暂时没搞。 代码中的其他组件都有,需要的话可以自己二次开发实现。 论文暂时没有 ......
【Java 线程池】【十】线程池篇总结以及为什么不提倡使用Executors来构建线程池
1 前言 这节也是我们线程池的最后一节咯,我们这节来总结一下。 2 线程池总结 线程池篇我们讲解了两种线程池,一种是ThreadPoolExecutor线程池、另外一种是ScheduledThreadPoolExecutor线程池。 2.1 ThreadPoolExecutor 线程池 关于Thre ......
【Java 线程池】【九】Timer定时器、ScheduleThreadPoolExecutor延迟调度、时间轮算法对比
1 前言 这节我们来讲点别的东西,专门来分析一下定时任务、延迟任务的实现。 2 对比分析 前面我们讲解的ScheduledThreadPoolExecutor,这个线程池可以进行延迟任务、定时任务的调度,底层依赖的是DelayedWorkQueue这个阻塞队列。DelayedWorkQueue这个延 ......
java学习日记20230414-Set接口
Set接口的常用方法和基本介绍 Set接口基本介绍: 无序(添加和取出的顺序不一致),没有索引; 不允许重复元素,所以最多包含一个null; JDK API中Set接口的实现类:AbstractSet,EnumSet,HashSet,TreeSet,LinkedHashSet,JobStateRea ......
java学习日记20230413-LinkedList和ArrayList比较
底层结构 增删效率 改查效率 ArrayList 可变数组 较低,数组扩容 较高 LinkedList 双向链表 较高,通过链表追加 较低 如果改查操作多,选择ArrayList 如果增删操作多,选择LinkedList 一般来说,在程序中,大部分都是查询,因此选择ArrayList ......
Java 编程问题:1~5
原文:Java Coding Problems 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN Java 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 一、字符串、数字和数学 本章包括 39 个涉及字符串、数字和数学运算的问题。我们将从研究字符串的一系列经典 ......
Java基础语法
Java基础语法 注释、标识符、关键字 注释:注释并不会被执行,是给我们写代码的人看的。分为单行注释,多行注释,文档注释。 标识符:Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。 关键字: 标识符注意点: 所有的标识符都应该以字母,美元符($),下划线(_)开始。 首字母之 ......
kettle从入门到精通 第十二课 kettle java代码过滤记录、利用Janino计算Java表达式
1、下图通过简单的示例讲解了根据java代码过滤记录和利用Janino计算Java表达式两个组件。 2、根据java代码过滤记录 1)步骤名称:自定义 2)接收匹配的行的步骤(可选):下面条件(java表达式)执行结果为true时流转的步骤 3)接收不匹配的行的步骤(可选):下面条件(java表达式 ......
02_JAVA匿名内部类
匿名对象就是没有名字的对象 匿名对象的应用场景 A:调用方法,仅仅只调用一次的时候。(调用多次的时候不适合,且匿名对象调用完毕就是垃圾,可以被回收器回收)//new Student().show(); B:匿名对象可以作为实际参数传递。 StudentDemo sd = news StudentDe ......
java.lang.OutOfMemoryError- unable to create new native thread 问题排查
问题描述 最近连续两天大约凌晨3点,线上服务开始异常,出现OOM报错。且服务所在的物理机只能ping通,但是无法登录。报错信息如下: ERROR 04-12 03:01:43,930 [DefaultQuartzScheduler_Worker-3] JobRunShell[JobRunShell] ......
java作业
1.分别使用for循环,while循环,do循环求1到100之间所有能被3整除的整数的和。(知识点:循环语句) package lll; import java.util.Scanner; public class lll { public static void main(String[] arg ......
Java并发(二)----初次使用多线程并行提高效率
1、并行 并行代表充分利用多核 cpu 的优势,提高运行效率。 想象下面的场景,执行 3 个计算,最后将计算结果汇总。 计算 1 花费 10 ms 计算 2 花费 11 ms 计算 3 花费 9 ms 汇总需要 1 ms 如果是串行执行,那么总共花费的时间是 10 + 11 + 9 + ......
java 处理常量字符串过长 & springboot 项目读取 resouces 文件夹下的文件内容
长字符串起因 项目里面有一长串的加密字符串(最长的万多个字符),需要拼接作为参数发送给第三方。 如果我们使用 枚举 定义的话,idea 编译的时候就会出现编译报错 Error: java:常量字符串过长 解决想法 网上还有一个说法,说是编译器问题,修改 idea 工具的编译为 eclipse 即可。 ......
Java批量下载OSS文件
/** * 批量下载 * 参数一:目标地址(OSS)注意:是桶名后面的路径,第一个文件名前没有(/)斜杠 * 参数二:本地地址(本地服务器) * @param prefix * @param directoryPath * @return * @throws IOException */ publi ......
Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for org.lin.hms.dao.RoomDAO.insertRoom. please check file
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method ' ......
使用java实现音乐播放
使用java实现音乐播放的具体代码 调用有参构造器,构造器中传入需要播放的音乐路径,文件需要是.wav格式 调用start方法播放音乐,设置为从头开始循环播放 暂停调用pause方法暂停,暂停保存当前播放进度的毫秒值 继续播放调用recommence方法,会读取刚才保存的音乐播放进度的毫秒值 调用s ......
java捡基础
++与--写在前后有什么区别? ++ 或 -- 写在变量前后有区别? * 1.如果不参与运算的话, 它们是没有区别。 * 2.如果参与了运算,区别就是很大了。 * 参与运算时两者的区别:累加的结果要不要参与本次的运算,(使用累加之后值运算,还是使用累加之前的值进行运算) * a++ 累加的结果,不参 ......
java类
存盘的时候,文件名也是区分大小写的。 Java规定,如果类前面用public来修饰,那么文件名必须和类名完全相同(包括大小写)。 一个文件中,只能有一个public修饰的类,否则报错。 一个文件中,public类可以省略,当类名与文件名一样时,这个类默认就是public。但不建议省略。 它是Java ......
Java面试题
面试题 面向过程和面向对象的区别 面向过程和面向对象的主要区别在于思想方式和实现方法。 面向过程重视步骤和函数,通过分解问题并设计函数来解决问题; 面向对象则更注重对象和类之间的关系,将程序中的各种元素组织成一个有机整体,在实现上更加灵活和可扩展。 同时,面向对象的程序具有更高的复用性、可维护性和可 ......
java数据类型
标志符 标志符就是类名、方法(函数)名、变(常)量名、包名等的名字。 Java规定,标识符是由字母、下划线(“”)或美元符“$”)开头,后面跟0个或多个字母、下划线(“”)、美元符(“$”)或数字组成的符号序列。根据此定义,下列单词都是合法的标识符: i count num day Scoll Lo ......
java -- 线程
线程与进程 进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。 线程:是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个 ......
【Java】wait、await、sleep的区别和联系
(200条消息) Java之wait、await、sleep的区别和联系_java wait和await区别_wotu__的博客-CSDN博客 一、wait() notify() notifyAll()调用wait()使得线程等待某个条件满足,线程在等待时会被挂起,当其他线程运行时使得这个条件满足时 ......
Java GC基础知识
对象存活判断 引用计数 在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;任何时刻计数器为零的对象就是不可 能再被使用的 引用计数法的缺陷: public class ReferenceCountingGC { public Object instan ......
Java基础
cmd打开Java代码 //代码编译 javac Hello.java //运行编译码 java Hello JDK、JRE 和 JVM 的关系 JDK = JRE + 开发工具集(如 Javac、java编译工具等) JRE = JVM + Java SE标准类库 只测试只需要 JRE即可 Jav ......
为什么使用新特性java8的Lambda 表达式,如果引用方法里的变量则需要给它设为final,否则就会报错呢?(local variables referenced from a Lambda expression must be final or effectively final1)
1、这是我学会使用Lambda 表达式经常困惑的问题,我在Java 8 Lambdas,Richard Warburton 著(O’Reilly,2014)中找到了原因。 2、如果你曾使用过匿名内部类,也许遇到过这样的情况:需要引用它所在方法里的变量。这 时,需要将变量声明为 final,如例 2- ......
Java 程序连接数据库服务端程序的助手类
username = 用户名 password = 密码 jdbcURL = jdbc:mysql://IP地址:端口号/数据库名?useUnicode=true&useSSL=false&&characterEncoding=utf-8&serverTimezone=Asia/Shangha ......
Java 设计模式最佳实践:6~9
原文:Design Patterns and Best Practices in Java 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN Java 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 六、让我们开始反应式吧 这一章将描述反应式编程范式,以及为什么 ......
Java对象与XML报文互转
XML由于可以跨开发语言进行交互,使其在越来越多的领域使用,典型的领域就有金融银行业。那么这么流行的交互报文格式,怎么让它转为我们的JAVA对象呢?需要我们一个NODE一个NODE的去解析吗?答案肯定是不需要的。以下提供通过转换工具类方法: import java.io.ByteArrayOutpu ......