自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

欢迎访问 花落的速度 的博客

这里放一些近期遇到的值得保存或总结的文章,不定时更新

  • 博客(74)
  • 资源 (2)
  • 收藏
  • 关注

原创 PowerMockito 踩坑 ClassNotPreparedException

powermock单测报错org.powermock.api.mockito.ClassNotPreparedException原因是PowerMock(2.2.0-beta)与Junit5不兼容,注意代码中的import语句引用的是junit4还是junit5

2022-05-19 14:46:15 8361 1

原创 maven deploy到远程仓库报错403

maven deploy到远程仓库报错403。原因是版本号指定的是1.0.0,而对应的maven账号在nexus里只有SNAPSHOT和RELEASE包的操作权限。将1.0.0改为1.0.0-SNAPSHOT后deploy成功

2022-02-18 15:10:58 6956 1

原创 maven多模块项目单独编译其中一个模块,报错找不到符号

场景按业务域分割的多模块maven项目 每个业务域有api&impl两个模块 impl模块的.pom文件里面依赖了api模块 由于其他人负责的模块代码有bug,该工程尚未成功执行过mvn clean compile指令现象使用mvn clean compile -Dmaven.test.skip=true -pl {域-impl}命令对该impl模块进行单独编译,报错:部分在impl代码中使用的,定义在api模块的pojo 找不到符号,代码文件中未提示cannot res.

2021-09-15 22:24:21 1837

原创 springboot本地打印日志正常,部署到服务器后中文变成问号解决方案

开发了个jar包,往服务器上部署,结果日志里中文都变成了问号:com.xxx.xxx.client.exception.BizException: ?????2021-04-25 05:17:31.616 ERROR 58110 --- [http-nio-8080-exec-5] c.x.x.i.common.config.WebMvcConfig : ?????com.xxx.xxx.client.exception.BizException: ?????问题定位绝对是

2021-04-25 15:29:58 2640

转载 嵌套循环优化为单层循环(以素因子分解为例)

看到uncle bob一个令人拍案叫绝的思路,忍不住要分享一下:所有的嵌套循环都可以通过循环条件的提取,进而简化成单层循环。

2021-01-14 17:59:23 995

转载 Kent Beck《RIP TDD》原文

RIP TDDDHH has consigned TDD to the scrapheap of historyhttp://david.heinemeierhansson.com/2014/tdd-is-dead-long-live-testing.html. I'm sad, not because I rescued it from the scrapheap of history in the first place, but because now I need to hire new te.

2020-12-11 16:07:48 183

原创 OFBIz gradle构建与运行踩坑

OFBiz构建与运行过程中的几个坑:Downloadinghttps://services.gradle.org/distributions/gradle-3.2.1-bin.zip超时gradlew cleanall loadall作用.resolve dependencies 'classpath'卡住BUIDLD FAILD Could not determine artifacts for javax.ws.rs:javax.ws.rs-api:2.1

2020-12-11 15:45:12 705

原创 guava listenablefuture版本号9999.0-empty-to-avoid-conflict-with-guava的原因

maven中引入guava依赖之后发现libraries里出现一个奇怪的listenablefuture:9999.0-empty-to-avoid-conflict-with-guava,这种设计实际上是存在争议的。

2020-11-24 14:28:34 4033

原创 测试驱动开发(TDD):质疑与思辩

参考链接:http://joe-dev.blogspot.com/2014/06/tdd-is-dead.html前段时间刷了一下uncle bob的博客,有篇文章标题叫TDD-Harms-Architecture,打开一看是对另外几个大佬观点的反驳,于是了解了一下,发现这底下居然有场大佬云集的论战。虽然全英文但是核心观点不难理解,于是顺着热心网友提供的整理资料耐心去看了一下。1.概念汇总1.1TDD测试驱动开发。Martin Fowler博客中有博主对其定义。简单地讲TDD是一种实践:

2020-11-19 09:20:34 997 1

原创 《整洁架构之道》读书笔记(二)策略

《整洁架构之道》,大作,力荐。原著大概可以分为原则、策略、细节三部分,本博文总结前两部分,第三部分多为对第二部分中论点的进一步阐述,详见原著。第一部分见《整洁架构之道》读书笔记(一)原则Part5 软件架构1.架构师与架构设计原则1.1 架构师架构师首先应当是程序员,然后应当是一线程序员,而且是他们当中最优秀的那一批人。这样才能第一时间感知到架构中的问题并解决它。如果仅设计却不敲代码,往往会令设计与实际情况脱节,无法指引、方便其他人。1.2 架构软件架构实质是规划如何将系统切分.

2020-10-09 18:15:32 799 1

原创 《整洁架构之道》读书笔记(一)原则

《整洁架构之道》,大作,力荐。原著大概可以分为原则、策略、细节三部分,本博文总结前两部分,第三部分多为对第二部分中论点的进一步阐述,详见原著。Part1 总览1.现象:为什么软件开发越来效率越低?程序员没有偷懒。真正偷懒的地方在于:持续低估好的、设计良好的、整洁的代码。不要迷信开发完再重构:烂代码随时有可能让开发团队陷入困境 重构往往只是美好幻想:新任务压力,回顾整个系统的额外成本等等,依靠开发者自觉性去做这件事往往不现实因此,无论长期或短期,随心所欲、不加设计的所谓敏捷开发,其实比

2020-10-09 16:54:50 418

原创 代码中“发票”的英文

问题起源于知乎用户史蒂芬的回答:日常生活中我们用来报销的餐饮、差旅发票的英文就叫Fapiao。为什么不能叫invoice呢?因为invoice和fapiao的性质完全不一样。fapiao是一种付款凭证, = receipt。 invoice其实是账单,= bill。于是看起来代码命名用Fapiao才是正确的。但是实际情况是,我见过很多项目案例分享,里面的发票都用的是invoice,因此纠结于是该坚持真理fapiao还是优先统一语言invoice。于是回归实质:写代码其实是写给其它程序

2020-07-27 19:53:22 727

原创 极简gitlab使用介绍

沈工昨天把gitlab搞定了可以用了,简单放一点很简陋的使用说明1.gitlab与git1.1简介 gitlab:内网版本的github,远程代码仓库。 git:引入版本控制到本地文件中,建立代码仓库,推送&拉取代码仓库中资源的工具1.2这东西能帮我们干啥 代码仓库保存代码; 多人共同开发时,文件内容冲突会有提示,减小覆盖掉别人代码的风险; 版本控制工具,系统出现问题时随时回滚版本; 分支管理,分支的创建于合并,也是跟协同开发相...

2020-06-11 13:52:06 498

原创 spring中如何优雅地给工具类静态字段注入值

写了个工具类,想能自动从.yml文件中读取值赋给静态成员变量,但@Value跟@Autowired都是面向实例的东西,我禁掉实例化之后就不起作用了public class JwtTokenUtil { public static final String CLAIM_KEY_CREATED = "created"; private static final Logger ...

2020-04-06 14:04:31 800

原创 动态代理中debug设置断点会执行invoke方法且args为null的原因

情景写了个proxyExample,运行一看,竟然debug的结果跟run的结果竟然不一样,debug中会多次执行invoke方法,且并不调用sayHello方法代码public class ProxyExample implements InvocationHandler { private Object target; /** * 创建代理,将真实对象的...

2019-10-10 21:52:48 2481 3

原创 mysql5.7 为什么刚要死锁立刻就会报错而无需等待超时?

问题起因自己做了个人造死锁的小实验: Session1 Session2 Begin; Select * from t where id=1 lock in share mode; Begin; ...

2019-09-09 18:56:39 462

原创 Mysql insert语句执行原理

加锁流程一直很迷,尤其几个session搅在一起。自以为的初窥门径其实根本不值一提。今天碰巧搜到有大佬从源码层面分析insert加锁,就顺便记一下。原文博客:https://www.aneasystone.com/archives/2018/06/insert-locks-via-mysql-source-code.html附前提知识讲接链接:锁的种类-Mysql官方文档 常...

2019-09-06 16:11:09 4902

原创 读可重复隔离级别下多session ddl操作的事务隔离与可见问题一例

研究mysql45讲时的又一个实验,灵感来自08讲的思考题。多session下可能会造成的不一致问题。过程如下实验条件:Mysql,innoDB表t初始数据如下 id c Line1 1 1 Line2 2 ...

2019-07-22 20:19:31 237

原创 mysql MDL读写锁阻塞,以及online ddl造成的“插队”现象

看mysql45讲遇到一个问题为什么C等待拿锁之后,D也会阻塞?其实这里并没有解释清楚。因为如果按并发理解的话,C,D应当是同等级,都有可能拿到锁的。但C读写锁互斥,D读读不互斥,这样的话就跟上图所述相悖了。就,查了一下。(鸣谢 一梦如是YFL提供的文章)首先是MDL(metaData Lock)的概念。元数据锁是server层的锁,表级锁,主要用于隔离DML(Data Ma...

2019-07-18 14:27:26 9051 25

转载 CAS(Compare and Swap)算法介绍、缺陷和解决思路

问题情景:Java中处理原子操作的Atomic系列类(如AtomicInteger,AtomicDouble等)中,处理同步性问题采用的是CAS算法,看了一下感觉算法貌似有点不对劲,然后就搜了搜网上已有的解决思路汇总如下。鸣谢程序员囧辉,JupiterMouse和水欣分享博文供笔者参考CAS是什么提到同步,第一反应我想到的是synchronized加锁。但是当线程很多并发量很大的时候,...

2019-05-11 11:29:26 5010

原创 Spark sort与top序列化问题:Task not serializable

前几天在写文章相似度比较,要取每篇文章最长的若干句,然后simHash得相似度。结果问题出现了:将文章分割成句子之后,无论用sort还是JavaPairRDD的sortByKey方法之后,只要我想拿数据,比如take(int) , top(int)等,都会有一个类似下面的序列化问题出现:刚开始时用的Lambda表达式,报错是lambda表达式对象无法序列化:failed in 0...

2019-04-17 11:57:07 708

原创 《Effective Java》学习笔记15--25

本栏是博主根据如题教材进行Java进阶时所记的笔记,包括对原著的概括、理解,教材代码的报错和运行情况。十分建议看过原著遇到费解地方再来参考或与博主讨论。致敬作者Joshua Bloch和各路翻译者们,以及为我提供可参考博文的博主们。复制粘贴改格式好累,这几篇全都给出git地址,大家自己download下来看好了。或者想直接在浏览器上看可以考虑用这个名叫OctoTree的插件。安装教程网上大把,...

2019-04-12 17:50:02 218

原创 《Effective Java》学习笔记14 考虑实现Comparable接口

本栏是博主根据如题教材进行Java进阶时所记的笔记,包括对原著的概括、理解,教材代码的报错和运行情况。十分建议看过原著遇到费解地方再来参考或与博主讨论。致敬作者Joshua Bloch和各路翻译者们,以及为我提供可参考博文的博主们。考虑实现Comparable接口Comparable接口{@link Comparable#compareTo(Object)}方法虽然非常常用,但并没有...

2019-04-12 16:30:26 252

原创 《Effective Java》学习笔记13 Override clone judiciously

本栏是博主根据如题教材进行Java进阶时所记的笔记,包括对原著的概括、理解,教材代码的报错和运行情况。十分建议看过原著遇到费解地方再来参考或与博主讨论。致敬作者Joshua Bloch和各路翻译者们,以及为我提供可参考博文的博主们。谨慎地重新clone()方法Cloneable接口Cloneable接口与其他接口不同,它里面啥都没有,仅仅是为了表示该类可以被克隆。所有单独只有它自己,还...

2019-04-12 15:53:02 412

转载 Android layout中9-patch设为背景图片后遮挡其它空间问题

转自https://blog.csdn.net/houshunwei/article/details/6727433,鸣谢!<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com...

2019-03-08 10:14:47 934 1

原创 spark入门wordCount之scala程序运行时报错:无法找到主类 =

Jetbrains IDEA Ultimate 2018.3.1sbt 1.2.7scala 2.11.8在这里卡住快一学期了,终于解决。1.运行scala版本的wordCount,首先new project,选择sbt,选版本号,等idea帮我们做好默认配置,没啥好讲2.去maven repository官网查询spark-core和scala版本的对应关系,并添加到buil...

2018-12-19 17:55:36 3976 2

原创 build.sbt 各种cannot resolve symbol的解决办法

idea 2017.3版本,scala项目查看build.sbt文件,发现它各种红,name,version,liberarydependencies全部报红,cannot resolve symbol. alt+enter没有能搞定的解决方案。最后在stackoverflow上找到了答案:.idea文件夹出了问题,而且:The root cause remains a mystery... ...

2018-12-12 09:11:23 4005

原创 jdk11安装后不自动安装jre的问题

回寝之后我又重新自己从头配置了一遍jdk11##关于jdk11安装后不自动安装jre的问题:虽然安装jdk11之后可以运行java -version查看版本,但还是感觉很奇怪。查了一下,现在的jdk本身也包含jre了,单独再下载一个jre更方便版本管理(推荐稳定版的jre8),但是不下载也不会运行不了Java程序。所以嫌麻烦的话也可以先不用装jre8,等最新版的jre11发布之后直接装...

2018-10-21 11:00:05 66253 23

转载 实用网站简单汇总

1.Html5页面制作工具推荐,推微信什么的都挺方便,推荐秀米和MAKAhttp://blog.sina.com.cn/s/blog_c206a2c30102vciw.html2.在线绘图工具网站ProcessOn,用来画流程图结构图什么的https://www.processon.com 3.PPT的话可以下载一下推荐插件,动效跟模板挺多也挺好看,或者试试这个http://w...

2018-10-05 22:15:44 385

原创 《Effective Java》学习笔记12 Always override toString

本栏是博主根据如题教材进行Java进阶时所记的笔记,包括对原著的概括、理解,教材代码的报错和运行情况。十分建议看过原著遇到费解地方再来参考或与博主讨论。致敬作者Joshua Bloch和各路翻译者们,以及为我提供可参考博文的博主们。推荐重写toString()建议在所有类中都重写toString方法。为什么要重写它虽然在Object.toString()有其默认的实现方法,会返回"...

2018-08-08 17:04:16 281

原创 《Effective Java》学习笔记11 Always override hashCode when you override equals

本栏是博主根据如题教材进行Java进阶时所记的笔记,包括对原著的概括、理解,教材代码的报错和运行情况。十分建议看过原著遇到费解地方再来参考或与博主讨论。致敬作者Joshua Bloch和各路翻译者们,以及为我提供可参考博文的博主们。重写equals()方法的同时也要重写hashCode()方法必须在每个重写equals()的类中重写Object.hashCode(),否则将违反hashCo...

2018-08-08 11:42:20 273

原创 《Effective Java》学习笔记10 Obey the general contract when overriding equals

本栏是博主根据如题教材进行Java进阶时所记的笔记,包括对原著的概括、理解,教材代码的报错和运行情况。十分建议看过原著遇到费解地方再来参考或与博主讨论。致敬作者Joshua Bloch和各路翻译者们,以及为我提供可参考博文的博主们。覆盖equals方法时应遵守通用规约不需要覆盖equals的情景equals方法是Object类自带的基本方法之一,也是一个非常常用的方法。我们覆盖它时应当...

2018-08-01 16:32:26 332

原创 《Effective Java》学习笔记9 Prefer try-with-resources to try-finally

本栏是博主根据如题教材进行Java进阶时所记的笔记,包括对原著的概括、理解,教材代码的报错和运行情况。十分建议看过原著遇到费解地方再来参考或与博主讨论。致敬作者Joshua Bloch和各路翻译者们,以及为我提供可参考博文的博主们。 try-with-resources代替try-finally许多资源使用完毕后需要用CLOSE方法手动关闭,例如InputStream、OutputStre...

2018-08-01 15:37:54 342 3

原创 《Effective Java》学习笔记8 Avoid finalizers and cleaners

本栏是博主根据如题教材进行Java进阶时所记的笔记,包括对原著的概括、理解,教材代码的报错和运行情况。十分建议看过原著遇到费解地方再来参考或与博主讨论。致敬作者Joshua Bloch跟以杨春花为首的译者团队,以及为我提供可参考博文的博主们。避免使用终结方法Java中,GC虽然能够自动处理很多事情,但是比如来自其他编程语言所占资源的回收,是GC难以自动完成的,这时候或许需要借助额外的手段解...

2018-08-01 15:22:09 351

原创 Java native method 本地方法简单说明

本文参考了这篇博客,这篇博客和这篇博客,在此鸣谢作者大佬们Java有能力调用其他语言编写的函数or方法,这个通过JNI(Java Native Interfface)实现。使用时,通过native关键字告诉JVM这个方法是在外部定义的。但JVM也不知去哪找这个原生方法,此时需要通过javah命令生成.h文件。示例步骤(c语言为例):javac生成.class文件,比如javac Nat...

2018-08-01 15:03:00 3221

原创 《Effective Java》学习笔记7 Eliminate obsolete object references

本栏是博主根据如题教材进行Java进阶时所记的笔记,包括对原著的概括、理解,教材代码的报错和运行情况。十分建议看过原著遇到费解地方再来参考或与博主讨论。致敬作者Joshua Bloch跟以杨春花为首的译者团队,以及为我提供可参考博文的博主们。消除过期对象引用相较C或者C艹这种需要手动回收资源的语音,Java的GC(Gabage Collector)帮我们偷了个大懒,对象用完之后会被GC自动...

2018-08-01 13:58:06 514

原创 《Effective Java》学习笔记6 Avoid creating unnecessary objects

本栏是博主根据如题教材进行Java进阶时所记的笔记,包括对原著的概括、理解,教材代码的报错和运行情况。十分建议看过原著遇到费解地方再来参考或与博主讨论。致敬作者Joshua Bloch跟以杨春花为首的译者团队,以及为我提供可参考博文的博主们。避免创建不必要的对象很容易理解的一条,无论是环保还是编程,重用都可以节省开销,降低成本,提高效率。所以能够重用已创建的实例时,就不用再重新new一个出...

2018-08-01 11:14:09 320

原创 《Effective Java》学习笔记5 Prefer dependency injection to hardwiring resources

本栏是博主根据如题教材进行Java进阶时所记的笔记,包括对原著的概括、理解,教材代码的报错和运行情况。十分建议看过原著遇到费解地方再来参考或与博主讨论。致敬作者Joshua Bloch跟以杨春花为首的译者团队,以及为我提供可参考博文的博主们。另外,本条目是《Effective Java 3rd Edition》中的新条目,此后笔记多基于新一些的第三版。用依赖注入代替硬编码硬编码首先说明...

2018-08-01 10:52:40 529

原创 《Effective Java》学习笔记4 Enforce noninstantiability with a private constructor

本栏是博主根据如题教材进行Java进阶时所记的笔记,包括对原著的概括、理解,教材代码的报错和运行情况。十分建议看过原著遇到费解地方再来参考或与博主讨论。致敬作者Joshua Bloch跟以杨春花为首的译者团队。 通过私有构造器强化不可实例化的能力 很多情况下我们需要整个工具类出来以方便我们编程,比如Android中,为了防止使用Toast忘记show()一下,会把完整的Toast.make...

2018-08-01 10:29:25 458

原创 《Effective Java》学习笔记3 Enforce the singleton property with a private constructor or an enum

本栏是博主根据如题教材进行Java进阶时所记的笔记,包括对原著的概括、理解,教材代码的报错和运行情况。十分建议看过原著遇到费解地方再来参考或与博主讨论。致敬作者Joshua Bloch跟以杨春花为首的译者团队,以及为我提供可参考博文的博主们。用私有构造器或者枚举类型强化Singleton属性 单例Singleton一般被用来表示程序中本质上唯一的实例。单例的测试有些困难,因为不能用模拟实现...

2018-08-01 10:08:29 265

the-mozaic.pdf

内含Gary Bernhardt 的《TDD, Straw Men, and Rhetoric》,经典又难找的文章,费劲找了好久的英文原版。

2020-11-16

RIP TDD原文搬运

Kent Beck经典反串文《RIP TDD》原文搬运。 DHH has consigned TDD to the scrapheap of history http://david.heinemeierhansson.com/2014/tdd-is-dead-long-live-testing.html. I'm sad, not because I rescued it from the scrapheap of history in the first place, but because now I need to hire new techniques to help me solv

2020-11-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除