
Java
墨java
这个作者很懒,什么都没留下…
展开
-
打jar包部署到服务器后,读取resource中的文件
打jar包部署到服务器后,读取resource中的文件原创 2022-08-26 09:15:19 · 554 阅读 · 0 评论 -
Spring的@EventListener简单使用
Spring的@EventListener基本使用原创 2022-08-09 20:40:16 · 317 阅读 · 0 评论 -
jooq自定义GeneratorStrategy报错ClassNotFoundException
jooq自定义GeneratorStrategy报错ClassNotFoundException原创 2022-07-01 11:55:49 · 451 阅读 · 0 评论 -
@RunWith与@SpringBootTest
@RunWithRunWith注解 When a class is annotated with @RunWith or extends a class annotated with @RunWith, JUnit will invoke the class it references to run the tests in that class instead of the runner built into JUnit. We added this feature late in developmen转载 2021-11-04 09:40:10 · 581 阅读 · 0 评论 -
deadlock死锁案例及分析判断方法
死锁是并发中常见的问题,在业务逻辑复杂,锁较多时发生死锁饿的概率极大。死锁产生的主要原因在于线程之间“死等”对方手里的锁。案例:package com.yc.uc.test;class Resouces{ private String lockA; private String lockB; public Resouces(String lockA, String lockB) { this.lockA = lockA; this.lockB原创 2021-03-08 11:10:36 · 468 阅读 · 0 评论 -
CyclicBarrier循环屏障使用案例
CyclicBarrier与CountDownLatch功能类似,都带有计数阻塞功能。关于CountDownLatch的讲解案例CountdownLatch阻塞主线程,等所有子线程完结了再继续下去。Syslicbarrier阻塞一组子线程,直至某个状态之后再全部同时执行(一般为子线程数量达到预期值)。并且所有线程都被释放后,还能通过reset来重用。CyclicBarrier通过 cyclicBarrier.await(); 方法对子线程进行拦截。所以,业务逻辑在await() 前后就有两种完全不同的执原创 2021-03-04 10:55:41 · 336 阅读 · 1 评论 -
CountDownLatch闭锁的使用案例
CountDownLatch闭锁作为JUC中带计数功能的锁之一(另外两个常用的为CyclicBarrier和Semaphore),其主要使用方法和功能为:在当前线程A中启动多个子线程a,b,c。在不使用CountDownLath时,主线程不会等待子线程a,b,c执行结束再运行自己的逻辑。使用CountDownLatch后,主线程会在所有子线程a,b,c都执行完后,再执行自己的逻辑。import java.util.concurrent.CountDownLatch;/** * @Author Al原创 2021-03-04 10:09:34 · 237 阅读 · 3 评论 -
读写锁ReentrantReadWriteLock案例
public class ReadWriteLock { public volatile Map<String,String> map = new HashMap<>(); ReentrantLock reentrantLock = new ReentrantLock(); ReentrantReadWriteLock readWriteLock = new ReentrantReadWriteLock(); //独占锁 public vo原创 2021-03-03 18:12:07 · 309 阅读 · 1 评论 -
stream的Collectors.toMap()方法遇到空指针
all.stream() .collect(Collectors.toMap(FiltoBaseColumnPropertiesPO::getCode, FiltoBaseColumnPropertiesPO::getValue)); }debug定位到FiltoBaseColumnPropertiesPO中有的value值为null,导致转map的时候value值为空,抛出NPE异常Collectors.toMap底层是基于Map.merge方法来实现的,而merge中value是不能为.原创 2021-02-24 10:49:18 · 4323 阅读 · 0 评论 -
pom文件导入本地jar包依赖
将模块打成jar包到本地maven仓库,作为其他模块的依赖引入。第一、二步:使用maven工具使用clean、install打包子模块到本地仓库。第三步:在本地仓库中找到该模块的jar包所在文件夹中的.xml文件。第四步:将蓝色部分复制到其需要导入依赖的模块的pom文件中。...原创 2021-01-18 17:36:01 · 1721 阅读 · 0 评论 -
SpringBoot自动装配原理(到注册beanDefinition)
SpringBoot自动装配原理(到注册beanDefinition)总体结构:return (new SpringApplication(primarySources)).run(args);new SpringApplication(primarySourcespublic SpringApplication(ResourceLoader resourceLoader, Class<?>... primarySources) { this.sources = new Linke原创 2020-12-01 18:42:32 · 633 阅读 · 0 评论 -
Unable to connect to localhost/<unresolved>:6379 springboot2.x调用虚拟机VM Virtualbox中的redis容器
解决方案:使用本地配置文件的方式创建docker容器:docker run -d -p 6379:6379 -v /test/redis/redis.conf:/etc/redis/redis.conf --name myredis redis redis-server /etc/redis/redis.conf --appendonly yes参数解析:-d 后台运行-p 将redis的6379端口映射到虚拟机的6379端口-v /test/redis/redis.conf:/etc原创 2020-11-08 20:24:44 · 8697 阅读 · 3 评论 -
[ERROR] 不再支持源选项 6。请使用 7 或更高版本。 [ERROR] 不再支持目标选项 6。请使用 7 或更高版本。
在pom.xml中添加 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>14</maven.compiler.source> <maven.compiler.target>14</maven.compiler.targe原创 2020-11-03 10:15:54 · 5603 阅读 · 4 评论 -
SpringMVC跨服务器文件上传中的坑403 409.,特此记录!!Request processing failed;nested exception is com.sun.jersey.api
问题描述:springMVC跨服务器文件上传,一直报错定位到PUT。错误类型:403tomcat服务器默认readonly属性为true。这样服务器会拒绝写入文件,就是403错误了。 <servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet原创 2020-11-01 13:28:17 · 349 阅读 · 0 评论 -
基于注解的Spring AOP后置通知和最终通知执行顺序问题
问题描述:基于注解的Spring AOP后置通知@AfterReturning和最终通知@After执行顺序异常 /** * 开启事务 */ //前置通知 @Before("expression()") public void beginTransaction(){ System.out.println("前置通知。。"); Connection connection = connectionFactory.getCon原创 2020-10-31 20:51:58 · 2945 阅读 · 7 评论 -
Ajax请求$.post在SpringMVC中使用Jackson传输json信息,public User testAjax(@RequestBody User user)参数获取不到的问题
问题描述:在学习SpringMVC时,使用jackson对Ajax请求传输json信息进行自动解析。在Controller使用注解@RequestBody获取请求体并封装成user对象。如果使用$.post发起请求会出现bug,使用$.ajax则无异常。 // 发送ajax请求 $.ajax({ // 编写json格式,设置属性和值 url:"user/testAj原创 2020-10-31 20:29:10 · 429 阅读 · 0 评论