JAVA
文章平均质量分 50
veminhe
这个作者很懒,什么都没留下…
展开
-
java try 自动关闭流
首先,我们需要创建需要操作的流对象。需要注意的是,如果流对象实现了AutoCloseable接口(例如上述的流对象),那么在try-with-resources语句块中无需手动关闭流对象。在try语句块的括号中创建流对象,当try语句块执行完毕后,会自动关闭这些流对象。以上代码中,我们在try语句块中创建了FileInputStream和BufferedReader对象,并在try语句块结束后自动关闭这些对象。在try语句块中使用流对象来进行相应的操作,如读取文件内容或写入文件等。步骤三:自动关闭流对象。原创 2024-06-19 09:50:28 · 393 阅读 · 0 评论 -
使用easyexcel导出数据
使用easyexcel。原创 2024-06-18 19:38:51 · 66 阅读 · 0 评论 -
导入excel文档,并且做业务处理,然后返回包含导入结果的excel文档
【代码】导入excel文档,并且做业务处理,然后返回包含导入结果的excel文档。原创 2024-06-18 19:37:32 · 181 阅读 · 0 评论 -
下载工程resources目录下的模板excel文件
【代码】下载工程resources目录下的模板excel文件。原创 2024-06-18 19:36:13 · 205 阅读 · 0 评论 -
MQTT之使用mosquitto
1、下载并安装mosquitto。原创 2024-06-01 19:26:36 · 172 阅读 · 0 评论 -
后台接口返回void但是response有设置合适的相关信息,前端调用接口解析Blob数据下载excel文件
这样就可以通过调用接口的方式导出excel文件,请求接口就可以在header中设置认证头。3、前端代码如下,可以作为参考,但需要根据实际情况整理。原创 2024-05-22 13:53:45 · 506 阅读 · 0 评论 -
后台接口返回void有设置response相关内容,前端通过open打开接口下载excel文件
4、前端使用window.open("接口路径");下载该excel文件。功能正常使用,但是这种方式,前端加不了认证头信息,该后台接口不安全。1、引入依赖,用来生成excel。原创 2024-05-22 13:49:50 · 643 阅读 · 0 评论 -
Netty入门
Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。原创 2024-05-03 13:08:45 · 951 阅读 · 0 评论 -
使用jdbc方式操作ClickHouse
2.2、大部分的操作和我们使用jdbc操作mysql的步骤类似,下面直接贴出代码,可以结合注释进行参考使用。2、使用jdbc方式操作ClickHouse。1、创建测试表,和插入测试数据。原创 2024-05-02 18:20:34 · 674 阅读 · 0 评论 -
java发送短信
参考"发送短信"这一块的代码。原创 2024-04-15 17:21:39 · 192 阅读 · 0 评论 -
ThreadLocal:实现线程间变量隔离
虽然不同的线程之间ThreadLocal这个key值是一样的,但是不同的线程所拥有的ThreadLocalMap是独一无二的,也就是不同的线程间同一个ThreadLocal(key)对应存储的值(value)不一样,从而达到了线程间变量隔离的目的,但是在同一个线程中这个value变量地址是一样的。ThreadLocal叫做线程变量,意思是ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的,也就是说该变量是当前线程独有的变量。b. ThreadLocal的作用。原创 2024-04-14 22:23:00 · 593 阅读 · 0 评论 -
ubuntu安装并使用Memcached
发现这种安装方式无厘头,搞不懂安装到哪去了,无法执行./memcached命令,那换一种方式吧。客户端来与Memcached服务交互。在telnet会话中,你可以使用Memcached命令存储和检索数据。我使用的是Memcached 1.6.22这个版本。使用Memcached。1、选择较新的版本安装。原创 2024-04-09 13:13:54 · 388 阅读 · 0 评论 -
创建线程安全的单例
参考https://blog.csdn.net/cselmu9/article/details/51366946原创 2019-05-06 20:49:03 · 96 阅读 · 1 评论 -
Java并发编程:CountDownLatch、CyclicBarrier和 Semaphore
参考http://www.importnew.com/21889.html原创 2018-11-22 21:35:31 · 104 阅读 · 0 评论 -
Java中如何模拟真正的同时并发请求?
参考http://www.importnew.com/30073.html原创 2018-11-22 21:32:17 · 151 阅读 · 0 评论 -
什么时候使用CountDownLatch
见http://www.importnew.com/15731.html原创 2018-11-22 21:18:23 · 89 阅读 · 0 评论 -
Idea快捷键
Ctrl+E,最近的文件Ctrl+F12,可以显示当前文件的结构Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择Ctrl+N,可以快速打开类Ctrl+Shift+N,可以快速打开文件Ctrl+P,可以显示参数信息Ctrl+Alt+T,可以把代码包在一个块内,例如:try/catchCtrl或者Alt+Enter,导入包,自动修正Ctrl+Al...原创 2018-08-28 21:47:42 · 176 阅读 · 0 评论 -
Idea配置tomcat内存
-server -XX:PermSize=128M -XX:MaxPermSize=256m原创 2017-10-03 18:18:52 · 1942 阅读 · 0 评论 -
IDEA中如何使用Git
参考。转载 2023-07-17 16:59:27 · 45 阅读 · 0 评论 -
Idea Sonar使用说明
参考。原创 2023-07-17 17:01:36 · 306 阅读 · 0 评论 -
AES加密
密钥交换算法是指在不安全的通道上,通过某种算法交换一个密钥,常用的有Diffie-Hellman(DH)算法、椭圆曲线Diffie-Hellman(ECDH)算法等。消息摘要算法是一种单向加密算法,将任意长度的数据转换成固定长度的输出,常用的有MD5、SHA-1、SHA-2等。数字签名算法是将消息或数据进行哈希计算,然后用私钥签名,验证签名时使用公钥进行验证,常用的有RSA、DSA等。非对称加密算法使用一对密钥(公钥和私钥)对数据进行加密和解密,常用的有RSA、DSA、ECC等。3、确保数据的完整性。原创 2024-03-28 18:08:30 · 354 阅读 · 0 评论 -
spring boot学习第十五篇:分库分表实战
先了解分库分表的一些概念,参考:【MySQL】MySQL分库分表详解[通俗易懂]-腾讯云开发者社区-腾讯云然后觉得哔哩哔哩里讲的挺好的,要试一下:1、海量数据冲击下的MySQL优化方案_哔哩哔哩_bilibili还有博客:https://blog.51cto.com/u_14904176/5959319原创 2024-03-22 16:36:46 · 205 阅读 · 0 评论 -
使用quartz
1、原创 2024-03-20 16:27:49 · 316 阅读 · 0 评论 -
使用aop做权限控制
7.1没权限的情况,jack没权限访问这个接口。7.2有权限的情况,heming有权限。原创 2024-03-20 16:18:05 · 140 阅读 · 1 评论 -
kafka2.x版本配置SSL进行加密和身份验证
与步骤 1 中存储每台机器自己的身份的密钥库不同,客户机的信任库存储客户机应信任的所有证书。您可以使用单个 CA 对集群中的所有证书进行签名,并让所有计算机共享信任该 CA 的同一信任库。因此,只要 CA 是真实且受信任的颁发机构,客户端就可以高度保证它们连接到真实的计算机。部署一个或多个支持 SSL 的代理的第一步是为集群中的每台计算机生成密钥和证书。完成第一步后,群集中的每台计算机都有一个公钥-私钥对,以及一个用于标识计算机的证书。生成的 CA 只是一个公钥-私钥对和证书,它旨在对其他证书进行签名。原创 2024-03-19 11:50:50 · 1646 阅读 · 0 评论 -
Java 的强引用、弱引用、软引用、虚引用
弱引用与软引用的区别在于:只具有弱引用的对象拥有更短暂的生命周期。当垃圾回收器准备回收一个对象时,如果发现它还有虚引用,就会在回收对象的内存之前,把这个虚引用加入到与之 关联的引用队列中。软引用可以和一个引用队列(ReferenceQueue)联合使用,如果软引用所引用的对象被垃圾回收器回收,Java虚拟机就会把这个软引用加入到与之关联的引用队列中。弱引用可以和一个引用队列(ReferenceQueue)联合使用,如果弱引用所引用的对象被垃圾回收,Java虚拟机就会把这个弱引用加入到与之关联的引用队列中。原创 2024-03-18 15:49:04 · 663 阅读 · 0 评论 -
使用Arthas
Arthas 是 Alibaba 在 2018 年 9 月开源的 Java 诊断工具。支持 JDK6+, 采用命令行交互模式,可以方便的定位和诊断 线上程序运行问题。Arthas 官方文档十分详细,详见:https://alibaba.github.io/arthas。解压之后,然后再执行。原创 2024-03-18 09:59:20 · 186 阅读 · 0 评论 -
JAVA类加载机制
clinit>()方法是由编译器自动收集类中所有类变量的赋值动作和静态语句块(static块)中的语句合并产生的,编译器收集的顺序一定是先变量赋值,再静态语句(无论在源文件中出现的顺序如何)故在静态语句块中可以访问到类变量的初始化值了。(3)准备阶段——>变量已经赋过一次系统要求的初始值,而初始化阶段——>赋程序员给定的初始值(static final修饰的除外)——>初始化过程是执行类构造器()方法的过程。加载——>验证——>准备——>解析——>初始化——>使用——>卸载。原创 2024-03-15 18:21:16 · 369 阅读 · 0 评论 -
Apache zookeeper kafka 开启SASL安全认证
Kafka是一个高吞吐量、分布式的发布-订阅消息系统。Kafka核心模块使用Scala语言开发,支持多语言(如Java、Python、Go等)客户端,它可以水平扩展和具有高吞吐量特性而被广泛使用,并与多类开源分布式处理系统进行集成使用。Kafka作为一款开源的、轻量级的、分布式、可分区和具备复制备份的、基于ZooKeeper协调管理的分布式流平台的功能强大的消息系统。与传统消息系统相比,Kafka能够更好的处理活跃的流数据,让数据在各个子系统中高性能、低延迟地不停流转。原创 2024-03-13 15:40:01 · 1404 阅读 · 2 评论 -
Synchronized方法锁、对象锁、类锁区别
synchronized,这个东西我们一般称之为”同步锁“,他在修饰代码块的时候需要传入一个引用对象作为“锁”的对象。原创 2024-03-04 14:18:41 · 1219 阅读 · 0 评论 -
JAVA计算表达式
需求:例如if(score>=85){return 1;}有这一串字符串,要执行这个字符串,如果score为86分,则能得到1;如果score为30分,则能得到4;原创 2024-02-29 14:12:37 · 132 阅读 · 0 评论 -
JVM调优(Window下)
查看到了是java.lang.Object[]关键字,点击了Details后,往下拉。2.2安装好MAT后,点击菜单File-->Open Heat Dump...然后选择刚才产生的hprof文件,有个Overview视图,产生OOM时,console打印了,dump文件在哪里。2、拿到hprof文件后,放到mat工具里面查看结果。我电脑里是JDK8,建议下载1.0.0的版本。1、编写代码,像下面代码这样,产生OOM,添加一个vm options,添加如下配置。这个可展开收缩的项,找到问题出在哪一行了。原创 2024-02-08 22:42:03 · 392 阅读 · 0 评论 -
JVM调优(ubuntu系统下)
不太好验证,写了一个死循环放在接口里,然后调用接口3次,机器直接挂掉了,没有任何的hprof文件产生。1、使用MAT查看服务是因为什么代码导致的停服。这样怎么办呢,才能验证我的这个学习需求呢?但是没有看到hprof文件,原创 2024-02-08 16:06:41 · 178 阅读 · 0 评论 -
spring boot学习第十一篇:发邮件
【代码】spring boot学习第十一篇:发邮件。原创 2024-02-06 18:41:22 · 771 阅读 · 0 评论 -
输入输出流、字符字节流、NIO
批量下载指的是,将多个文件打包到zip文件中,然后下载该zip文件。1、对输入输出流、字符字节流的学习,以之前做的批量下载功能为例。1.2、下载磁盘中的多个文件到zip文件中。下载了文件,能正常打开,且文件都是正常的。1.3编写接口,下载该zip文件。1.1下载网络上的文件。原创 2024-01-05 16:52:14 · 520 阅读 · 0 评论 -
BigDecimal使用
如果return obj1.divide(obj2,2,BigDecimal.ROUND_HALF_UP);以上代码能正常执行且达到预期目的。原创 2023-08-30 18:36:49 · 144 阅读 · 0 评论 -
数组怎么找出第二大元素和对应下标
【代码】数组怎么找出第二大元素和对应下标。原创 2023-08-26 09:48:35 · 115 阅读 · 0 评论 -
JDK1.8的stream语法
1、stream之map的用法。原创 2023-07-24 19:56:36 · 182 阅读 · 0 评论 -
JVM快速入门
本篇是带你快速入门JVM的一篇文章,努力把JVM重点都讲下,并且尽量都讲通俗,干货满满,看完这篇文章,面试时大部分内容都能说出一二。原创不易,如转载,请标明转载处!文章如果哪里说的有纰漏,欢迎评论、交流、指正。本文涉及以下内容:JVM体系结构、类加载器、双亲委派机制、Native、方法区、堆内存(新生区、老年区、元空间)、GC算法(复制算法、标记清除压缩算法、分代收集算法)原创 2023-07-10 14:18:59 · 628 阅读 · 0 评论 -
JVM回收算法(标记-清除算法, 复制算法, 标记-整理算法)
最基础的算法,分为两个阶段,“标记”和“清除”- 标记阶段:collector从mutator根对象开始进行遍历,对从mutator根对象可以访问到的对象都打上一个标识,一般是在对象的中,将其记录为可达对象。- 清除阶段,collector对堆内存(heap memory)从头到尾进行线性的遍历,如果发现某个对象没有标记为可达对象-通过读取对象的header信息,则就将其回收。- 标记和清除效率低。原创 2023-07-10 10:38:52 · 1337 阅读 · 0 评论