![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA技术
月夜楓
这个作者很懒,什么都没留下…
展开
-
jmh环境搭建
安装maven插件mvn install:install-file “-DgroupId=org.apache.maven.archetypes” “-DartifactId=maven-archetype-quickstart” “-Dversion=1.1” “-Dpackaging=jar” “-Dfile=D:\tools\apache-maven-3.6.3\lib\maven-archetype-quickstart-1.1.jar” --settings D:\tools\apache-m原创 2021-08-04 09:54:28 · 206 阅读 · 0 评论 -
使用easyexcel编辑公式
参考:https://blog.csdn.net/weixin_39723544/article/details/112778366填充公式主要是通过CellWriteHandler来实现的 @Test public void customHandlerWrite() { String fileName = TestFileUtil.getPath() + "customHandlerWrite" + System.currentTimeMillis() + ".xlsx"原创 2021-06-18 16:28:03 · 5878 阅读 · 4 评论 -
uuid生成方法
UUID生成方法算法原理:UidGenerator是百度开源的Java语言实现,基于Snowflake算法的唯一ID生成器。而且,它非常适合虚拟环境,比如:Docker。另外,它通过消费未来时间克服了雪花算法的并发限制。UidGenerator提前生成ID并缓存在RingBuffer中。 压测结果显示,单个实例的QPS能超过6000,000。托管地址:https://github.com/baidu/uid-generator依赖环境:JDK8+MySQL(用于分配WorkerI原创 2021-05-07 10:09:14 · 1670 阅读 · 2 评论 -
NIO,AIO
一、概述在我们学习Java的IO流之前,我们都要了解几个关键词同步与异步(synchronous/asynchronous):同步是一种可靠的有序运行机制,当我们进行同步操作时,后续的任务是等待当前调用返回,才会进行下一步;而异步则相反,其他任务不需要等待当前调用返回,通常依靠事件、回调等机制来实现任务间次序关系阻塞与非阻塞:在进行阻塞操作时,当前线程会处于阻塞状态,无法从事其他任务,只有当条件就绪才能继续;而非阻塞则是不管IO操作是否结束,都不会保持堵塞,而是继续做其它的事情,相应操作在后台继续处理原创 2021-01-27 21:29:11 · 84 阅读 · 0 评论 -
使用NIO从s3依次拉取文件打包下载到客户端
s3依次拉取文件下载到客户端废话不说,直接上代码:package com.lenovo.controller;import com.amazonaws.services.s3.AmazonS3;import com.amazonaws.services.s3.model.GetObjectRequest;import com.amazonaws.services.s3.model.S3Object;import org.slf4j.Logger;import org.slf4j.Logger原创 2020-12-26 23:24:30 · 563 阅读 · 2 评论 -
stream操作
lamda表达式Collections.toMapjava 8 lamda Stream的Collectors.toMap 参数Collections.toMapjava 8 lamda Stream的Collectors.toMap 参数使用toMap()函数之后,返回的就是一个Map了,自然会需要key和value。toMap()的第一个参数就是用来生成key值的,第二个参数就是用来生成value值的。第三个参数用在key值冲突的情况下:如果新元素产生的key在Map中已经出现过了,第三个参数原创 2020-11-24 09:33:17 · 280 阅读 · 0 评论 -
javaagent
今天打算写一下 Javaagent,一开始我对它的概念也比较陌生,后来在别人口中听到字节码插桩,bTrace,Arthas后面才逐渐了解到Java还提供了这么个工具。JVM启动前静态Instrument#Javaagent 是什么?Javaagent是java命令的一个参数。参数 javaagent 可以用于指定一个 jar 包,并且对该 java 包有2个要求:这个 jar 包...转载 2020-04-23 14:44:09 · 286 阅读 · 0 评论 -
java对外内存简介
堆外内存简介\color{#39c154}{堆外内存简介}堆外内存简介DirectByteBuffer 这个类是 JDK 提供使用堆外内存的一种途径,当然常见的业务开发一般不会接触到,即使涉及到也可能是框架(如 Netty、RPC 等)使用的,对框架使用者来说也是透明的。堆外内存优势\color{#39c154}{堆外内存优势}堆外内存优势堆外内存优势在 IO 操作上,对于网络 IO,使用 ...转载 2020-03-13 16:29:52 · 275 阅读 · 0 评论 -
JAVA CAS原理深度分析
转:http://blog.csdn.net/hsuxu/article/details/9467651看了一堆文章,终于把JAVA CAS的原理深入分析清楚了。感谢GOOGLE强大的搜索,借此挖苦下百度,依靠百度什么都学习不到! 参考文档:http://www.blogjava.net/xylz/archive/2010/07/04/325206.htmlhttp://blog.hesey.ne原创 2017-10-16 20:50:19 · 199 阅读 · 0 评论 -
java.util.concurrent并发工具包-----3
19. 使用 ForkJoinPool 进行分叉和合并ForkJoinPool 在 Java 7 中被引入。它和 ExecutorService 很相似,除了一点不同。ForkJoinPool 让我们可以很方便地把任务分裂成几个更小的任务,这些分裂出来的任务也将会提交给 ForkJoinPool。任务可以继续分割成更小的子任务,只要它还能分割。可能听起来有些抽象,因此本节中我们将会解释 ForkJ原创 2017-10-16 20:50:16 · 325 阅读 · 0 评论 -
java.util.concurrent并发工具包-------2
13. 栅栏 CyclicBarrierjava.util.concurrent.CyclicBarrier 类是一种同步机制,它能够对处理一些算法的线程实现同步。换句话讲,它就是一个所有线程必须等待的一个栅栏,直到所有线程都到达这里,然后所有线程才可以继续做其他事情。图示如下: 两个线程在栅栏旁等待对方。通过调用 CyclicBarrier 对象的 await() 方法,两个线程可以实现互相等待原创 2017-10-16 20:50:12 · 205 阅读 · 0 评论 -
java.util.concurrent并发工具包-----1
转自:http://blog.csdn.net/defonds/article/details/44021605/日志篇幅所限,本文分三部分:译序本指南根据 Jakob Jenkov 最新博客翻译,请随时关注博客更新:http://tutorials.jenkov.com/java-util-concurrent/index.html。本指南已做成中英文对照阅读版的 pdf 文档,有兴趣的朋友可以原创 2017-10-16 20:50:08 · 273 阅读 · 0 评论