• Java项目导出数据为 PDF 文件的操作代码
    Java项目导出数据为 PDF 文件的操作代码
    目录Java项目如何导出数据为 PDF 文件?一、代码结构如下二、代码说明1、添加依赖 pom.xml2、HTML模板文件 audit_order_record.html3、添加字体4、PDF 导出工具类5、导出接口6、打开浏览器测试三、效果图Java项目如何导出数据为 PDF 文件?一个小需求,需要将
    02-09
  • 盘点Java中延时任务的多种实现方式 java 延时队列怎么实现
    盘点Java中延时任务的多种实现方式 java 延时队列怎么实现
    目录场景描述实现方式一、挂起线程二、ScheduledExecutorService 延迟任务线程池三、DelayQueue(延时队列)四、Redis-为key指定超时时长,并监听失效key五、时间轮六、消息队列-延迟队列场景描述①需要实现一个定时发布系统通告的功能,如何实现? ②支付超时
    02-09
  • Java Semaphore信号量使用分析讲解
    Java Semaphore信号量使用分析讲解
    目录前言介绍和使用API介绍基本使用原理介绍获取许可acquire()释放许可release()总结前言大家应该都用过synchronized 关键字加锁,用来保证某个时刻只允许一个线程运行。那么如果控制某个时刻允许指定数量的线程执行,有什么好的办法呢? 答案就是JUC提供的信
    02-09
  • 【Java并发入门】03 互斥锁(上):解决原子性问题
    【Java并发入门】03 互斥锁(上):解决原子性问题
    原子性问题的源头是线程切换Q:如果禁用 CPU 线程切换是不是就解决这个问题了?A:单核 CPU 可行,但到了多核 CPU 的时候,有可能是不同的核在处理同一个变量,即便不切换线程,也有问题。所以,解决原子性的关键是「同一时刻只有一个线程处理该变量,也被称
    02-09
  • Java限流实现的几种方法详解 限流的实现方式
    Java限流实现的几种方法详解 限流的实现方式
    目录计数器信号量滑动窗口漏桶令牌桶测试示例代码计数器计数器限流方式比较粗暴,一次访问就增加一次计数,在系统内设置每 N 秒的访问量,超过访问量的访问直接丢弃,从而实现限流访问。具体大概是以下步骤:将时间划分为固定的窗口大小,例如 1 s;在窗口时间
    02-09
  • Java多线程Thread类的使用详解
    Java多线程Thread类的使用详解
    目录1.创建一个线程2.start()方法与run()方法3.查看线程4.创建线程的各种方法4.1实现Runnable接口4.2使用匿名内部类4.3使用匿名内部类实现Runnable4.4使用Lambda表达式1.创建一个线程Java操作线程最核心的类就是Thread类创建线程有很多方法,下面我们写一个Myt
    02-09
  • java如何读取某个文件夹中的全部文件(包括子文件夹)
    java如何读取某个文件夹中的全部文件(包括子文件夹)
    目录java读取某个文件夹中的全部文件主要思路示例java获取文件夹下指定的文件java读取某个文件夹中的全部文件主要思路使用file.listFiles()函数可以获取到某文件夹下的所有文件信息,如果需要访问子文件夹下的文件,则需要对获取到的文件信息进行递归遍历,如
    02-09
  • Java开发学习(四十六)----MyBatisPlus新增语句之id生成策略控制及其简化配置
    Java开发学习(四十六)----MyBatisPlus新增语句之id生成策略控制及其简化配置
    在前面有一篇博客:Java开发学习(四十一)----MyBatisPlus标准数据层(增删查改分页)开发,我们在新增的时候留了一个问题,就是新增成功后,主键ID是一个很长串的内容。我们更想要的是按照数据库表字段进行自增长,在解决这个问题之前,我们先来分析下ID该如
    02-09
  • Java数据结构之KMP算法详解以及代码实现
    Java数据结构之KMP算法详解以及代码实现
    目录暴力匹配算法(Brute-Force,BF)概念和原理next数组KMP匹配KMP全匹配总结我们此前学了前缀树Trie的实现原理以及Java代码的实现。Trie树很好,但是它只能基于前缀匹配实现功能。但是如果我们的需求是:一个已知字符串中查找子串,并且子串并不一定符合前
    02-09
  • Java数据结构之AC自动机算法的实现 ac自动机算法
    Java数据结构之AC自动机算法的实现 ac自动机算法
    目录1 概念和原理2 节点定义3 构建Trie前缀树4 构建fail失配指针5 匹配文本6 案例演示7 总结1 概念和原理一般的字符串匹配算法都是匹配一个子串,例如KMP、Trie,那么如果同时匹配多个子串呢?此时就需要用到AC自动机了。AC自动机算法是一个多模式字符串匹配
    02-09
  • Java9-17新特性一览,了解少于3个你可能脱节了
    Java9-17新特性一览,了解少于3个你可能脱节了
    你能通过一篇简单、连续、直观的文章就明白Java8之后Java未来整体发展的趋势,为之后几年适应Java相关工作打下基础;你可以通过了解Java9-17的新特性,为以后的面试加分……前言Java8出来这么多年后,已经成为企业最成熟稳定的版本,相信绝大部分公司用的还是
    02-09
  • 详解JAVA如何实现乐观锁以及CAS机制 java 乐观锁怎么实现
    详解JAVA如何实现乐观锁以及CAS机制 java 乐观锁怎么实现
    目录前言问题引入悲观锁解决乐观锁解决乐观锁改进CAS机制总结前言生活中我们看待一个事物总有不同的态度,比如半瓶水,悲观的人会觉得只有半瓶水了,而乐观的人则会认为还有半瓶水呢。很多技术思想往往源于生活,因此在多个线程并发访问数据的时候,有了悲观
    02-09
  • Java实题演练二叉搜索树与双向链表分析
    Java实题演练二叉搜索树与双向链表分析
    目录二叉搜索树与双向链表知识点-二叉树递归知识点-二叉搜索树思路代码二叉搜索树与双向链表OJ链接二叉树搜索树与双向链表描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。如下图所示数据范围:输入二叉树的节点数0 \le n \le 10000≤n≤10
    02-09
  • java并发数据结构之CopyOnWriteArrayList java并发类有哪些
    java并发数据结构之CopyOnWriteArrayList java并发类有哪些
    CopyOnWriteArrayList是一个线程安全的List实现,其在对对象进行读操作时,由于对象没有发生改变,因此不需要加锁,反之在对象进行增删等修改操作时,它会先复制一个对象副本,然后对副本进行修改,最后将修改后的副本对象写回,从而保证操作的线程安全,下面
    02-09
  • 线上服务异常的定位、处理与优化的探索 - 第三章 Java虚拟机
    线上服务异常的定位、处理与优化的探索 - 第三章 Java虚拟机
    Java虚拟机 之所以引入关于JVM的篇章,是发现多数项目发生的线上问题很大的几率源自JVM调优配置不当引起。对JVM的内存模型、GC垃圾回收机制、调优方式有一个系统化的了解后,可以快速处理或避免以下两类问题:以最合适的JVM参数配置生产环境项目,可以大大减
    02-09
  • java怎么自定义jstl标签库 jstl标签库有哪些标签
    这篇“java怎么自定义jstl标签库”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“java怎么自定义jstl标签库”文章吧。开发环境:Spri
    02-09
  • Java分析Lambda表达式Stream流合并分组内对象数据合并
    目录前言需求代码实现依赖引入设计实体类测试代码前言之前写过《Lambda使用——JDK8新特性》,现在有一个分组合并的需求正好拿来小试牛刀。需求数据出自许多接口数据,需要将几个接口数据根据省份id进行分组合并。举例说明:A接口返回List里面有值的的字段为
    02-09
  • Java开发JUC交换器Exchanger使用详解
    Java开发JUC交换器Exchanger使用详解
    目录前言Exchanger介绍API介绍Exchanger使用实现机制总结前言JDK中提供了不少的同步工具,现在分享一个相对比较冷门的同步工具——交换器(Exchanger)。你知道Exchanger的作用是什么吗?实现机制是什么?可以用来做什么呢?Exchanger介绍交换器(Exchanger)
    02-09
  • Java编码算法与哈希算法如何使用
    Java编码算法与哈希算法如何使用
    本篇内容主要讲解“Java编码算法与哈希算法如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java编码算法与哈希算法如何使用”吧!一、编码算法1.什么是编码ASCII 码就是一种编码,字母 A 的编码是十六
    02-09
  • Java中反射的学习笔记分享 java反射详解
    Java中反射的学习笔记分享 java反射详解
    目录简介一个简单的例子设置使用反射模拟instanceof运算了解类的方法获取有关构造函数的信息查找类字段按名称调用方法创建新对象更改字段的值使用数组总结简介反射是Java编程语言中的一个特性。它允许执行的Java程序检查或 操作 自身,并操作程序的内部属性。
    02-09
点击排行