
java
文章平均质量分 95
贾哇技术指南
这个作者很懒,什么都没留下…
展开
-
Java线程是如何启动的?
Thread.start()之后是如何调用run()方法的呢?前言我们在初学 Java 中的线程的时候,可能会写过如下代码:public static void main(String[] args) { Thread thread = new Thread(() -> System.out.println("当前线程名称:" + Thread.currentThread().getName()) , "jts-th原创 2021-09-26 22:24:53 · 552 阅读 · 0 评论 -
CompletableFuture 等待异步任务的多个返回结果 与 Guava 的ListenableFuture对比
前言如果我们有多个任务异步执行,等全部异步任务执行完,获取所有的异步任务结果,应该怎么做呢?大部分情况下可能直接使用CountDownLatch 来实现,那么,有没有更优雅一点的实现呢?下面我以抓取 非小号 的数据为例,分别用JDK1.8开始自带的 CompletableFuture 与Guava 提供的ListenableFuture来实现这个功能。首先贴出所有代码package com.jts.multithread.future;import com.alibaba.fastjson.JSO原创 2020-09-02 21:04:08 · 2685 阅读 · 3 评论 -
DateUtils兼容多种日期类型转换
org.apache.commons.lang3.time.DateUtilsorg.apache.commons.lang3.time.DateUtilspublic static Date parseDate(String str, String… parsePatterns) throws ParseException {return parseDate(str, (Locale)null, parsePatterns);}可以兼容多种日期格式化类型...原创 2020-08-21 10:09:33 · 570 阅读 · 0 评论 -
设计模式之-代理模式
什么是代理模式? 有很多事情不得不做,但是又不想自己做,我们就可以把自己的信息交给别人,让别人去做,这个就是代理模式。比如你是一个明星,要在杭州举行一场演唱会,是不是有找场地,发通知告诉粉丝等等很多事情要做?但是这些事情不能由你自己做吧,那不是累死了。再比如说我要抢火车票,总不能自己一直在12306刷有没有票吧?这个时候我们就可以把自己的信息提供给抢票软件,然后让抢票软件帮我...原创 2018-09-20 15:16:07 · 199 阅读 · 0 评论 -
手写jdk动态代理
之前的文章讲了动态代理的实现原理,这里我们来手写一下jdk的动态代理(支持实现多接口和带参数的方法)。主要原理就是生成一个和实现目标对象相同接口的一个代理对象,我们调用方法的时候实际调用的是生成代理对象的方法。1.手写InvocationHandler,用来调用代理类的方法import java.lang.reflect.Method;public interface JtsInvoc...原创 2018-09-30 14:36:46 · 665 阅读 · 1 评论 -
在Springboot启动后执行代码
在Springboot启动后执行代码Springboot启动后执行代码Springboot启动后执行代码有时候我们需要在Springboot启动后就执行一些代码,这时候可以通过写一个类实现CommandLineRunner接口,然后在该类上加上@Component注解就可以了。代码如下:@Componentpublic class AfterStartDo implements Comma...原创 2019-01-09 19:39:03 · 3595 阅读 · 0 评论 -
用Springboot进行单元测试
Springboot单元测试我们如何使用springboot来进行可以读取到配置的测试呢?引入测试依赖在测试类上添加@RunWith(SpringRunner.class)和@SpringbootTest注解我们如何使用springboot来进行可以读取到配置的测试呢?引入测试依赖 <dependency> <groupId>org.spri...原创 2019-02-11 11:45:08 · 495 阅读 · 0 评论 -
总结Java中的集合类
单例集合:都继承自Collection接口:----------| Collection(List和Set):----------------------| List(特点是有序可重复)----------------------------| ArrayList,底层使用Object数组实现,所以特点就是查询快,增删改慢。在增和删的时候会牵扯到数组增容,以及元素拷原创 2017-06-12 12:41:18 · 349 阅读 · 0 评论 -
springboot 单个input多图片上传
最近有用到多图片上传的功能,但是不能有多少个图片就写多少个标签,于是在网上找了一个js展现图片的模板,自己改造之后实现了单个input上传多个图片的功能。1.项目是基于springboot快速搭建springboot:http://start.spring.io/项目名是studySpringBoot,如下图,如不想搭建,可以直接用我后面的百度云源代码2.前台代码如下:原创 2017-11-13 01:49:35 · 6247 阅读 · 6 评论 -
maven 报错
如果在下载maven项目中的jar包时网络不好,或者断网,会生成一个.lastUpdated为后缀的文件。如果这个文件存在,那么即使换一个有资源的仓库后,Maven依然不会去下载新资源。这个时候只要去自己本地的仓库中找到 .lastUpdated结尾的文件就可以重新下载jar包了。网上也有不删除这些文件就可以更新的方法,但是我没进行尝试。原创 2017-11-15 22:47:03 · 770 阅读 · 0 评论 -
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
搭建ssm工程后进行开发测试的时候,启动项目时卡住了。提示信息如下:信息: Initializing Spring root WebApplicationContextlog4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).log4j:WARN Please ...原创 2018-02-28 22:49:43 · 24923 阅读 · 1 评论 -
java中的反射
java中很多框架都用到了反射,所以在造spring轮子之前,还是要彻底的了解一下反射。1.什么是反射?(what)在学习任意一个技术时,我们可以去官网看它的介绍,而不是先去百度。官网反射介绍:https://www.oracle.com/technetwork/articles/java/javareflection-1536171.html介绍如下:Reflection i...原创 2018-09-12 15:24:21 · 159 阅读 · 0 评论