![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javaSE
文章平均质量分 76
保持理智,相信未来
这个作者很懒,什么都没留下…
展开
-
Java数据压缩与解压缩
来自rocketmq源码,rocketmq中消息默认超过4KB,会进行压缩。evel为压缩层级,rocketmq源码中默认level为5。原创 2024-06-14 17:10:07 · 219 阅读 · 0 评论 -
Future&CompletableFuture
直接继承Thread或者实现Runnable接口都可以创建线程,但是这两种方法都有一个问题就是:没有返回值,也就是不能获取执行完的结果。因此java1.5就提供了Callable接口来实现这一场景,而Future和FutureTask就可以和Callable接口配合起来使用。原创 2023-07-07 14:50:09 · 116 阅读 · 0 评论 -
在Java中压缩和解压缩
如何将文件压缩到归档文件中,以及如何解压缩归档文件,所有这些都使用Java提供的核心库。这些核心库是java.util.zip包的一部分,可以在其中找到所有与压缩和解压缩相关方法。原创 2023-07-01 07:43:25 · 365 阅读 · 0 评论 -
Java中的压缩和解压缩
1.介绍本篇文章介绍,如何将文件压缩到存档中以及如何解压存档——所有这些都使用 Java 提供的核心库。这些核心库是 java.util.zip 包的一部分——可以在其中找到所有与压缩和解压缩相关的实用程序。2.压缩文件看一个简单的操作——压缩单个文件。对于示例,将一个名为 test1.txt 的文件压缩到一个名为compressed.zip 的存档文件中。@Test public void test1() throws IOException { String sou原创 2021-10-06 09:56:37 · 492 阅读 · 0 评论 -
Apache Commons IO
1.介绍Apache Commons 项目旨在为开发人员提供一组可以在日常代码中使用的公共库。本篇文章中将了解 Commons IO 模块的一些关键实用程序类及功能。2.Maven依赖要使用该库,需要在 pom.xml 中包含以下 Maven 依赖项:<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <原创 2021-10-06 09:45:26 · 4099 阅读 · 0 评论 -
如何使用 Java 高效读取大文件
文章目录1.介绍2.读在内存中3.通过文件流读取4.使用 Apache Commons IO 进行流传输1.介绍如何以高效的方式从 Java 大文件中读取所有行。2.读在内存中准备准备1G作用的数据 @Test public void test0() throws IOException { final String json = "[{\"id\":\"380001671739949056\",\"type\":\"3\",\"work_no\":\"chn001原创 2021-09-24 21:12:14 · 8509 阅读 · 0 评论 -
Java Bean 校验基础
文章目录1.介绍2. JSR 3803.依赖3.1. 校验 API3.2. 校验 API 参考实现3.3. 表达式语言依赖4.使用校验注解5.程序化校验5.1. 定义 Bean5.2.校验bean6.总结1.介绍介绍使用标准框架 JSR 380(也称为 Bean Validation 2.0)校验 Java bean 的基础知识。在大多数应用程序中,验证用户输入是一个非常普遍的要求。 而 Java Bean Validation 框架已经成为处理这种逻辑的事实标准。2. JSR 380JSR 38原创 2021-08-13 17:46:34 · 833 阅读 · 0 评论 -
Apache Commons Collections 与 Google Guava
1.介绍比较两个基于 Java 的开源库:Apache Commons 和 Google Guava。 这两个库都具有丰富的功能集,其中包含大量实用程序 API,主要用于集合和 I/O 领域。2.两个类库的简史Google Guava 是 Google 的一个项目,主要由该组织的工程师开发,尽管它现在已经开源。 启动它的主要动机是将 JDK 1.5 中引入的泛型包含到 Java 集合框架或 JCF 中,并增强其功能。自成立以来,该库扩展了其功能,现在包括图形、函数式编程、范围对象、缓存和字符串操作。原创 2021-08-13 17:42:49 · 1025 阅读 · 0 评论 -
在 Java 中忽略顺序判断两个集合
1.介绍对列表进行顺序无关的比较2.设置根据 List#equals Java 文档,如果两个列表以相同的顺序包含相同的元素,则它们是相等的。 因此,我们不能仅仅使用 equals 方法,因为我们想做与顺序无关的比较。准备三个集合数据 List<Integer> first = Arrays.asList(1, 3, 4, 6, 8); List<Integer> second = Arrays.asList(8, 1, 6, 3, 4); List原创 2021-08-09 14:01:09 · 1290 阅读 · 0 评论 -
Java 中的 ThreadLocal 简介
Java 中的 ThreadLocal 简介文章目录介绍ThreadLocal API使用Map存储用户数据使用ThreadLocal存储用户数据ThreadLocal 和线程池扩展 ThreadPoolExecutor介绍了解 java.lang 包中的 ThreadLocal 构造。 能够为当前线程单独存储数据 - 并简单地将其包装在特殊类型的对象中。ThreadLocal APITheadLocal 构造允许存储只能由特定线程访问的数据。假设想要一个与特定线程捆绑在一起的 Integer原创 2021-07-23 23:16:25 · 352 阅读 · 4 评论 -
Java 线程池简介
Java 线程池简介文章目录1.介绍2.线程池3.Java中的线程池3.1. Executors, Executor,ExecutorService3.1.1. Executor3.1.2. ExecutorService3.2. ThreadPoolExecutor3.2.1. newFixedThreadPool3.2.2.Executors.newCachedThreadPool()3.2.3.Executors.newSingleThreadExecutor()3.3.ScheduledThrea原创 2021-07-23 23:07:25 · 261 阅读 · 2 评论 -
Java fork/Join 框架指南
文章目录1.介绍2. ForkJoinPool2.1. 工作窃取算法2.2. ForkJoinPool 实例化3. ForkJoinTask3.1. RecursiveAction 例子3.2. RecursiveTask4.向 ForkJoinPool 提交任务5.总结1.介绍fork/join 框架是在 Java 7 中提出的。它提供了一些工具,通过尝试使用所有可用的处理器内核来帮助加速并行处理——这是通过分而治之的方法来实现的。在实践中,这意味着框架首先“分叉”,递归地将任务分解为更小的独立子任原创 2021-07-23 22:59:35 · 308 阅读 · 0 评论 -
Java中CyclicBarrier使用指南
文章目录1.介绍2.Java 并发——同步器3. CyclicBarrier4.使用5.实现6.结果1.介绍CyclicBarriers 是在 Java 5 中作为 java.util.concurrent 包的一部分引入的同步结构。2.Java 并发——同步器java.util.concurrent 包包含几个类,这些类有助于管理一组相互协作的线程。 其中一些包括:CyclicBarrierPhaserCountDownLatchExchangerSemaphoreSynchrono原创 2021-07-02 13:59:49 · 336 阅读 · 2 评论 -
CompletableFuture使用
CompletableFuture使用文章目录1.Java中的异步计算2.使用CompletableFuture作为简单的Future3.CompletableFuture封装计算逻辑4.异步计算的处理结果5.合并 Future6.thenApply()和thenCompose()之间的区别6.1thenApply()6.2thenCompose()7.并行运行多个Futures8.处理错误9.异步方法CompletableFuture类类是Java 8 Concurrency API的改进而引入的。原创 2021-06-19 15:19:00 · 953 阅读 · 0 评论 -
CyclicBarrier vs CountDownLatch
CyclicBarrier vs CountDownLatch文章目录CyclicBarrier vs CountDownLatch1.概述2.这些是什么?2.1. CountDownLatch2.2. CyclicBarrier3.Tasks vs Threads4.可重用性5.总结1.概述将比较 CyclicBarrier 和 CountDownLatch,并尝试了解两者之间的异同。2.这些是什么?当谈到并发时,概念化每个人打算完成的事情可能具有挑战性。首先,CountDownLatch 和原创 2021-06-19 15:17:39 · 157 阅读 · 0 评论 -
Java反射替换属性字段上注解属性对应的值
/** * 设置ExcelProperty注解对应的value * * @param properties 属性字段和注解属性字段值 键值对 * @tClass 泛型 那个类 */ public static <T> void setHeaderValue(Properties properties,Class<?> tClass) { Assert.notNull(properties, "propert.原创 2020-12-03 14:36:55 · 1339 阅读 · 1 评论 -
文件流复制
@PostMapping("/upload")public void uploadFile(MultipartFile file){ InputStream streamOne; InputStream streamTwo; InputStream inputStream; try { inputStream = file.getInputStream(); } catch (IOExcep.原创 2020-10-28 14:11:36 · 758 阅读 · 0 评论 -
Review-JVM
总体介绍JVM内存结构JVM体系概述Java8以后的JVMGC作用域常见的垃圾回收算法引用计数复制算法标记清除标记整理JM垃圾回收的时候如何确定垃圾?什么是 GC Roots什么是垃圾简单的说就是内存中已经不再被使用到的空间就是垃圾要进行垃圾回收,如何判断一个对象是否可以被回收引用计数法Java中,引用和对象是有关联的。如果要操作对象则必须用引用进行因此,很显然一个简单的办法是通过引用计数来判断一个对象是否可以回收。简单说,给对象中添加一个引用计数器,每当原创 2020-06-13 17:11:36 · 261 阅读 · 0 评论 -
Review-Java多线程
对volatile的理解volatile是Java虚拟机提供的轻量级的同步机制JMM你谈谈JMM(Java内存模型Java Memory Model,简称JMM)本身是一种抽象的概念 并不真实存在,它描述的是一组规则或规范通过规范定制了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式.JMM关于同步规定:1.线程解锁前,必须把共享变量的值刷新回主内存2.线程加锁前,必须读取主内存的最新值到自己的工作内存3.加锁解锁是同一把锁由于JVM运行程序的实体是线程,而每个线程创建原创 2020-06-13 16:14:19 · 329 阅读 · 0 评论 -
使用JUC实现定时任务
第一种:使用Executors.newScheduledThreadPool实现定时任务这种实现方式是阿里规范不推荐的使用方式,有资源耗尽的风险import java.util.concurrent.Executors;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.Sch...原创 2019-10-17 17:34:57 · 565 阅读 · 0 评论 -
Tomcat 设置JVM参数并验证是否设置成功
原文出处:https://blog.csdn.net/wc79866/article/details/50585479OutOfMemoryError: Java heap space 堆溢出程序运行时发现该情况就需要设置JVM 设置方法: 1.找到catalina.bat文件,路径(D:\Tomcat 7.0 start bat\apache-tomcat-7.0.64...转载 2018-04-15 14:24:51 · 2002 阅读 · 0 评论 -
Tomcat 管理员,用户名,密码配置
文章出处:https://blog.csdn.net/tajun77/article/details/50210927Tomcat正常启动后,通过浏览器访问“http://localhost:8080”可以进入管理界面。若想管理服务器,查看项目等信息,则需要登陆用户。用户名密码未配置的错误信息如图:配置用户的文件:apache-tomcat-7.0.65\conf\tomcat-use...转载 2018-04-15 15:40:52 · 314 阅读 · 0 评论 -
java向word写入数据
pom.xml<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.8</version></dependency><dependency> ...原创 2018-08-22 09:16:23 · 16168 阅读 · 1 评论 -
Jav程序执行Linux命令
方法一:本地执行,也是是代码必须放在Lunix服务器上才能通过java代码执行Linux命令。package com.xdja.dsc.common.util;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arr...原创 2018-08-30 21:39:29 · 1633 阅读 · 0 评论 -
Java进阶之性能优化
作者:盲目的拾荒者博客:https://blog.csdn.net/niugang0920衡量系统现状 调优前首先要做的是衡量系统现状,这包括目前系统的请求次数、响应时间资源消耗等信息,列如:A系统目前95%的请求影响时间在1秒内。先粗粒度的划分 再细粒度的寻找具体的点设定调优目标 根据用户所能接受的响应速度回系统所拥有的机器以及所支撑的用户量指...原创 2018-10-12 19:31:50 · 406 阅读 · 0 评论 -
Java进阶之分布式学习指南
作者:盲目的拾荒者博客:https://blog.csdn.net/niugang0920网络通信协议 TCP/IP 扩展: 由网络层的IP协议和传输层的TCP协议组成,TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。 UDP/IP Multicast I...原创 2018-10-13 19:33:08 · 4437 阅读 · 0 评论 -
Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析
原文:https://javadoop.com/post/hashmap今天发一篇"水文",可能很多读者都会表示不理解,不过我想把它作为并发序列文章中不可缺少的一块来介绍。本来以为花不了多少时间的,不过最终还是投入了挺多时间来完成这篇文章的。网上关于 HashMap 和 ConcurrentHashMap 的文章确实不少,不过缺斤少两的文章比较多,所以才想自己也写一篇,把细节说清楚说透,尤...转载 2019-05-09 14:28:23 · 215 阅读 · 0 评论 -
tomcat配置JVM参数的三种情况
原文出处:https://blog.csdn.net/rainyspring4540/article/details/53305302 其实网上相关文章很多,这里只是在研究tomcat自启动时看了下service.bat,觉得在配置jvm参数上可以改写下这个文件即可,但时间原因,未经测试,胆小勿进先列举下网上的:环境:Tomcat8.0,jdk8第一种情况是命令行方式启动tom...转载 2018-04-15 14:15:19 · 2302 阅读 · 0 评论