
Java
文章平均质量分 75
刘贤松
人间走一遭,看见景繁华与喧闹,看见美好与祥和!
展开
-
Word模板文件,替换内容 文本、图片、表格、列表、区块、嵌套等
Word模板文件,替换内容 文本、图片、表格、列表、区块、嵌套等实例:员工信息表Word文件,程序动态替换内容,生成pdf文件话不多说,先看效果图!优势:1、模板只是布局调整,程序无需修改!2、以往做法,写成HTML 页面方便替换内容,再生成word,这样做存在错位兼容问题!直接贴代码:第一步:pom.xml <dependency> <groupId>com.deepoove</groupId...原创 2020-07-03 19:34:06 · 1993 阅读 · 3 评论 -
Mac 安装ZooKeeper+kafka基本使用
ZooKeeper 为分布式系统提供了一种配置管理的服务:集中管理配置,即将全局配置信息保存在 ZooKeeper 服务中,方便进行修改和管理,省去了手动拷贝配置的过程,同时还保证了可靠和一致性。原创 2023-09-13 16:54:35 · 1282 阅读 · 0 评论 -
SpringBoot集成Camunda流程引擎 (一)
SpringBoot集成Camunda流程引擎 (一)原创 2023-04-16 09:26:26 · 1290 阅读 · 0 评论 -
SpringCloud五大组件是什么
SpringCloud五大组件:1、服务发现Netflix Eureka;2、客服端负载均衡Netflix Ribbon;3、断路器Netflix Hystrix;4、服务网关Netflix Zuul;5、分布式配置。SpringCloud五大组件:1、Eureka作用:实现服务治理(服务注册与发现)简介:Spring Cloud Eureka是Spring Cloud Netflix项目下的服务治理模块。由两个组件组成:Eureka服务.原创 2021-10-08 13:23:08 · 639 阅读 · 0 评论 -
线程按顺序执行8种方法
一.前言本文使用了8中方法实现在多线程中让线程按顺序运行的方法,涉及到多线程中许多常用的方法,不止为了知道如何让线程按顺序运行,更是让读者对多线程的使用有更深刻的了解。 使用的方法如下:使用线程的join方法 使用主线程的join方法 使用线程的wait方法 使用线程的线程池方法 使用线程的Condition(条件变量)方法 使用线程的CountDownLatch(倒计数)方法 使用线程的CyclicBarrier(回环栅栏)方法 使用线程的Semaphore(信号量)方法二.实现原创 2021-10-02 10:01:50 · 2062 阅读 · 1 评论 -
RuntimeException和Exception区别
java将所有的错误封装为一个对象,其根本父类为Throwable, Throwable有两个子类:Error和Exception。 Error是Throwable的子类,用于指示合理的应用程序不应该试图捕获的严重问题。大多数这样的错误都是异常条件。虽然ThreadDeath错误是一个“正规”的条件,但它也是Error的子类,因为大多数应用程序都不应该试图捕获它。在执行该方法期间,无需在其throws子句中声明可能抛出但是未能捕获的Error的任何子类,因为这些错误可能是再也...原创 2021-07-27 10:20:57 · 427 阅读 · 0 评论 -
SpringBoot除了jar、war启动的方式,还有一种启动方式WarLauncher
SpringBoot除了jar\war启动的方式,还有一种启动方式:目录启动方式目录启动方式可以帮助解决过去的jar不支持spring boot新方式,比如老版本的MyBatis在META-INF/MANIFEST.MF中找到两个指定属性WarManifest-Version: 1.0Start-Class: com.DemoApplicationSpring-Boot-Classes: WEB-INF/classes/Spring-Boot-Lib: WEB-INF/lib/Bui原创 2021-07-01 17:27:27 · 1545 阅读 · 0 评论 -
论“单例模式”三种语言(PHP、Golang、Java)对比及使用
单例模式(Singleton Pattern)这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。介绍意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。主要解决:一个全局使用的类频繁地转载 2021-06-13 07:55:18 · 474 阅读 · 0 评论 -
MESI缓存一致性协议
MESI协议 缓存一致性协议有MSI,MESI,MOSI,Synapse,Firefly及DragonProtocol等等,接下来我们主要介绍MESI协议。MESI分别代表缓存行数据所处的四种状态,通过对这四种状态的切换,来达到对缓存数据进行管理的目的状态 描述 监听任务 M 修改(Modify) 该缓存行有效,数据被修改了,和内存中的数据不一致,数据只存在于本缓存行中 缓存行必须时刻监听所有试图读该缓存行相对应的内存的操作,其他缓存须在本缓存行写回内存并将状态...原创 2021-06-08 14:50:40 · 419 阅读 · 0 评论 -
JAVA 实现精确的加、减、乘、除、运算
import java.math.BigDecimal;public class Arith{ //默认除法运算精度 private static final int DEF_DIV_SCALE = 10; //提供精确的加法运算 public static double add(double v1, double v2) { BigDecimal b1 = BigDecimal.valueOf(v1); BigDecimal b2 = BigDecimal.valueOf...原创 2021-04-08 16:05:12 · 5600 阅读 · 0 评论 -
Java中的Assert断言常用语法
断言常用的方法 assert[əˈsɜːt]notNull(Object object)当 object 不为 null 时抛出异常,notNull(Object object, String message) 方法允许您通过 message 定制异常信息。和 notNull() 方法断言规则相反的方法是 isNull(Object object)/isNull(Object object, String message),它要求入参一定是 null; isTrue(boolean exp...原创 2021-04-06 09:24:10 · 2444 阅读 · 0 评论