自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (10)
  • 收藏
  • 关注

原创 VSCode使用git-【界面化处理】

此教程从创建一个git项目开始处理,内容比较细致,可以摘取需要的部分观看。

2022-06-08 18:04:04 3397 3

原创 java读取文件夹下的文件,将文件名输出成JSON

public class GetFileNameToJson { public static void main(String[] args) { String fileUrl = "D:\\HTML\\202103090\\html"; File folder = new File(fileUrl); File[] listOfFiles = folder.listFiles(); //组装所有文件的文件名为一个JSON文件[{"n.

2022-05-06 15:20:09 851

原创 悲观锁-利用数据库设计多活高并发自增ID

现在有一个需求,在不使用redis的前提下,设计一个可以多节点共同访问的自增ID系统首先我想到的就是秒杀抢单的时候,我们常用的悲观锁原则,不然,在高并发场景下,利用数据库来做计数是无法保证数据安全的,也就是常说的,锁不住。表设计(先设计一个最简单的表:当前需求是每天生成一套计数器):CREATE TABLE `test_key` ( `key` int(6) DEFAULT '0', `data_time` varchar(16) NOT NULL, PRIMARY KEY (`d

2021-12-16 15:10:24 1449

原创 论证Object强转List可行性单测

为了论证博主文章的准确性和可实现性https://blog.csdn.net/qq_19642249/article/details/81154713我单独写了一个测试类来论证@Test public void test11(){ List<String> list = new ArrayList<>(); for(int...

2019-08-10 17:06:46 575

原创 AXURE RP EXTENSION For Chrome 安装教程

我们在使用RP产品原型的时候,预览原型使用谷歌总是比IE更加方便,但是谷歌浏览器是需要安装RP插件的,不然直接浏览就会报错:接下来,就附上安装教程:这个是插件下载地址:https://download.csdn.net/download/qq_29884151/112955371,打开谷歌浏览器点击右上角三个点的地方2,依次选择:更多工具→扩展程序...

2019-07-08 11:31:15 2204

原创 KMP 字符串匹配算法

字符串匹配算法,Knuth-Morris-Pratt算法(简称KMP),需要达成的目标是,找出某字符串a“ABCDABD” 在字符串b“BBC ABCDAB ABCDABCDABDE JDKAB”中是否存在,读了一些文章,暂时觉得,阮一峰的文章解释的还比较通俗易懂,以下,是我基于文章做出的代码及逻辑分析/** * KMP 算法 * http://www.ruanyif...

2019-07-01 14:52:36 371

原创 通过表结构生成AS查询语句

一个大表的属性列是很多的,如何通过属性的字段生成相应的类名字段,有时候是有这种小需求的,例如 “old_data_id”这个列,在类中的属性应该为“oldDataId”,在自定义的SQL语句中,就需要自己去写这种AS转换。这里写了段小代码,做一个记录:@Test public void testTestMake() { String begin = "`id` var...

2019-06-20 17:16:05 555

原创 全量修改对象快捷赋值工具类

开发过程中经常会遇到全量修改的场景,但好多时候在只修改一两个属性的时候会遇到不能快捷的对修改的属性赋值的问题,这边基于 在京奋斗者 的一篇博文中得到启发,修改了部分代码,写出了这样一个可以根据属性是否为空来自动赋值的工具类,并以文记录,希望帮助到更多人。 /** * 复制修改对象方法 * * 将原始完整对象的属性 * 赋值给部...

2019-03-26 09:47:02 347

原创 设计方案:倒计时执行任务以及任务中断

刚才开了一个脑洞,有一个需求是一个比较重要和严重后果的操作,需要有反悔时间三十秒,场景如下:调用一个接口(或点击一个按钮)之后,会删除当前电脑所有文件(或删除数据库中的所有数据),但有三十秒的反应时间(倒计时),在倒计时过程中,有一个取消接口(或取消按钮),点击之后,当前倒计时取消,结束任务,不会删文件或者删库 思路如下,最开始准备用线程sleep来做,休眠三十秒,然后让另...

2019-01-15 15:57:30 663

原创 策略模式-Spring下如何使用父类调用对应子类

开发过程中会涉及到根据不同条件需求需要通过不同子类调用实现的需求,例如一个接口需要制造一辆车,但车分自行车,摩托车,越野车他们都有同样的需求(父类):有动力输出,有车体制造,有车轮制造……但他们各自的需求又不一样(子类): 就动力输出来说,自行车的动力输出是踏板链条,摩托车的动力输出是发动机; 车体制造来说,直行车只需要几根碳纤维管,越野车则需要顶棚...

2018-12-14 17:39:41 3165

原创 Java文件操作工具类

以下代码整理自https://www.cnblogs.com/vofill/p/6909780.htmlhttps://blog.csdn.net/u011687186/article/details/51233968本文只做个人工具记录,不具有参考性,若要讨论,请前往原帖public class FileUtil { /** * @Fields log : l...

2018-12-13 17:57:47 174

原创 枚举类的工程化运用

枚举类型是工程化中的某些特殊含义字段的集合展现形式,在一个大中型项目中,枚举有着广泛的运用场景,主要有这几个需求:1,获取当前枚举的值(一般是int类型值:1,2,3)2,枚举名称(包括中文名和英文名)3,根据枚举值定义到某个枚举类型(例如:1定位到枚举中的YES等)一,获取枚举值基础接口public interface IEnum&lt;T extends Enum&l...

2018-11-27 14:43:34 180

原创 几种负载均衡优劣

DNS 负载均衡例如,北方的用户访问北京的机房,南方的用户访问深圳的机房。DNS 负载均衡的本质是 DNS 解析同一个域名可以返回不同的 IP 地址。例如,同样是 www.baidu.com,北方用户解析后获取的地址是 61.135.165.224(这是北京机房的 IP),南方用户解析后获取的地址是 14.215.177.38(这是深圳机房的 IP)。DNS 负载均衡实现简单、成本低,但也...

2018-10-08 17:05:11 1889

原创 高性能缓存的几个问题

在一些特殊场景下,仅仅依靠提升存储系统性能是不够的。如:需要经过复杂运算得到的数据;读多写少的数据。于是有了缓存,它虽能大大减轻存储系统的压力,但也引入了更多的复杂度。TOP1、缓存穿透是指缓存没有发生作用。通常有两种情况:存储数据不存在、缓存数据生成耗费大量时间或者资源。目前没有特别好的解决方案。TOP2、缓存雪崩(缓存击穿)是指缓存失效后引起系统性能急剧下降。解决方法:更新锁机...

2018-10-08 16:55:40 377

原创 @Test Mock数据的单元测试

开发中经常用到单元测试,但有的逻辑代码涉及到数据库操作,当然,在测试的时候可以连接数据库测试,但有一些特殊情况是不能让工程编译的时候连接数据库的,这个时候单元测试就会出问题。于是,在不是主要测试数据库的逻辑单元测试的时候,就可以用单元测试中的Mock功能来模拟数据,从而测试逻辑代码结构是否完整,是否可以用某些特定的参数得到相应的结果。简单的说就是:通过模拟数据进行各类的单元测试go首先...

2018-09-20 17:59:07 4276

原创 通过QRCode生成二维码

本文讲解的是比较常用的QRCode方式生成二维码,那么第一步就是找到QRCode.jar文件资源,然后将jar包导入工程中:这里放上一个资源链接:QRCode资源包下载常用的导入java工程中的方式就不做赘述,这里给个传送门:https://blog.csdn.net/androidSmallJi/article/details/78854344下面讲解如何将这个jar...

2018-08-25 15:17:47 7534

原创 GIT add文件报错:git warning: LF would be replaced by CRLF 解决方案

libgit2 returned: LF would be replaced by CRLF in 'core/src/main/java/com/task/dao/TaskLogDao.java'报错信息是TortoiseGit 在add文件中操作出现的错误,翻译过来意思是:LBGIT2返回:LF将在CROL/SRC/My/Java/COM/Tease/Daa/TaskLogDa.j...

2018-08-02 18:40:02 2979 1

原创 Cordova对H5页面进行APP开发打包

Cordova的安装:下载jdk,安装JAVA环境,配置系统环境。网上都有教程打开cmd命令行,运行npm install -g cordova,全局安装cordova。测试是否安装好了cordova,继续在命令行里输入cordova -v,检查cordova版本号,如果有版本信息则说明已成功安装cordova。新建cordova项目 cordova create folderName进入新建co...

2018-06-13 22:12:17 2024

原创 token令牌生成工具类

这里记录一个生成token的方法,token根据userId生成。此工具类包含的主要功能有:    userId隐式传输,保证数据安全;    不对称加密方式,防止数据篡改;import java.io.UnsupportedEncodingException;import java.util.Base64;import java.util.Random;import java.util.r...

2018-06-11 15:08:02 21353

原创 springBoot定时任务处理类

首先在启动类上添加注解:@EnableScheduling 来开启定时任务@SpringBootApplication@EnableSchedulingpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class, ar...

2018-06-05 10:10:33 372

原创 ConcurrentHashMap单服务缓存工具类

public class CacheMap { /** * 数据缓存map */ private static Map&lt;String, Object&gt; dataMap = new ConcurrentHashMap&lt;String, Object&gt;(); /** * 数据缓存过期map */ privat...

2018-06-04 16:15:51 705 1

原创 Spring Cloud 服务间调用 @FeignClient 注解

springCloud搭建各种微服务之后,服务间通常存在相互调用的需求,springCloud提供了@FeignClient 注解非常优雅的解决了这个问题首先,保证几个服务在一个Eureka中形成服务场。如下,我一共有三个服务注册在服务场中。COMPUTE-SERVICE ; FEIGN-CONSUMER ; TEST-DEMO;现在,我在FEIGN-CONSUMER 服务中调用其他两个服务的两个...

2018-05-29 14:13:51 19342 1

原创 Spring Cloud分布式集群服务搭建之发现与注册

springBoot简化了一个工程开发的配置过程,但对于集群化服务,spring有一套叫做springCloud的解决方案,它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。本文主要讲一下springCloud的发现与注册的配置方案首先创建一个e...

2018-05-28 17:09:10 6332 1

原创 springBoot学习笔记之application.yml配置文件

在上一篇文章里,我创建了一个springBoot的简单demo,并实现了简单的http请求。但有些用过springBoot工程的人就会疑惑,springBoot工程中是有一个application.yml配置文件的啊,其实application.yml的功能和application.properties是一样的,不过因为yml文件是树状结构,写起来有更好的层次感,更易于理解,所以很多人都选择了ym...

2018-05-25 11:13:35 118554 20

原创 springBoot学习笔记之创建一个基础springBoot工程

首先创建一个maven工程maven选择新建项目groupid表示项目的包名,artifactid表示项目名 工程名和工程目录,点击finish完成创建 创建完成然后开始创建springBoot往POM文件中写入相关依赖&lt;properties&gt; &lt;java.version&gt;1.8&lt;/java.version&gt;&lt;/properties&gt;&l...

2018-05-24 14:53:30 1428 3

原创 算导读书笔记——插入排序

基础算法之插入排序    我觉得《算法导论》一书中对插入排序的描述非常简洁易懂:“插入排序的工作方式像许多人排序一手扑克牌”。    是的,我们排序手里的扑克牌的方式往往是先在手中握好正确排序的一手扑克,然后将牌堆中的牌依次插入到当前排序中,我们在将牌堆中的牌插入手中的这个过程,就是在做插入排序。    试想,当前“牌堆”为{6,8,7,56,14,24,5,12},我们要排序的话就得将“牌堆”中...

2018-04-07 21:20:54 167

redis-6.0.1版本压缩包及中英文发行说明.zip

redis-6.0.1版本压缩包及中英文发行说明,redis官网直连下载,CSDN内网加速,快速下载,纵享丝滑,我不生产软件,我只是官网软件的搬运工

2020-05-15

mongodb 4.2.6 最新版windows安装包及数据库工具.zip

mongodb 4.2.6最新windows安装版本,官网直连下载,CSDN内网加速,快速下载,纵享丝滑,我不生产软件,我只是官网软件的搬运工

2020-05-15

Git-2.26.2 windows最新安装包.zip

Git最新windows安装版本2.26.2,Git官网直连下载,CSDN内网加速,快速下载,纵享丝滑,我不生产软件,我只是官网软件的搬运工

2020-05-15

TortoiseGit-2.10.0.2 windows安装包.zip

TortoiseGit 2.10.0.2 最新版安装包,绿色健康 官网下载,只是官方下载比较慢,好不容易下下来,传到CSND中起个加速下载的作用

2020-05-15

tomcat10 zip压缩版及文档.zip

tomcat10最新解压版本,Apache官网直连下载,CSDN内网加速,快速下载,纵享丝滑,我不生产软件,我只是官网软件的搬运工

2020-05-15

tomcat10 windows安装版.zip

tomcat10最新windows安装版本,Apache官网直连下载,CSDN内网加速,快速下载,纵享丝滑

2020-05-15

Axure-RP-Extension-for-Chrome插件包及教程.rar

谷歌浏览器的RP产品原型浏览插件, 内附Axure-RP-Extension-for-Chrome_v0.6.3插件压缩包, 以及插件安装的详细文档, 已有多位用户根据文档安装使用,安全可靠,方便简介

2019-07-08

tomcat9.zip

Tomcat 9.0.21 官网最新版本 内部包含tomcat 9 压缩包,tomcat 9 Windows 64位 包 CSDN快速下载

2019-06-17

TortoiseGit2.8 安装包和中文包

TortoiseGit 2.8.0 安装包和中文包,绿色健康 官网下载,只是官方下载比较慢,好不容易下下来,传到CSND中起个加速下载的作用

2019-03-15

QRCodeMAVEN集成包

通过POM文件方式引入QRCode.jar包的集成文件包,该资源可以直接用在本地的maven库中,也可以通过解压之后直接使用QRCode.jar文件引入到工程中,比计较方便开发人员使用

2018-08-25

空空如也

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

TA关注的人

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