
工具
森林屿麓
这个作者很懒,什么都没留下…
展开
-
关于SpringBoot项目配置文件放在jar外面总结
针对小项目,非分布式没有统计配置中心,开发时候会面临打包配置不同的环境,例如我遇到的项目,在公司有测试环境,稳定环境,现场有现场测试,现场稳定环境,针对不同环境需要不同的配置。这时候可考虑把配置抽离出来,对每个环境放对应的配置文件,且直接放在jar包外面即可。详细说明如下:SpringBoot项目在运行时默认的配置文件application.properties是可以直接放在jar包外面的,且读取优先级如下:config/application.properties > applic原创 2020-07-07 21:38:08 · 3379 阅读 · 0 评论 -
mybatis generator plugin插件扩展之自定义注释,支持mysql,oracle
本文主要介绍如何对mybatis generator plugin 插件扩展,实现自定义实体类的注释。实现方式可通过修改源代码,或者自己单独开一个项目,通过继承generator的类,然后项目中引入。本文主要介绍后者。一、新建maven项目1、添加项目依赖<dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-c原创 2020-07-05 16:22:02 · 1502 阅读 · 0 评论 -
树Tree形结构,获取所有叶子节点路径
public static void fun(TreeNode node, List<String> path, List<List<String>> allPah) { if (node.children.size() == 0) { allPah.add(path); return; } for (TreeNode cNode : node.children) { List<String> cPath = new Arra..原创 2020-07-05 15:50:41 · 4269 阅读 · 2 评论 -
Java byte转int为什么要&0xff
总归就是一句话,保证补码的完整性先看例子byte[] b = new byte[1];b[0] = -127;// -127System.out.print(b[0]);// 129System.out.print(b[0] & 0xff);在此不再描述源码、反码、补码的概念,但有个概念要提一下,‘数据扩展’,数据扩展:众所周知计算机内二进制都是以补码形...原创 2019-10-24 20:02:49 · 524 阅读 · 0 评论 -
kafka不同版本间consumer保存机制区别
目录一、 误区澄清与概念明确1 Kafka的版本2 新版本 VS 老版本二、消费者组 (Consumer Group)1 什么是消费者组2 消费者位置(consumer position)3 位移管理(offset management)四、Rebalance4.1 什么是rebalance?4.2 什么时候rebalance?4.3 如何进行组内分区...转载 2019-07-16 09:34:28 · 1273 阅读 · 0 评论 -
pos方式下载文件,解决url参数过长问题
前端页面下载文件时候,如果以get方式提交,会受到url参数长度限制,所以改成构造form表单方式进行提交下载,已下是借助form表单方式进行提交 function downloadImage() { $("#downloadform").remove(); var form = $("<form>");//定义一个form表单 form.attr("id", "d...原创 2018-12-28 17:14:46 · 2133 阅读 · 1 评论 -
Java Set集合,HashSet与TreeSet详解
SetSet:注重独一无二的性质,该体系集合可以知道某物是否已近存在于集合中,不会存储重复的元素用于存储无序(存入和取出的顺序不一定相同)元素,值不能重复。对象的相等性 引用到堆上同一个对象的两个引用是相等的。如果对两个引用调用hashCode方法,会得到相同的结果,如果对象所属的类没有覆盖Object的hashCode方法的话,hashCode会返回每个对象特有的序号(java...原创 2018-12-20 16:07:05 · 613 阅读 · 1 评论 -
vim常用命令
在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行。你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format。使用gg=G可对整篇代码进行排版。 vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下:v 从光标当前...转载 2018-11-24 10:28:08 · 242 阅读 · 0 评论 -
java捕获线程中的异常
Java中在处理异常的时候,通常的做法是使用try-catch-finally来包含代码块,但是Java自身还有一种方式可以处理——使用UncaughtExceptionHandler。它能检测出某个线程由于未捕获的异常而终结的情况。当一个线程由于未捕获异常而退出时,JVM会把这个事件报告给应用程序提供的UncaughtExceptionHandler异常处理器(这是Thread类中的接口):...原创 2018-11-22 08:31:47 · 1355 阅读 · 0 评论 -
利用Freemarker模板引擎发送邮件
一、maven引入jar包<dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.20</version></dependency>二原创 2018-10-11 14:12:40 · 582 阅读 · 0 评论 -
Java 异常处理 Throwable Error 和Exception
Java异常类层次结构图什么是异常异常的英文单词是exception,字面翻译就是“意外、例外”的意思,也就是非正常情况。事实上,异常本质上是程序上的错误,包括程序逻辑错误和系统错误。比如使用空的引用、数组下标越界、内存溢出错误等,这些都是意外的情况,背离我们程序本身的意图。错误在我们编写程序的过程中会经常发生,包括编译期间和运行期间的错误,在编译期间出现的错误有编译器帮助我们一起修正...转载 2018-08-17 09:36:12 · 911 阅读 · 0 评论 -
git概念、原理、使用
git和CVS、SVN的区别git是分布式版本控制系统,代码提交是在本地的(如此速度就快),当然生成补丁(patch)然后push到远程服务器上是需要联网的。CVS、SVN是集中式版本控制系统,代码提交都是提交到远程服务器上,是需要一直联网的(如此速度就慢)(这里的一直联网不是说你写代码的时候要联网,而是说你提交代码的时候必须联网;但是git不同,git提交代码是本地的不需要联网,生成pa...转载 2018-08-13 11:41:46 · 442 阅读 · 0 评论 -
java代码行数统计(统计文件、代码行数、注释行数、空白行数)
import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.util.ArrayList;/** * 代码行数统计 * @author ...原创 2018-07-16 19:19:44 · 4543 阅读 · 0 评论 -
innosetup制作静默安装包,安装后重启
; 脚本由 Inno Setup 脚本向导 生成!; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档![Setup]; 注: AppId的值为单独标识该应用程序。; 不要为其他安装程序使用相同的AppId值。; (生成新的GUID,点击 工具|在IDE中生成GUID。)AppId={{D77D24F4-27CA-4562-84AD-302F6A61337C}App...原创 2018-06-21 14:55:57 · 7195 阅读 · 2 评论 -
IDEA 导入Eclipse或MyEclipse的Web项目
Intellij IDEA 导入Eclipse或MyEclipse的Web项目 1.通过TortoiseSVN客户端将远程项目checkout出来,保存到硬盘上 2.File -> Import Module -> 选择之前检出的项目 3.进入"Import Module"窗口,选择"Import module from external model",点击选中"eclipse" -&...转载 2018-03-26 09:59:03 · 415 阅读 · 0 评论 -
myeclipse10.7导出war包时出错解决办法
经过测试本次破解可以解决此错误,只需替换一个jar文件,重启两次myeclipse就可以解决。以下是详细操作:方法: 一:把压缩包里面的jar文件替换到plugins目录下。 替换后请把替换后的文件修改扩展名为txt(或者其他什么扩展名都行), 二:然后启动myeclipse。完全启动后,什么也别做,直接关闭 三:在把之前修改的改回ja原创 2017-10-20 16:39:50 · 518 阅读 · 0 评论 -
byte[]数组和int之间的转换
这里简单记录下两种转换方式:第一种:1、int与byte[]之间的转换(类似的byte short,long型)[java] view plain copy/** * 将int数值转换为占四个字节的byte数组,本方法适用于(低位在前,高位在后)的顺序。 和bytesToInt()配套使用 * @param转载 2017-09-17 16:39:42 · 421 阅读 · 0 评论