
java
文章平均质量分 75
NetSnake_
这个人很赖,就写了这么几个字……
展开
-
Linux一次执行多个命令& ; && ||区别
1.一次执行多个命令,多个命令之间用;号隔开cmd1; cmd2;cmd3如:cd /home/abc ; rm -rf ./test/* ; rm -rf ./pos/* ; rm -rf ./logs/* ;不管cmd1命令是否执行成功,cmd2命令都执行。这样前后执行的时候没有依赖性。相互独立。前一个命令执行完成,才会执行后一个命令。注意:单行语句一般要用到分号来区分代码块,代码若写作多行,用换行符来区分代码块,则无需用到分号。2. 多个命令同时执行,用& (并行)..原创 2021-12-22 10:57:19 · 1171 阅读 · 0 评论 -
JDK8 Stream 数据流,大数据量下的性能效率怎么样?
Stream 是Java SE 8类库中新增的关键抽象,它被定义于 java.util.stream (这个包里有若干流类型:Stream<T>代表对象引用流,此外还有一系列特化流,如 IntStream,LongStream,DoubleStream等。Java 8 引入的的Stream主要用于取代部分Collection的操作,每个流代表一个值序列,流提供一系列常用的聚集操作,可以便捷的在它上面进行各种运算。集合类库也提供了便捷的方式使我们可以以操作流的方式使用集合、数组以及其它数据结.原创 2021-03-09 09:45:49 · 640 阅读 · 0 评论 -
Kafka详细的配置参数及文档地址
配置及参数说明如下:#################consumer的配置参数(开始)##################如果'enable.auto.commit'为true,则消费者偏移自动提交给Kafka的频率(以毫秒为单位),默认值为5000。spring.kafka.consumer.auto-commit-interval;#当Kafka中没有初始偏移量或者服务器上不再存在当前偏移量时该怎么办,默认值为latest,表示自动将偏移重置为最新的偏移量#可选的值为latest, .原创 2021-02-05 15:57:12 · 827 阅读 · 0 评论 -
Findbugs使用指南及扫描内容解释
一、Findbugs的常用操作:Findbugs找出的bug有三种颜色黑色的臭虫标志是分类;红色的臭虫标志表示严重bug,发现后必须修改代码;橘黄色的臭虫标志表示潜在警告性bug,应尽量修改;二、Findbugs的规则Findbugs是基于bug patterns概念,查找字节码文件中潜在的bug,主要检查字节码文件中的bug patterns,如nullpoint空指针检查、没有合理关闭资源、字符串相同判断错(==而不是equals)等。1、、Security 关于代码安全性防..原创 2021-01-21 15:52:59 · 3583 阅读 · 0 评论 -
消息中间件(2)MQ使用场景(解耦,异步消息,流量削锋)
一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ二、消息队列应用场景以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景。 2.1异步处理 场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种 :1.串...原创 2021-01-20 17:32:48 · 1052 阅读 · 0 评论 -
JVM调优配置及参数说明
CMD java //1 非标准参数配置 -Xms1024m //指定jvm堆的初始大小,默认为物理内存的1/64,最小为1M;可以指定单位,比如k、m,若不指定,则默认为字节。 -Xmx1024m //指定jvm堆的最大值,默认为物理内存的1/4或者1G,最小为2M;单位与-Xms一致。 -Xmn480m //JVM中年轻态的大小 年轻态比老年态为1/1 持久态最好为64M 老年态为480 FULLCG次数会较少 但是每次FULL...原创 2020-12-21 17:14:06 · 339 阅读 · 1 评论 -
spring boot 服务启动时no active profile set, falling back to default profiles: default的问题
1.启动时no active profile set, falling back to default profiles: default相信有不少细心小伙伴在新启动一个spring boot项目时候会发现这样一条信息no active profile set, falling back to default profiles: default。为什么会出现这样的提示呢,我们先来看看profile,profile是Spring对不同环境提供不同配置功能的支持,可以通过激活、 指定参数等方式快速切换环境原创 2020-10-22 15:31:56 · 4446 阅读 · 0 评论 -
Springboot使用maven打包指定启动主类
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin<...原创 2020-04-23 21:05:06 · 4679 阅读 · 4 评论 -
idea 中 设置RunDashboard窗口, 多个项目运行在同一窗口(&设置自定义注释模板快捷键)
在工程目录下找.idea文件夹下的workspace.xml, 搜索RunDashboard, 在其中增加如下组件:<component name="RunDashboard"> <option name="configurationTypes"> <set> <option value="SpringBootA...原创 2020-04-19 13:22:29 · 577 阅读 · 0 评论 -
idea工具设置类注释和方法注释
类头注释:打开file->setting->Editor->Filr and Code Templates->Includes->File Header直接在右边的文件框里编辑你说需要注释的东西,然后应用保存之后,当你创建类的时候就会自动生成注释。方法注释:打开file->setting->Editor->LiveTemplates点击右边上...原创 2020-04-19 13:20:49 · 396 阅读 · 0 评论 -
springboot打包vue自动植入
<!--vue打包依赖--><plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.6.0</version> &l...原创 2020-04-03 22:01:37 · 318 阅读 · 0 评论 -
linux服务搭建java项目基础运行环境
1.安装JDK并配置环境变量①进入Java8下载页面获取下载链接,目标是下载红色圈出来的Linux x64版本,如下图4。这里划个重点,这个问题卡了我好久。我参考的一篇博客提到,直接点击右键“复制链接地址”,然后用"sudo wget"命令,即可下载。但这样做会导致后面解压失败,因为文件没有完全下载,文件大小只有几k;怎么做呢?直接点击下载链接,Chrome会开始下载,在Chrome下载页面中...原创 2020-04-03 21:53:25 · 205 阅读 · 0 评论 -
反射机制的理解及其用途【影响性能】
Reflection 是 Java 程序开发语言的重要特征之一,是学习Java必须知识点。Java反射机制主要提供了以下功能:在运行时构造一个类的对象;判断一个类所具有的成员变量和方法;调用一个对象的方法;生成动态代理。反射最大的应用就是框架Java.lang.Class和Java.lang.reflect包下的API,用于表示或者处理当前JVM中的类,接口和对象。Java反射的主要功...原创 2019-10-21 22:40:09 · 321 阅读 · 0 评论 -
java 实现二维码的生成与解析
简单介绍下二维码:二维码其实就是一种编码技术,只是这种编码技术是用在图片上了,将给定的一些文字,数字转换为一张经过特定编码的图片,而解析二维码则相反,就是将一张经过编码的图片解析为数字或者文字。创建好maven项目后,在项目的pom.xml中添加依赖:<dependency> <groupId>com.google.zxing</groupId>...原创 2019-10-16 11:09:11 · 346 阅读 · 0 评论 -
使用freemark导出数据到Word(遍历List)
将word模板另存为xml文件,进而重命名为.ftl文件,就得到了freemark的模板,因为是一个列表显示,我们需要所以我们需要根据freemark的标签进行改写,找到word中的每一个表格的行进行改写,改写后的ftl的文件如下:<#list userList as user> <w:tr><w:tblPrEx><w:tblBorders>...原创 2018-04-20 15:21:36 · 1207 阅读 · 0 评论 -
java中jdk内置队列
Queue: 基本上,一个队列就是一个先入先出(FIFO)的数据结构Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Deque接 口。 Queue的实现1、没有实现的阻塞接口的LinkedList: 实现了java.util.Queue接口和java.util.AbstractQueue接口 内置的不阻塞队列: Prior...原创 2018-07-26 19:58:38 · 7198 阅读 · 0 评论 -
RPC架构简单理解
RPC(Remote Promote Call) 一种进程间通信方式。允许像调用本地服务一样调用远程服务。RPC框架的主要目标就是让远程服务调用更简单、透明。RPC框架负责屏蔽底层的传输方式(TCP或者UDP)、序列化方式(XML/JSON/二进制)和通信细节。开发人员在使用的时候只需要了解谁在什么位置提供了什么样的远程服务接口即可,并不需要关心底层通信细节和调用过程。 ...原创 2018-07-17 22:13:43 · 276 阅读 · 0 评论 -
Java四种线程池的使用
介绍new Thread的弊端及Java四种线程池的使用,1、new Thread的弊端执行一个异步任务你还只是如下new Thread吗?new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub }}).start();123...原创 2018-06-27 15:50:53 · 193 阅读 · 0 评论 -
springboot配置拦截器
调用拦截器package com.jiaobuchong.springboot.interceptor;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web...原创 2018-05-24 10:05:42 · 326 阅读 · 0 评论 -
Java字符串写入文件三种方式
1、使用FileWriterString str="hello world!"; FileWriter writer; try { writer = new FileWriter("E:/token.txt"); write.write("");//清空原文件内容 writer.write(str...原创 2018-05-21 17:37:25 · 29085 阅读 · 1 评论 -
java多文件压缩包zip文件下载
/** * 下载脚本文件 * @date 2018/5/16 17:26 * @since JDK 1.8 * @author NetSnake * @verison: 1.0 */@Overridepublic void fileDownload(ScriptQueryRequest reqMsg, User user,HttpServletResponse response) ...原创 2018-05-17 10:30:28 · 829 阅读 · 0 评论 -
win7/win10下安装mysql(解压缩版)
修改ini文件(在解压缩后的mysql文件夹中)实际上修改的是my-default.ini文件在文件中添加如下路径和地址其中的data文件夹是没有的必须自己创建。 # These are commonly set, remove the # and set as required.#这个是mysql所在的文件夹basedir =D:/ProgramFiles/mysql#这个是data文件夹所在的...原创 2018-04-21 18:37:49 · 354 阅读 · 1 评论 -
Redis实现分布式锁 与 实现任务队列
一、实现思路 1.Redis实现分布式锁思路 思路很简单,主要用到的redis函数是setnx(),这个应该是实现分布式锁最主要的函数。首先是将某一任务标识名(这里用Lock:order作为标识名的例子)作为键存到redis里,并为其设个过期时间,如果是还有Lock:order请求过来,先是通过setnx()看看是否能将Lock:order插入到redis里,可以的话就返回true...原创 2018-07-26 20:43:39 · 676 阅读 · 0 评论 -
JVM性能浅谈优化
1.数据类型 java虚拟机中,数据类型可以分为两类:基本类型和引用类型。 基本类型的变量保存原始值,即:它代表的值就是数值本身,而引用类型的变量保存引用值。 “引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。 基本类型包括:byte、short、int、long、char、float、double、boolean...原创 2018-09-28 16:37:37 · 257 阅读 · 0 评论 -
java 代码优化
代码优化的目标是减小代码的体积提高代码运行的效率代码优化细节1、尽量指定类、方法的final修饰符带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为final,则该类所有的方法都是fin原创 2017-04-24 13:02:04 · 354 阅读 · 0 评论 -
java计算经纬度之间的距离
maven 引用:<!-- https://mvnrepository.com/artifact/org.gavaghan/geodesy --><dependency> <groupId>org.gavaghan</groupId> <artifactId>geodesy</artifactId>...原创 2019-08-16 15:30:19 · 2428 阅读 · 0 评论 -
喝口茶时间,了解Springboot整合Shiro
首先,提供pom的完整文档结构:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://mave...原创 2019-06-03 17:01:32 · 170 阅读 · 0 评论 -
RSA加密算法(登陆算法)
RSA加密算法是最常用的非对称加密算法,CFCA在证书服务中离不了它。但是有不少新来的同事对它不太了解,恰好看到一本书中作者用实例对它进行了简化而生动的描述,使得高深的数学理论能够被容易地理解。我们经过整理和改写特别推荐给大家阅读,希望能够对时间紧张但是又想了解它的同事有所帮助。 RSA是第一个比较完善的公开密钥算法,它既能用于加密,也能用于数字签名。RSA以它的三个发明者Ron Ri...原创 2019-05-30 15:23:10 · 935 阅读 · 0 评论 -
BigDecimal api
1、BigDecimal类概述 由于在运算的时候,float类型和double很容易丢失精度,演示案例。所以,为了能精确的表示、计算浮点数,Java提供了BigDecimal 不可变的、任意精度的有符号十进制数。 2、构造方法 public BigDecimal(String val):建议使用参数为字符串的构造方法,如果参数为double或flo...原创 2019-05-22 12:09:40 · 1205 阅读 · 0 评论 -
TortoiseGit冲突解决方案
场景一user0 有新提交user1 没有pull -> 写新代码 -> pull -> 提示有冲突解决办法一-> stash save(把自己的代码隐藏存起来) -> 重新pull -> stash pop(把存起来的隐藏的代码取回来 -弹出页面直接ok就可以) -> 代码文件会显示冲突 -> 右键选择edit conficts,...原创 2019-04-16 10:33:27 · 3639 阅读 · 0 评论 -
定时任务参数说明
关于@scheduled 的参数有多种方式,可以根据自己的需求来进行选择。@Scheduled(fixedRate=1000):上一次开始执行时间点后1秒再次执行;@Scheduled(fixedDelay=1000):上一次执行完毕时间点后1秒再次执行;@Scheduled(initialDelay=1000, fixedDelay=1000):第一次延迟1秒执行,然后在上一次执行完...原创 2018-11-15 17:49:13 · 3271 阅读 · 2 评论 -
vmware安装的linux连接外网
注意:一下3步操作可以用虚拟机自带的ip1虚拟机点编辑 选择虚拟网络编辑器2按照下图配置,注意如果自己以前更改过,最好点击还原默认设置3点击NET设置,记住网关IP 这里是192.168.159.24选择虚拟机 设置网络适配器为NAT模式5进入虚拟机修改配置文件 vim /etc/sysconfig/network-scripts/ifcfg-eth0...原创 2018-10-24 17:45:45 · 856 阅读 · 0 评论 -
JAVA导出word的快捷方法
java导出word大致有6种解决方案: 1:Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁。使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用。DLL动态链接库的生成需要windows平台的支持。该方案只能在windows平台实现,是其局限性。 2:Apache POI包括一系列的API,它们可以...原创 2018-04-19 15:29:50 · 332 阅读 · 0 评论 -
Linux常用命令(非常全!!!)
最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考: 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 ...原创 2018-04-23 13:43:14 · 330 阅读 · 0 评论 -
git常用命令
git init 在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹. git clone 获取一个url对应的远程Git repo, 创建一个local copy. 一般的格式是git clone [url]. clone下来的repo会以url最后一个斜线后面的名称命名,创建一个文件夹,如...原创 2018-04-23 11:21:27 · 235 阅读 · 0 评论 -
发送邮箱信息
package com.pms.sys.util;import java.util.Date;import java.util.Properties;import javax.mail.Authenticator;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.PasswordA原创 2017-08-23 10:39:41 · 625 阅读 · 0 评论 -
服务器之间传输数据
package com.pms.sys.util;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.Unsuppo原创 2017-08-23 10:37:51 · 494 阅读 · 0 评论 -
IDEA 常用快捷键
Alt+回车 导入包,自动修正 Ctrl+N 查找类 Ctrl+Shift+N 查找文件 Ctrl+Alt+L 格式化代码 Ctrl+Alt+O 优化导入的类和包 Alt+Insert 生成代码(如get,set方法,构造函数等) Ctrl+E或者Alt+Shift+C 最近更改的代码 Ctrl+R 替换文本 Ctrl+F 查找文本 Ctrl+Shift+Space 自动补原创 2017-08-25 15:00:41 · 284 阅读 · 0 评论 -
ftl 生成pdf 可打印、可下载
/** * 生成pdf可以下载、打印 * @param request * @param response * @param pdfName 配置文件名称(html和pdf两个页面) * @param root 需要传到页面 的参数 * @throws DocumentException * @throws IOExceptio原创 2017-09-04 11:02:27 · 1903 阅读 · 0 评论 -
ftl导出pdf及异常处理办法
调用方法:<dependency> <groupId>com.lowagie</groupId> <artifactId>itext</artifactId> <version>2.0.8</version> </dependency><dependency> <groupId>org.xhtmlrenderer</groupId> <arti原创 2017-08-14 14:17:59 · 1915 阅读 · 2 评论