![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 59
小白他表哥
这个作者很懒,什么都没留下…
展开
-
poi操作word docx文档内容替换,解决占位符被Run分割
param的k为word模板中要替换的占位符,v为要替换成的文字本文的占位符为${} 可自行修改替换//替换word中的占位符 private void replaceWordText(List<XWPFParagraph> paragraphList, Map<String, Object> param) { for (XWPFParagraph paragraph : paragraphList) { // 遍历获取段落中原创 2022-05-18 18:48:18 · 3401 阅读 · 0 评论 -
CAS及CAS自旋
1. CAS简介比较并交换(compare and swap, CAS),是原子操作的一种。在多线程没有锁的状态下,可以保证多个线程对同一个值的更新。CAS可用于在多线程编程中实现不被打断的数据交换操作,从而避免多线程同时改写某一数据时由于执行顺序不确定性以及中断的不可预知性,产生的数据不一致问题。该操作通过将内存中的值与指定数据进行比较,当数值一样时将内存中的数据替换为新的值。2. CAS的特点1、CAS结合volatile可以实现无锁并发,适用于线程数少,多核CPU场景下。线程数不要超过CP转载 2022-05-13 16:31:49 · 4034 阅读 · 0 评论 -
java代码块执行顺序
目录 静态代码块 格式 执行时机 静态代码块的作用 静态代码块不能存在任何方法体中 静态代码块不能访问普通变量 构造代码块 格式 执行时机 构造代码块的作用 构造函数 普通代码块 执行顺序 父类和子类执行顺序 1.静态代码块1.1.格式在java类中(方法中不能存在静态代码块)使用static关键字和{}声明的代码块:public class CodeBlock { static{原创 2021-12-18 10:30:37 · 869 阅读 · 0 评论 -
java操作es(elasticsearch)使用scroll取出全部数据
public void scrollDemo() { //transportClient配置自行处理此处不做演示 SearchResponse scrollResp = transportClient.prepareSearch("order_stage")//指定index .setTypes("order")//指定type//.addSort(FieldSortBuilder.DOC_FIELD_NAME, SortOrder.ASC...原创 2021-07-26 12:09:58 · 3672 阅读 · 0 评论 -
java双重校验锁(DCL)
获取线程安全的单例模式请看文末最后一段代码先简单说下java对象的创建过程:1.在堆内存中为对象分配内存空间2.执行对象的构造方法初始化对象3.对象引用指向堆内存中分配的内存地址但是当我们编译的时候,编译器在生成汇编代码时候会对流程顺序进行优化(重排序),优化后的执行顺序不是我们可以控制的。重排序后在单线程的情况下是可以保证最后的结果是一致的单线程里2和3虽然被重排序了,但是不影响串行语义以”懒汉式“单例模式为例,多线程情况下2和3重排序后会导致出现多个对象的问题。问题例举原创 2021-01-13 14:05:00 · 2468 阅读 · 0 评论 -
java8新日期类常用操作
1.获取当前日期 @Test public void demo1(){ //获取当前年月日 LocalDate today = LocalDate.now(); System.out.println("当前的日期年月日:" + today); //获取当前年月日时分秒 LocalDateTime localDateTime = LocalDateTime.now(); System.out.p原创 2021-01-11 20:27:01 · 1652 阅读 · 0 评论 -
idea项目名后出现中括号别名
项目名出现中括号是因为iml文件名和项目文件名不一样,需要更改iml文件名原创 2020-04-18 11:46:39 · 4290 阅读 · 0 评论 -
idea新建的springBoot项目,自动生成的入口类中提示错误Cannot resolve symbol '@springbootapplication'
或者项目入口类和springBoot配置文件无法识别将模块从maven移除重新添加到maven中原创 2020-04-18 11:37:54 · 281 阅读 · 0 评论 -
阿里easyexcel读取excel文件
maven依赖,内部依赖poi,注意处理冲突<!-- alibaba/easyexcel --><dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.0.5</...原创 2020-01-16 19:49:55 · 1357 阅读 · 0 评论 -
java反射使spring依赖注入和AOP失效
因为我们是手动通过反射获得的Bean的实例,这种方式相当于我们new Bean(),此Bean的实例已完全脱离Spring容器,所以Spirng无法感知它的存在,所以调用类中的依赖注入类和AOP会失效解决方法:以下均为局部核心代码,需要根据自己场景相应调整1:WebApplicationContext wac = ContextLoader.getCurrentWebApplicat...原创 2019-12-31 11:30:21 · 749 阅读 · 0 评论 -
ExecutorService和ExecutorCompletionService多线程有返回值任务的区别
通常Java线程池执行的任务有两种类型,一种是不带返回值的Runnable, 另一种是带返回值的Callable。对于不带返回值的任务通常我们不太关注任务是否执行结束以及结束后应该做做些什么,我们将任务提交给线程池, 然后顾自己干别的事情。带返回值的任务执行结果通常受到当前任务的依赖,任务提交给线程池后还需要等待任务的返回。对于任务结果我们会有不同的需求,有时候当前任务依赖所有提交给线程池...转载 2019-09-21 19:08:32 · 585 阅读 · 2 评论 -
使用Idea进行java应用的远程调试(Remote debugging)
本文可以解决如下两个问题:1.如何处理和调试那些只发生在生产环境(或其他远程环境)而本地开发环境可能没办法重现的“问题”。2.只有一个可以部署的war/jar包,只有class没有java源代码,而应用部署在本地/远程后,如何去调试解决方案:部署远程调试远程调试包括两个步骤:启动Tomcat启用远程调试 用 IDE (这里用IntelliJ IDEA)要能够调试远程Tomcat...原创 2019-08-13 19:52:26 · 3322 阅读 · 0 评论 -
spring cloud feign远程调用接口 异常:Load balancer does not have available server for client:xxx
异常如下图:解决方案:application.yml配置文件添加application:name (name的值为远程调用接口所属的服务模块名)instance:appname:为spring cloud注册中心显示的名字注:若没有配置instance:appname则注册中心显示application:name的名字若instance:appname和applicat...原创 2019-02-21 15:33:07 · 42463 阅读 · 8 评论 -
Spring Cloud 分布式开发mapper映射异常:Field typeMapper in xxx required a bean of type 'xxx'
Spring Cloud 分布式开发mapper映射异常,出现如下图所示异常:解决方案;SpringBoot主配置上添加mapper扫描,如下图:检查SpringBoot的yml配置文件中,整合mybatis时指定的mapper映射配置文件的位置是否正确对应检查调用mapper的类中是否正确纳入IOC容器 ...原创 2019-02-22 21:16:56 · 921 阅读 · 0 评论 -
上传阿里云对象存储oss报错:java.security.NoSuchAlgorithmException
java上传阿里云对象存储oss报错:java.security.NoSuchAlgorithmException:Algorithm HmacSHA1 not available解决方法:修改项目 jdk指向路径:如下图,由原先的D:\Program Files\Java\jdk1.8.0_181 改为 D:\Program Files\Java\jre1.8.0_181...原创 2019-02-18 10:33:57 · 575 阅读 · 0 评论 -
阿里云OSS上传错误:java.lang.ClassNotFoundException:org.apache.http.ssl.TrustStrategy
问题产生的原因就是jar包版本问题,阿里的SDK引入的pom中依赖的httpclient和httpcore版本高于当前项目中已经设置的版本。解决: 删除低版本后,更新下项目。阿里云oss依赖 <dependency> <groupId>com.aliyun.oss</groupId> <artifac...原创 2019-02-18 13:47:07 · 2016 阅读 · 0 评论 -
调用dubbo接口报错,java.net.ConnectException,java.nio.channels.ClosedChannelException: null
调用dubbo接口报错,java.net.ConnectException: Connection refused: no further informationjava.nio.channels.ClosedChannelException: null错误信息:解决方案:VM options :-Djava.net.preferIPv4Stack=true 不要有空格...原创 2019-07-03 18:37:18 · 1908 阅读 · 0 评论 -
Java注解@PostConstruct和@PreDestory
1.@PostConstruct说明 被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Servlet的inti()方法。被@PostConstruct修饰的方法会在构造函数之后,init()方法之前运行。2.@PreDestory说明 被@PreDestory修饰的方法会在服务器卸载Servlet的时候运行,并且只会被服务器调用一次,类似于Servlet的destroy()方法。被@PreDestory修饰的方法会在...原创 2019-07-10 11:21:34 · 459 阅读 · 2 评论 -
java中PO,BO,VO等各种O区别
PO(bean,entity等命名):persistant object持久对象,数据库表中的记录在java对象中的显示状态最形象的理解就是一个PO就是数据库中的一条记录。好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。BO(service,manager,business等命名):business object业务对象主要作用是把业务逻辑封装为一个对象。这个对象可...原创 2019-07-25 18:13:51 · 975 阅读 · 0 评论 -
java代码实现:n个集合每次从每个集合里面取出一个元素组成一个字符串,列出所有组合
List集合中有多个List集合,每个集合中存储多个字符串,每次从每个集合里面取出一个元素组成一个字符串使用递归实现下面直接上代码:public class Test { public static void main(String[] args) { List<List<String>> strings = new ArrayList...原创 2019-08-04 16:24:21 · 2606 阅读 · 0 评论 -
使用Java打印杨辉三角
需求:打印一个杨辉三角,行数由客户决定分析: 1.每行的第一列和最后一列数字为1 2.当前数字 = 同列的上一个数 + 同列上一个数的同行前一个数import java.util.Scanner;public class YHTriangle { public static void main (String [] args) { //键盘录入杨辉三角的行数 Sca原创 2018-01-18 11:28:56 · 1294 阅读 · 0 评论