自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 NFS服务配置、搭建、应用

NFS

2022-10-19 18:11:11 1553 1

原创 @PostConstruct注解

@PostConstruct@PostConstruct注解好多人以为是Spring提供的,其实是Java自己的注解。Java中该注解的说明:@PostConstruct该注解被用来修饰一个非静态的void()方法。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。通常我们会是在Spring框架中使用到@PostConstruct注解,该注解的方法在整个Bean初始

2022-04-15 16:57:57 213

原创 SpringBoot请求体中的流只能读取一次的问题HttpServletRequest的流只能读取一次的原因

问题场景:在项目开发过程中需要记录用户的操作行为,即用户请求的url和相关url中带有的请求体参数,在springboot中只能在拦截器中读取了一次,在controller获取不到参数。经过代码排查,发现ServletInputStream的流只能读取一次,从而影响到controller层接受request内容。解决方案:1、声明BodyReaderHttpServletRequestWrapper类继承HttpServletRequestWrapp将请求体中的流copy一份,重写getInpu

2022-04-14 16:21:26 1566

原创 Java8 stream()用法

最近在项目里使用了很多stream()方法,现跟大家分享一下1、stream()操作分类解释:1)、无状态:指元素的处理不受之前元素的影响;2)、有状态:指该操作只有拿到所有元素之后才能继续下去。3)、非短路操作:指必须处理所有元素才能得到最终结果;4)、短路操作:指遇到某些符合条件的元素就可以得到最终结果,如 A || B,只要A为true,则无需判断B的结果。即:方法执行时数据获取的逻辑和数据判断的逻辑2、sorted()用法List<类> list

2022-04-02 11:30:10 524

原创 自定义分页

给大家介绍一个简单分页的方法(有兴趣的可以自己试一下)1、实体package com.hffss.entity.ext;import lombok.Builder;import lombok.Data;import java.io.Serializable;import java.math.BigDecimal;import java.util.Date;@Data@Builderpublic class CorpChangeAndAmendmentInfo implemen

2022-04-02 10:15:55 2019 1

原创 设计模式:单例模式

1、什么是单例模式单例:保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式是一种常用的软件设计模式之一,其目的是保证整个应用中只存在类的唯一个实例。比如我们在系统启动时,需要加载一些公共的配置信息,对整个应用程序的整个生命周期中都可见且唯一,这时需要设计成单例模式。如:spring容器,session工厂,缓存,数据库连接池等等。2、如何保证实例的唯一1)防止外部初始化2)由类本身进行实例化3)保证实例化一次4)对外提供获取实例的方法5)线程安全3、推举几

2022-03-31 09:20:34 147

原创 Java解决输出,出现[Ljava.lang.String;@3142b089]

Java解决输出错误 ('[Ljava.lang.String;@3142b089]')解析:1、“[”:表示一位数组2、“L”:表示一个对象3、"java.lang.String":表示对象数据类型4、“@3142b089”:表示该对象的HashCodeHashCode:散列码是由对象导出的一个整型值。散列码是没有规律的。类的hashCode()方法继承自Object类,因此每个对象都有一个默认的散列码,他的值为对象的存储地址(由对象的物理存储地址通过散列转换来的)。解决方法:

2022-03-30 18:26:09 1673

原创 List<Map<String, Object>>类型升序、降序

需求:对List<Map<String, Object>>类型的数据key值为"removeDate",类型为Long进行升序和降序1、升序 /** * 升序 * @param list */ private static void listSortUp(List<Map<String, Object>> list) { Collections.sort(list, (o1, o2) -> { try { l

2022-03-30 17:34:25 477

原创 注解:@Data和set、get

@Data注解优化代码

2022-03-22 15:05:32 1643

原创 IOException while sending message; nested exception is:java.io.FileNotFoundException

异步发送邮件出现的异常情况1、问题描述近期做了一个发送邮件的功能,因为在处理发送邮件联系人上出现过失效的邮箱地址,为了快速定位到问题。现将批量发送的方式改为单独发送。Failed messages: javax.mail.MessagingException: IOException while sending message; nested exception is: java.io.FileNotFoundException: /tmp/tomcat.8268785341862084

2022-03-04 11:27:15 3642

原创 log4j2(spring-boot-starter-log4j2)高危漏洞

2021-12-14今天大家都很忙吧!因为出现了log4j2的高危漏洞,大家都在修复代码吧废话不多说,上代码1、pom.xml文件配置中<!-- 引入log4j2依赖 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId></d

2021-12-14 10:35:10 1072

原创 Java并发编程(一)

1、多线程作用1.1、发挥多核CPU的优势 随着工业的进步,现在的笔记本、台式机乃至商用的应用服务器至少都是双核、4核、8核甚至16核的,如果单线程的程序,那么在双核CPU上浪费就是50%,在4核CPU上浪费就是75%。单核CPU上的所谓“多线程”那是假的多线程,同一时间处理器只会处理一段逻辑,只不过线程之间切换得比较快,看着像多个线程“同时”运行罢了。多核CPU上的多线程才是真正的多线程,它能让你的多段逻辑同时工作,多线程可以真正发挥多核CPU的优势,达到充分利用CPU的目的。2.1、防止阻.

2021-11-26 11:22:59 378

原创 Java 基础篇(三)

1、Oracle JDK和Open JDK的对比 版本发布:Oracle JDK版本每三年发布一次、Open JDK版本每三个月发布一次。 开源比较:OpenJDK是一个参考模型并且完全开源,而Oracle JDK是Open JDK的一个实现,并不是完全开源的。 稳定性:Oracle JDK比Open JDK更稳定。Open JDK和 的代码几乎相同,但Oracle JDK有更过的类和一些错误修复。因此,如果开发企业/商业软件,建议选择Oracle JDK,因为它经过了彻底的测试和稳定。...

2021-11-15 09:26:47 868

原创 Java 基础篇(二)

蛾儿雪柳黄金缕,笑语盈盈暗香去。众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。1、JDK、JRE和JVM的区别 1.1、JDK JDK(Java SE Development Kit),Java标准的开发包,提供了编译、运行Java程序所需要的各种工具和资源,包括了Java编译器、Java运行环境、以及常用的Java类库等。 1.2、JRE JRE(Java Runtime Environment),Java运行时的环境,用于解释执行Java的字节码文件。普通用户只需要...

2021-11-12 17:36:31 576

原创 Java 基础篇(一)

东风夜放花千树。更吹落、星如雨。宝马雕车香满路。凤箫声动,玉壶光转,一夜鱼龙舞。‘1、什么是Java Java是一门面向对象的高级编程语言,不仅吸收了C++的各种优点,比如继承了C++语言面向对象的技术核心,还摒弃了C++里难以理解的多继承、指针等概念,同时也增加了“垃圾回收机制”,释放掉不被使用的内存空间,解决了管理内存空间的烦恼。2、Java特点 Java语言是一种分布式面向对象语言,具有面向对象、平台无关性、简单性、解释执行、多线程、安全性等众多特点。 2.1、面向对...

2021-11-09 15:51:20 226

原创 Map集合value值降序排序

废话不多说 Map集合value值降序排序 直接上代码// Map的value值降序排序 public static <K, V extends Comparable<? super V>> Map<K, V> sortDescend(Map<K, V> map) { List<Map.Entry<K, V>> list = new ArrayList<>(map.entrySet());..

2021-05-19 14:39:31 187

原创 Java接口请求加密验签处理

Java接口请求加密验签处理最近做了一个接口的加密验签的功能,今天和大家分享一下***注(以下出现的参数字符串都是测试处理,方便大家理清思路,非真实正确的数据)***1、参数说明 字段名称:appcode(产品编码)、servercode(业务编码)、redirect(业务跳转地址)、timestamp(时间)、addParas(附属参数)、sign(签名)。2、sign签名计算规则采用md5加密方法,参与计算的参数为上述的appcode、servercode、redirectU..

2021-04-15 16:45:06 2115

原创 Apollo分布式部署

今天和大家分享一下apollo应用环境的部署运行环境的要求1、Java版本 1.7或者1.82、MySQL版本 5.6.5以上3、部署机器地址172.16.37.86、172.16.37.85、172.16.37.84部署步骤1、创建数据库分别创建ApolloPortalDB、ApolloConfigDB数据库ApolloPortalDB数据库https://github.com/ctripcorp/apollo/blob/master/scripts/sql/a

2021-01-28 16:01:01 498

原创 Linux简单命令(一)

这两天机房的测试机出了一些问题,相关服务命令都需要重新安装1、安装解压zip文件命令apt-get install zip 或 yum install ziplinux安装unzip命令:apt-get install unzip 或 yum install unzip2、JDK安装2.1、查找jdk安装列表yum -y list java*2.2、安装jdk命令yum install java-1.8.0-openjdk.x86_642.3、验证安装版本..

2021-01-21 11:27:37 54

原创 大众点评CAT集成Springboot(windows环境)

大众点评CAT分布式监控系统集成windows环境的springboot项目前提背景:1、大众点评CAT我部署的是linux环境、不会部署的小伙伴可以看我的博文2、springboot是在windows7本地环境开发的项目windows环境sspringboot集成CAT1、配置文件相关1.1、本地环境创建目录/data/appdatas/cat、具体的创建目录的磁盘根据你本地的springboot项目的磁盘一致即可。1.2、在创建的目录中新建client.xml文件.

2021-01-07 11:41:14 361

原创 大众点评CAT分布式监控部署

大众点评CAT分布式监控部署

2020-12-29 14:18:56 296

原创 Jenkins自动部署,mvn不同的环境打包配置

今天看了个问题,就是在Jenkins里如何根据不同的环境发布代码。我本地的代码环境有,开发环境、测试环境、预发布环境和线上环境。基于项目的风险控制,安全控制,我只有开发环境和测试环境的权限,所以我通过Jenkins将代码部署到测试环境上。1、先判断java-web下的pom文件,查看pom文件下不同环境的配置情况<profiles></profiles>...

2020-04-13 17:20:07 2259

原创 Tomcat虚拟路径设置

前几天写了一个关于登录页面banner图的展示。需求:banner图的存放地址在项目包的外部,不能占用项目资源。这种通过外部存储位置渲染图片的实现方式有两种,1:目录映射(虚拟路径)、2:读取流,这两种方式我选择了第一种:目录映射(虚拟路径),其实虚拟路径的这种方式很简单。开发环境 Windows 7 、开发工具 idea、服务 Tomcat 8.0配置共分两步:请看仔细1、首...

2020-04-07 16:41:35 171 1

原创 linux环境 mongdb根据主键id批量更新字段

今天领导安排一个任务:“根据主键id给mongdb库录入一个字段,数据大约一百多万吧!!!”需求:保持mongdb库同一条数据的其他内容不变,根据主键id新增一个字段,并且录入相应的值。策略:这种需求明显用代码和工具实现是不明智的行为(我就是个写java代码的)(工具Robot 3T 还TMD都是英文),所以最好的方法就是登录到当前mongdb的机器上,我们的mongdb库是部署在...

2019-12-11 15:04:50 536

原创 zookeeper集群,机器时间必须同步

今天遇到一个问题,分享一下 zookeeper集群配置查看当前机器是leader还是follower,命令:zkServer.sh statusfollower表示 从机leader表示 主机还有一点,部署zookeeper集群的机器,必须保证机器的时间必须一致,否则会对你未来在集群上的操作报出一些难以发现的错误。...

2019-11-04 14:43:12 1366

原创 MySql数据查询,导出数据

MySql数据查询,导出数据在linux环境下,进入mysql数据库查询数据导出结果。进入mysql数据库命令:mysql -h(数据库ip地址) -u(数据库用户名) -p(数据库密码)正常的数据库服务器是不可以直接使用ssh命令直接访问的,需要在项目部署的机器上连接相关配置的数据库。例如:mysql 192.100.2.41 -uabcd -pabcd进入数据库中选择要是空...

2019-08-14 14:11:03 267

原创 如何查看linux是32位还是64位

如何查看linux是32位还是64位使用命令  “getconf LONG_BIT”  如果返回的是32,那么就是32位  如果返回的是64,那么就是64位

2019-08-14 13:57:12 167

原创 Java 调用Http和Https接口

Java调用Http接口和Https接口大多数我们调用的接口都是Http的,很少有Https的接口,近期做了个项目就用到和Https接口的请求调用,和大家分享一下心得。Http接口和Https接口主要是区别还是Https存在一个证书验证。针对Https和Http做出逻辑判断,对Https接口的证书,咱们可以进行忽略。话不多说,请看代码Service层,http和https的接口请求...

2019-08-09 16:44:21 5285 1

原创 SQL查询速度慢的原因分析和解决方案

SQL查询速度慢的原因分析和解决方案查询速度慢的原因很多,常见如下几种:    1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)    2、I/O吞吐量小,形成了瓶颈效应。    3、没有创建计算列导致查询不优化。    4、内存不足    5、网络速度慢    6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)    7、锁或...

2019-08-05 08:58:02 2180

原创 解决Windows Tomcat端口被占用

有的时候电脑在开发时需要重新启动Tomcat,也可能因为电脑卡的原因,频繁启动Tomcat导致端口被占用。解决方案步骤1:windows下打开命令窗口(快捷键:Windows+R),输入cmd打开命令窗口:输入:netstat -ano | findstr 8005(说明:什么端口号被占用就输入什么端口号,例:8005),回车,这样什么都不显示,说明端口没被占用,如果有显示内容...

2019-08-01 10:26:00 531

原创 Java Web Apache-tomcat 部署上线流程

今天简单的说一下JavaWeb项目部署上线的流程吧,是手动部署哦,并非自动化部署。1、服务器上安装部署Apache-tomcat环境我们可以直接在网上下载个Apache-tomcat的包,传到服务器上,一般Apache-tomcat会部署到目录/usr/local/下,解压Apache-tomcat的包。2、端口号问题需要在当前服务器上判断Apache-tomcat的端口是否同其他...

2019-07-29 16:30:50 729

原创 Java实现文件的上传下载

最近有个项目的功能需要上传和下载文件。废话不多说直接看代码(有注释哦)Controller层 直接调取Service层接口实现上传下载功能@Controller@RequestMapping("/check")public class CheckFileController { private final static Logger logger = LoggerF...

2019-07-25 17:50:01 113

原创 Java 调用Shell脚本执行 SCP命令提示Authorized users only. All activity may be monitored and reported.

近期做了个小项目主要是关于数据处理这方面的。在Java后端调用服务器上Shell脚本,而Shell脚本执行时一条Scp执行结果的提示报Authorized users only. All activity may be monitored and reported.这个是服务器之间的提示信息。但是这个提示信息会被Java调用时捕获到错误信息(Error)中,进而导致程序出错。解决方...

2019-07-16 11:31:03 26762

原创 shell脚本 打包文件乱码 解决方法

昨天在一台freebsd的环境下写shell脚本打包文件的时候出现乱码 一般这种情况下更改环境变量就可以,但是那台机器上还有其他的系统、定时器、shell脚本等等,他们可能用到当前的环境变量,所以更改环境变量不是最好的选择。 由于我的文件需要utf-8的编码格式,而且文件生成后文件的名字也是utf-8的,和当前的环境变量不统一(意思是和本地的编码格式不一致看到的文件名字是乱码),所以只...

2019-07-11 16:41:14 776

原创 awk 命令处理两份数据文件,依据id相同,筛选相同的数据

awk处理两份数据文件,将拥有相同id的数据筛选出来。 不久之前我领导部署给我一份任务,一份数据量百万级的文件和另一份数据量百万级的文件筛选拥有相同id的文件,这种数据量级别的文件靠WPS是无法完成的,电脑配置一般的话甚至打开文件都无法做到,所以我将两份文件上传到linux环境下,执行以下命令。 文件1:shannxi.csv 3000行 文件2:basepoi.csv 4500...

2019-07-11 13:46:21 2283

原创 SSL connect error报错处理,更新nss版本,服务器上无法请求另一台机器上的Https接口

最近上线个项目请求另一台机器上的https接口,无法请求接收不到内容原因是请求的机器使用的是https铁门塞克证书,版本级别较高,而我的项目机器上的NSS版本较低,所以无法请求到https的接口解决方式:升级当前服务器的NSS希望可以帮助到你...

2019-07-09 17:20:36 1320

原创 C3P0错误APPARENT DEADLOCK

C3P0错误APPARENT DEADLOCKC3P0配置的两个重要属性<!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 --> <property name="maxIdleTime" value="60"/><!--每60秒检查所有连接池中的空闲连接。Default: 0 --> ...

2019-07-08 17:37:03 368

原创 Spring 春天

Spring是程序员的春天

2018-02-28 17:58:01 351

空空如也

空空如也

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

TA关注的人

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