Xshell功能强大,但是网上一般下载的都是收费的、或者就是破解版的;不过官方提供了针对家庭/学校的免费版,功能是一样的,只不过注明了只供非商业用途,一般的是够用了。 下载地址:https://www.netsarang.com/zh/free-for-home-school/ 然后姓名、邮件地址填写正确,下载地址就会 […]
Xshell功能强大,但是网上一般下载的都是收费的、或者就是破解版的;不过官方提供了针对家庭/学校的免费版,功能是一样的,只不过注明了只供非商业用途,一般的是够用了。 下载地址:https://www.netsarang.com/zh/free-for-home-school/ 然后姓名、邮件地址填写正确,下载地址就会 […]
准备工作 环境准备 JAVA版本 java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode) […]
文档 什么是文档 在大多数应用中,多数实体或对象可以被序列化为包含键值对的 JSON 对象。 一个 键 可以是一个字段或字段的名称,一个 值 可以是一个字符串,一个数字,一个布尔值, 另一个对象,一些数组值,或一些其它特殊类型诸如表示日期的字符串,或代表一个地理位置的对象: { "name": "John Smith" […]
背景&痛点 通过ES进行查询,如果需要新增查询条件,则每次都需要进行硬编码,然后实现对应的查询功能。这样不仅开发工作量大,而且如果有多个不同的索引对象需要进行同样的查询,则需要开发多次,代码复用性不高。 想要解决这个问题,那么就需要一种能够模块化、配置化的解决方案。 解决方案 思路一:配置参数 通过配置参数的方 […]
Elasticsearch基本概念 Elasticsearch是基于Lucene的全文检索库,本质也是存储数据,很多概念与传统关系型数据库类似。 传统关系型数据库与Elasticsearch进行概念对比 Elasticsearch 传统关系型数据库 indices(索引库) Databases(数据库) type(类型 […]
功能: 实现根据freemarker模板生成对应的PDF文件; 可以指定文字、位置、页数生成指定的印章(图片),可以指定印章大小; 指定字体、字体大小、文字方向、颜色等生成文字水印 maven依赖: <dependency> <groupId>org.xhtmlrenderer</gr […]
安装 安装SVN服务器端(Setup-Subversion-X.X.XX.msi): 下载地址:http://sourceforge.net/projects/win32svn/files/?source=navbar 按照自己的电脑系统下载对应的文件,下载成功后直接下一步到结束 然后打开dos窗口输入svn或者svn […]
标题{#1} 文字前顶头加 "#" + 空格 来表示标题 一级标题:# 二级标题:## ... 六级标题:###### 最多支持到六级标题。 例: # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 页面效果: 一级标题 二级标题 三级标题 四 […]
背景 SpringBoot和SpringCloud的版本需要对应,不然会因为jar包版本不兼容导致一系列奇怪的问题。因为官方不会保证SpringBoot和SpringCloud不同版本的兼容性。 大版本对应 SpringCloud版本 SpringBoot版本 Hoxton 2.2.x Greenwich 2.1.x […]
自定义时间格式: DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"); DateTime dateTime = DateTime.parse("2019-08-02 11:33:56", formatter); S […]
将深度嵌套的map对象转换为扁平化的map对象输出。 import org.apache.commons.lang3.StringUtils; import java.util.HashMap; import java.util.Map; import java.util.Set; /** * @author 李锋镝 […]
@BeforeSuite 在该套件的所有测试都运行在注释的方法之前,仅运行一次。 @AfterSuite 在该套件的所有测试都运行在注释方法之后,仅运行一次。 @BeforeClass 在调用当前类的第一个测试方法之前运行,注释方法仅运行一次。 @AfterClass 在调用当前类的第一个测试方法之后运行,注释方法仅运 […]
分布式锁有很多种实现方式,下面是用redis实现的一个比较简单实用的方式。源码如下: import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Va […]
cglib的BeanCopier功能很强大,不过频繁的create太占用资源,降低服务器性能,所以写了下面的代码进行优化。以达到提升性能的目的。主要就是用缓存将类型相同的copier缓存起来,后续copy的时候就不用再继续创建了。 这样的话如果有频繁用到BeanCopier的地方,将是很有用处滴。 import org […]
简介 SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图: 1位,不用。二进制中最高位为1的都是负数,但是我们生成的id一般都使用整数,所以这个最高位固定是0 41位,用来记录时间戳(毫秒)。 41位可以表示$2^{41}-1$个数字, 如果只用来表示正整数(计算机中正数包含0 […]
你可以迷茫,但不要虚度。
COPYRIGHT © 2026 lifengdi.com. ALL RIGHTS RESERVED.