6 jieniyimiao

尚未进行身份认证

真的英雄,在于,以脆弱的凡人之躯,而具有神性的不可战胜。

等级
TA的排名 1k+

软件设计的一些原则.md

1. Don’t Repeat Yourself (DRY)对重复代码进行公共方法提取,进行功能抽象、模板提取和功能最小化等操作。若在项目中很多的重复代码,意味着程序缺乏设计和抽象,这样的代码显得臃肿,不够简洁、清晰,容易造成改写扩散,不易维护。2.Keep It Simple, Stupid (KISS)万物至简,例如计算机的二进制,简单意味着易用,易理解、易维护。what is...

2019-12-08 11:46:43

常用java代码质量检查工具.md

常用扫描工具PMD-CPD :Copy/Paste Detector (CPD) 代码重复率检测PMD:分析 Java 源代码,找出潜在的 bugFindbugs :Java bug检查checkstyle : 固定团队编码风格,固定命名风格以及换行风格等P3C: 阿里巴巴Java规范,这个是PMD扫描,但移除了PMD自带的n条规则,只执行阿里的规则Sonar Quabe: 一站式代...

2019-11-22 22:51:34

Java如何实现文件变动的监听.md

在Java 7发布的新的IO框架中,除了大家都熟知的 FileVisitor 接口外,还有个 WatchService 接口经常被人忽视掉。 这个类可以让你实时的监控操作系统中文件的变化,包括创建、更新和删除事件。WatchService 用来观察被注册了的对象的变化和事件。它和Watchable两个接口的配合使用, WatchService类似于在观察者模式中的观察者,Watchable类似域...

2019-11-20 15:57:48

shell常用命令.md

1.在某匹配行行的前一行或后一行添加内容sed -i '/2222222222/a\3333333333' test.txt #某一行后加入什么内容sed -i '/2222222222/i\3333333333' test.txt #某一行前加入什么内容# 我的记法是a = after ,i = in front 。这样就知道 i 是前,a 是后了。2.获取当前目录getCurPat...

2019-11-13 19:01:05

问题:如果我们有面值为1元、3元和5元的硬币若干枚,如何用最少的硬币凑够11元?.md

1,3,5元面值若干,凑钱问题算法思想假如要计算11元需要的面值数最小,那么,11元减去一张1元或者3元或者5元,即10元,8元,6元分别需要的面值数,取出最小,加上1,即可以得到11元最小的。所以,n元最小问题,是由n-1元,n-3元,n-5元三种状态里面取到的最优解。其中计算的递归树为:d(11) = min{d(10),d(8),d(6)} + 1递推式d(i) = mi...

2019-11-09 11:32:41

培训知识点总结.md

重构的目标易读易改留好扩展点防护需要做金字塔防护测试用例要由关键的冒烟用例和普通用例测试用例做到测试即文档,测试函数名字就知道要测什么每个测试的职责要单一手段切割上下文留好扩展点做好测试保护(多使用MOCK工具。例如数据库可以使用HSQL内存数据库、kafka采用jar包形式的内存版本等,采用MOCK服务等方式)测试用例缺失的原因没时间没意愿成本高...

2019-11-03 18:56:13

Git学习入门笔记

1. 集中式VS分布式集中式:CVS、SVN速度慢,必须联网,版本库在中央服务器中,使用简单分布式:Git速度快,无需联网,安全性高,每个人的电脑都有完整的版本库,中央服务器用来交换大家的改动,分支管理强大,使用较复杂注: GitHub:免费提供Git存储。提供Git仓库托管服务,充当用于交换的免费中央服务器。远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的...

2019-09-01 20:13:00

单点登录原理分析及CAS实战

前端需要了解的 SSO 与 CAS 知识

2019-08-08 16:35:07

一次SPRING声明式事务失效的探讨

楔子现在在Spring开发过程中使用声明式事务的次数要远远大于编程式事务,这一切都要归功于声明式事务让我们从复杂的事务处理中解脱出来。它会自动帮我们进行获取连接,关闭连接、事务提交、回滚、异常处理等操作。正因为这一切都是Spring自动帮我们完成的,所以我们也更容易掉入一些非常低级的陷阱中。本文我们通过一个实际的例子来看一些声明式事务中的陷阱。正文首先让我们先来看一下以下代码都犯了哪些错误...

2019-08-08 13:43:34

系统运行缓慢,CPU 100%,以及FULL GC次数过多问题的排查思路

对于线上系统突然产生的运行缓慢问题,如果该问题导致线上系统不可用,那么首先需要做的就是,导出jstack和内存信息,然后重启系统,尽快保证系统的可用性。这种情况可能的原因主要有两种:代码中某个位置读取数据量较大,导致系统内存耗尽,从而导致Full GC次数过多,系统缓慢;代码中有比较耗CPU的操作,导致CPU过高,系统运行缓慢;相对来说,这是出现频率最高的两种线上问题,而且它们会直接导致系统...

2019-08-08 11:12:48

大量CLOSE_WAIT导致服务不可用的原因解析

1.现象商旅通服务没有宕机,服务CPU,磁盘,内存,网络均正常,但就是一直不提供服务。2.定位问题出现服务不可用时,最重要的是要定位出原因,出于经验考虑,当服务不可用时,优先考虑服务本身的问题。最直接的方法就是查看服务不可用状态下的线程状态。已知商旅通tomcat线程池maxThrad是200个,注意这个参数,这是排查问题重要的参考指标。1.查看商旅线程总数(210个)jstack -l...

2019-08-08 09:32:13

gradle第三方Jar包依赖统一管理

1.背景一个gradle的工程中往往包含很多的子工程,每个子工程都有其自己的Jar包依赖。现实情况是各个子工程对jar包的引入都是比较随意的,版本号各式各样,如何统一各个子工程的版本号?统一管理第三方依赖?版本号统一后,若某个组件有漏洞能够统一升级,能够直观的看到依赖情况等。2.实现配置方法:https://docs.spring.io/dependency-management-plu...

2019-08-06 11:28:51

Vert.x(vertx)入门资料

1.vert.x简介vert.x采用类似Node.js的eventloopcallback机制,优势是Eventloop是单线程场景下几乎是最快的并发解决方案,但也需要周边生态的支持,比如DbClient/HttpClient这些跟IO打交道的API需要支持异步回调的风格,社区干脆就整合或者自己实现了。依赖注入的类库可以用Guice,整体启动时间大概是同规模spr...

2019-08-02 14:40:46

性能测试工具 wrk,ab,locust,Jmeter 压测结果比较

前言在开发服务端软件时,经常需要进行性能测试,一般我采用手写性能测试代码的方式进行测试,那有什么现成的好的性能测试工具吗?性能测试工具 wrk,ab,locust,Jmeter 压测结果比较详见:性能测试工具 wrk,ab,locust,Jmeter 压测结果比较...

2019-07-07 14:29:09

两个长数字相加

1.编程题目题目:要实现两个百位长的数字直接相加分析:因为数字太长所以无法直接相加,所以采用按位相加,然后组装的方式。(注意进位)2.编程实现package com.sino.daily.code_2019_6_29;import org.apache.commons.lang3.StringUtils;/** * create by 2019-06-29 19:03 * *...

2019-06-30 10:44:44

分布式ID生成器

1.背景公司产品线最初为了快速上线、快速迭代,所使用的ID采用把JDK原生的32位(去掉四个-)或者36位的原始UUID(Universally Unique Identifier)缩短为19位,且不丢失精度的方式。但是UUID太长而且人类不可读(由大写、小写、数字随机组成),且对数据库性能有一定的影响(短且数字递增的最优),所以希望开发出一种全局唯一性、高性能、纯数字、较短、趋势递增的分布式...

2019-06-12 22:40:24

图片轻松转文字-天若OCR

1.楔子工作中经常需要把图片中的文字、字符转为可编辑的文本?你还停留在手动敲击的原始社会吗?那就太OUT了使用图片转文字的OCR软件可以方便的解放生产力2.天若OCR简介天若OCR,只有1.4M,但是识别度非常的高,特别的简单易用。快捷键如下,F4可迅速启动识别:使用实例:...

2019-06-03 20:55:57

获取所有classpath指定包下类的所有子类

1.问题开发过程中,有时需要找到所有classpath下,特定包下某个类的所有子类,如何做到?2. 实现比较常见的解决方案是自己遍历目录,查找所有.class文件。下面这个方法使用spring工具类实现,简化过程,不再需要自己遍历目录 /** * 获取在指定包下某个class的所有非抽象子类 * * @param parentClass 父类 ...

2019-06-03 20:31:08

spring boot 创建no-web应用

1. 问题不是所有的Spring应用都必须是web应用(或web服务)。如果你想在main方法中执行一些代码,但需要启动一个Spring应用去设置需要的底层设施,那使用Spring Boot的SpringApplication特性可以很容易实现。spring boot绝大多数用于web应用,但是有时我们只想用spring boot启动容器、使用它的一些特性,单并不想启动一个web服务,如何做?...

2019-06-03 20:01:02

Springboot启动不检查JPA的数据源配置

1.问题有时我们使用springboot,在依赖中配置了springdatajpa的依赖,此时springboot启动时会自动检测数据源的配置,如果没有则报无数据源的错误。但是这个依赖必须要有,因为代码需要根据一些条件选择是否启用数据源,则么办?2.方案在SpringApplication实例中设置如下的配置即可:spring.autoconfigure.exclude=o...

2019-06-03 19:51:23

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。