
java
.....
程序员阿伟
热爱编程,编程可以改变生活
专注大数据领域
前后端略有涉及
喜欢分享好玩有趣的小项目
个人座右铭:编程之路没有尽头,永远保持自己的热爱
展开
-
提升代码能力之构造者模式创建对象
适用于实体类的属性比较多时,因此当我们通过new的方式创建对象时,一般来说我们需要逐个字段的去赋值可以看到,我们new对象时,如果没有空参构造函数,那么就需要每个属性逐个的去赋值,十分的麻烦,而且就算有空参构造,那么赋值的时候,也需要set方法,同样不方便,那么是否有方法可以只需要赋值字段想要的字段,不赋值的属性使用默认值,然后创建一个对象。原创 2023-03-07 12:16:58 · 395 阅读 · 0 评论 -
Java调用IK分词器进行分词,封装工具类
在大数据的场景下,一般用于统计关键词出现的频率,因此我们需要对一些数据文本进行分词,得到我们想要的关键词。原创 2023-03-01 09:12:26 · 2251 阅读 · 0 评论 -
如何区分iterator和iterable
Collection接口继承了iterable接口,因此所有实现了Collection接口的集合类都有一个iterator方法。而iterator是iterable中的一个方法,用来返回一个迭代的对象。iterable是一个类接口。原创 2022-11-06 13:16:26 · 299 阅读 · 0 评论 -
JDBC工具类封装,创建注解标注实体类,读写操作自动加载对象,简单实现了类似Mybatis框架的底层实现
前言该JBDC工具类实现了基本的增、删、改,查的操作,这并不是最主要的,主要的是实现这个工具采用的技术和思想,例如,注解的创建,使用,以及代码自动加载被注解的实体类对象,模仿Mybatis的底层原理实现。代码注解Table用来标注实体的对应的表import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPoli原创 2021-12-10 17:35:12 · 8251 阅读 · 0 评论 -
Java中的BeabUtils.copyproperties用法
介绍BeanUtils它提供了对java反射和自省API的包装。它里面还有很多工具类,这里我们介绍一下copyProperties。使用BeanUtils.copyProperties方法进行对象之间属性的赋值,避免通过get、set方法一个一个属性的赋值,减少了代码工作量。用法BeanUtils.copyProperties("被赋值的对象", "被复制的对象");注意例子:BeanUtils.copyProperties(a, b)1、a和b可以是不同的类;...原创 2021-11-26 23:57:01 · 1069 阅读 · 0 评论 -
java中数组和集合的区别以及特性
区别集合与数组区别1、数组声明了它容纳的元素的类型,而集合不声明。2、数组是静态的,一个数组实例具有固定的大小,一旦创建了就无法改变容量了。而集合是可以动态扩展容量,可以根据需要动态改变大小,集合提供更多的成员方法,能满足更多的需求。3、数组的存放的类型只能是一种(基本类型/引用类型),集合存放的类型可以不是一种(不加泛型时添加的类型是Object)。4、数组是java语言中内置的数据类型,是线性排列的,执行效率或者类型检查都是最快的。特性...原创 2021-11-21 00:04:01 · 773 阅读 · 0 评论 -
使用Java8中的CompletableFuture优化代码的执行效率
使用场景一般来说,当我们调用复杂的逻辑运算的方法时,如果采取顺序执行的方式,那么主线程就会被严重堵塞,从而大大影响到代码的执行效率。 想要解决这个问题,其实也很简单,只要为复杂的任务代码专门创建一个线程去异步执行就行。详解CompletableFuture源码中有四个静态方法用来执行异步任务:public static <U> CompletableFuture<U> supplyAsync(Supplier<U> su...原创 2021-11-15 16:24:13 · 1224 阅读 · 0 评论 -
使用@RequiredArgsConstructor注解来取代繁琐的@Autowrired
使用场景在我们写controller或者Service层的时候,需要注入很多的mapper接口或者另外的service接口,这时候就会写很多的@Autowired注解,代码看起来很乱,还很繁琐使用准备此注解基于lombok,因此使用时必须导入lombok依赖<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artif...原创 2021-11-15 12:29:49 · 856 阅读 · 0 评论 -
java中如何管理配置文件信息
有时我们需要将一些配置信息添加到我们的代码中,但是直接将配置信息写到代码中,那么就不利于扩展和集中管理,因此有几种方法可以使得配置信息易于管理方法一:使用枚举类常量封装配置信息使用idea创建枚举类实现代码public enum Test { NAME("name") ,AGE("18"); private String value; Test(String value) { this.value...原创 2021-11-03 22:04:06 · 584 阅读 · 1 评论 -
使用IDEA打包maven多模块相互依赖项目的正确方式
假设有一个父maven项目project,有三个子模块producer,consumer和common,其中producer依赖common,consumer也依赖于common,也就是producer,consumer的pom.xml文件中导入了common模块第一种方式:使用idea自带的打包方式快捷键Ctr+Alt+Shift+S弹出以下画面查看打包出来的jar可以看到这种打包方式打包出来的jar包中包含...原创 2021-10-27 00:17:22 · 13812 阅读 · 0 评论 -
java读取yaml文件取值的工具类(包括读取多层级的yaml文件)
创建一个test.yamlspring: application: name: cruncher datasource: driverClassName: com.mysql.jdbc.Driver url: jdbc:mysql://localhost/testserver: port: 9000工具类import org.yaml.snakeyaml.Yaml;import java.io.InputStream;import java.uti原创 2021-10-12 22:33:27 · 5522 阅读 · 0 评论 -
getClassLoader().getResource的用法
代码public class YamlUtil { public static void main(String[] args) { URL url = YamlUtil.class.getClassLoader().getResource(""); System.out.println(url); }}输出结果分析通过上面的结果,可以看到getClassLoader().getResource()定位到项目的target/cla.原创 2021-10-12 17:43:00 · 6694 阅读 · 0 评论