![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 83
独家雨天
数据热衷者,追求进步。分析大数据,提供决策支持。团队合作,沟通精通。
展开
-
Java8 中的函数式接口
函数式编程是一种思想,也是一种编程理念。知乎上有个答主我觉得回答的 很好,不了解的可以看看。什么是函数式编程思维? - 知乎我们更关注于数据的映射。也就是我们数据中,怎么从 A 到 B 的这部分逻辑。@FunctionalInterface注解如果你想自己定义个新的函数式接口,强烈建议你加上*@FunctionalInterface* 注解。可以更好地揭示我们定义这个接口的意思,同时也可以让编译器帮助我们检查接口定义的正确与否。在任何情况下,我们将一个接口只有一个抽象方法的接口都认为是函数是接口。这样原创 2021-12-22 23:12:05 · 1023 阅读 · 0 评论 -
利用AspectJ + Gradle 来实现非 Spring 下的 AOP 注解
有些时候我们有一个需求,就是能够统计增加了某个注解方法的执行时间。很自然的,我们能够想到用AOP的方法。由于我们熟悉编写的代码是在 Spring 下面的编写的 AOP 注解,但是很多时候,我们可能并不一定需要去一个庞大的Spring 环境,才能够实现 AOP 的功能。因为我仅仅想做的就是一个在多线程下的方法性能测试,我只是想启动最少量的代码,来实现我需要的切面功能。搜索了一番之后终于找到在 Gradle 项目中,不启动 Spring 环境,来使用 AOP 的方案。下面的代码将实现以@Execution原创 2021-11-27 22:16:17 · 1529 阅读 · 0 评论 -
如何在Gradle了中自定义一个注解处理器
本文主要记录了两部分Java中预定义好的Annotation的类型如何实现一个自定义注解和使用Java中预定义好的Annotation的类型Java 语言中自定义的一些注释@Deprecate@Override@SuppressWarnings,告诉编译器,禁止抛出一些警告。Java中有两大类警告deprecation 和 unchecked. 例如,@SuppressWarnings({"unchecked", "deprecation"})。@SafeVarargs,当构造器和方法原创 2021-03-29 12:38:49 · 1045 阅读 · 1 评论 -
Mac 下的 最新JDK 安装包分享
现在JDK下载需要登陆,但是有些时候,Oracle 官网又经常出错(无法登陆),每次需要的时候下载起来都很麻烦,所以把它上传到国内的百度云,方便下载使用。给有需要到小伙伴,也给自己一个做个备份。官方下载界面:https://www.oracle.com/java/technologies/javase-downloads.html百度云下载链接:jdk-8u261-macosx-x64.dmg 链接: https://pan.baidu.com/s/14ymDWdMCJwA2x_bHsd3UJg 提原创 2020-07-25 21:34:17 · 1867 阅读 · 2 评论 -
如何在可独立执行的SpringBoot 的 Jar中添加Spring属性
问题描述在使用Maven和Gradle插件生成,独立运行的SpringBoot Jar 的之后,在类Unix的系统中,可以直接的通过 ./myapp.jar 的方式运行,但是如何去指定 -D 属性呢?例如-Dspring.profiles.active=test解决方案本文介绍解决的思路有如下三种:同可独立执行的Jar同目录下,定义一个配置文件在Shell 命令行中指定需要定义的属...原创 2019-12-08 18:29:17 · 228 阅读 · 0 评论 -
Intelij 中的 Database Tools可以连接但是无法显示SCHEMA, TABLES
问题描述:在使用Postgres 数据库的过程中,数据库显示连接成功,使用第三方的数据库连接也正常,但是在Intelij自带的DataGrip工具中无法正常的显示Schema 和Tables信息。使用软件:Intelij 版本为 2019.3Docker 版本的 Postgres 12问题描述每次点击更新数据库按钮,无法刷新出数据库的Tables。并且Log控制台爆出如下错误:...原创 2019-12-07 13:11:11 · 6013 阅读 · 3 评论 -
Git 中的后悔药
处理生活中需要代码撤回的场景:工作区中的代码想撤回(没有提交过的) git checkout -- <file>add 到暂存区的代码想撤回。 git reset HEAD提交到本地仓库的代码想撤回。 git reset --soft <版本号>。也可以修改soft为Hard放弃版本后的所有修改。远程提交的代码想撤回。在本地修改完之后,使用命令 git push ...原创 2019-12-01 21:29:57 · 174 阅读 · 0 评论 -
Junit5中的参数化测试(Parameterized Tests)指南
作为新一代的测试框架,Junit5中有很多大家喜欢的测试方案,个人认为最突出的就是能够进行参数化的测试(Parameterized Tests)。简介通常,会遇到这样的情况,同一个测试案例,改变的只是测试时候输入的参数不同。按照之前的做法,可能会是通过每个输入参数都写一个测试,或者将测试参数封装到集合中循环遍历执行测试。在新版的Junit5中,已经提供了一种更加优雅的方式来进行。该特性允许我...原创 2019-11-30 23:37:08 · 9836 阅读 · 0 评论