- 博客(74)
- 资源 (3)
- 收藏
- 关注
原创 Java Integer类型List转为int[]数组
使用StreamList list = new ArrayList<>();int[] arr = list.stream().mapToInt(Integer::valueOf).toArray();
2020-11-02 09:14:25
1644
原创 leetCode20: 有效的括号java实现
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输入: “([)]”输出: false示例 5:输入: “{[]}”输出: true使用栈来进行求解public c
2020-06-11 16:31:19
490
原创 分治策略-LeetCode解题java实现
2.1 基本概念在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题…直到最后子问题可以简单地直接求解,原问题的解即子问题的解的合并。这个技巧是很多高校算法的基础,如排序算法(快速排序,归并排序),傅里叶变换(快速傅里叶变换)…最优子结构是依赖特定问题和子问题的分割方式而成立的条件。各个子问题具有最优解,就能求出整个问题的最优解,此时条件成立。比如求广州到北京的最短距离,建设这个路径必经过中间的南京,那
2020-06-11 11:03:31
894
原创 递归思想-LeetCode解题java实现
1.1 递归介绍递归是一种编程技巧,一种解决问题的思维方式;严格来说,递归并不是一种算法。简单地说,就是如果在函数中存在着调用函数本身的情况,这种现象就叫递归。递归的思想就是,将大问题分解为小问题来求解,然后再讲小问题分解为更小的问题。这样一层一层的分解,直到问题规模被分解的足够小,不用继续分解,可以直接计算结果为止。如果把这个一层一层分解过程画成图,他其实就是一棵树。我们给这棵树起一个名字,叫做递归树。递归在”归”的过程中,符合后进先出的规则,所以需要用一个堆栈的数据结构。递归过程中函数调用会自
2020-06-09 20:28:45
435
原创 tail -f实时查看日志文件 查看log后100行
tail -f a.log 实时查看日志文件tail -100f a.log 实时查看日志文件后100行tail -f -n 100 a.log 查看日志文件后100行搜索字符grep ‘key word’ a.log 查询a.log中出现的key word字符串
2020-06-03 15:20:24
15720
原创 如何正确使用不可变的静态集合,MS_MUTABLE_COLLECTION问题
在代码中定义了public static final 类型的Map但是在使用代码监测工具进行检查时,提示MS_MUTABLE_COLLECTION问题MS_MUTABLE_COLLECTION问题查看问题原因,可变集合实例被分配给final的静态字段,因此可以被恶意代码或意外更改。需要修改为private类型,防止被篡改,->private static final修改成私有类型外面怎么访问呢?提供一个公共方法调用,使用Collections.unmodifiableMap()对返回的内容
2020-05-29 16:25:09
4587
原创 Linux环境下将在window环境下编写的shell脚本格式转换
windows系统下的文件格式和unix下不同,使用ftp等软件上传到unix服务器上的文件都需要转换为unix格式后,才可以使用;使用命令dos2unix $filename就可以转换成linux格式了
2020-05-22 20:46:29
2922
原创 Maven打包插件spring-boot-maven-plugin
Spring Boot的Maven插件(Spring Boot Maven plugin)能够以Maven的方式为应用提供Spring Boot的支持,即为Spring Boot应用提供了执行Maven操作的可能。spring-boot-maven-plugin能够将Spring Boot应用打包为可执行的jar或war文件,然后以通常的方式运行一般模块打包配置<plugin> <groupId>org.springframework.boot</groupI
2020-05-18 16:45:27
539
原创 jasypt中的加密和解密
在我们的服务中不可避免的需要使用到一些秘钥(数据库、mongodb等),生产如果采用明文配置讲会有安全问题,jasypt是一个通用的加解密库,使用它可以保证我们的安全性。使用1. 首先在pom.xml中引入相关依赖 <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starte.
2020-05-14 16:49:58
3951
原创 Springboot yaml文件属性自动注入
yaml文件配置engine: path: happarserPath: D:\\IdeaProjects\\tool.jar jadxPath: D:\\IdeaProjects\\jadx.bat实体类,用于注入yaml中的属性@Component@ConfigurationProperties(prefix = "engine.path")public class ConfigLoad { private String happarserPath; p
2020-05-12 20:39:34
260
原创 获取文件SHA256值 java实现
java如何获取文件的sha256值。代码如下import java.io.File;import java.io.FileInputStream;import java.io.InputStream;import java.security.MessageDigest;/** * 计算文件sha256值 * * @author ryz * @since 2020-05-12 */public class GetFileSHA256 { public static void
2020-05-12 11:15:47
8474
2
原创 RabbitMQ工厂&工具类
rabbitMq工厂类,封装了创建连接,释放连接等操作import java.io.IOException;import java.security.KeyManagementException;import java.security.NoSuchAlgorithmException;import java.util.concurrent.TimeoutException;import org.slf4j.Logger;import org.slf4j.LoggerFactory;impor
2020-05-11 17:21:23
1439
原创 使用jackson封装JsonUtil工具类,对象之间属性值拷贝
package com...utils;import java.util.LinkedHashMap;import java.util.List;import java.util.Map;import org.apache.commons.lang3.StringUtils;import org.slf4j.Logger;
2020-05-11 14:26:56
1407
原创 利用Jackson封装常用JsonUtil工具类
在日常的项目开发中,接口与接口之间、前后端之间的数据传输一般都是使用JSON格式,那必然会封装一些常用的Json数据转化的工具类,本文讲解下如何利用Jackson封装高复用性的Json转换工具类。
2020-05-11 11:14:51
3397
原创 Spring Data JPA 基本使用
前言 Spring Data JPA简介Spring Data JPA:Spring Data JPA 是 spring data 项目下的一个模块。提供了一套基于 JPA标准操作数据库的简化方案。底层默认的是依赖 Hibernate JPA 来实现的。Spring Data JPA 的技术特点:我们只需要定义接口并集成 Spring Data JPA 中所提供的接口就可以了。不需要编写接...
2020-04-30 17:36:26
412
原创 使用TortoiseGit拉取分支代码将本地仓库上传到gitlab&添加ssh key
使用TortoiseGit进行代码管理操作前提:已经安装好了tortoisegit 工具。在gitLab上 已经创建了一个工程test在工作目录下新建 空白文件夹,在文件夹里面右键 点击git clone,URL从gitLab上复制下来选择Clone with SSH中的url,填写在下图的URL中,Directory中为本地存放路径,如果是从分支中clone,需要选择Branch,并在...
2020-04-30 17:34:25
1982
原创 byte数组转换成十六进制(bytesToHexString)
将byte数组转换成十六进制字符串输出private String byteToHexString(byte[] bytes) { StringBuilder resultHexString = new StringBuilder(); String tempStr; for (byte b: bytes) { //...
2020-04-24 10:59:02
9965
1
原创 linux使用sed命令来替换字符串并复制文件
应用场景为:当我们想要在一台机器上模拟一个集群的时候,要复制出来多份配置文件,这样可以启动多个实例,从而来模拟一个集群环境。sed ‘s/26379/26380/g’ sentinel-26379.conf > sentinel-26380.conf这条命令的意思是:复制sentinel-26379.conf文件,并修改里面的26379为26380, 复制到sentinel-26380....
2020-04-09 09:34:35
1864
原创 cat命令过滤查看文档
cat命令可以直接查看整个文档cat nginx.conf | grep -v “#” | grep -v “^$”grep -v “#” 过滤掉 #开头的注释部分 grep -v “^$” 过滤掉空格换行
2020-04-09 09:16:08
3485
原创 springboot集成logback
springboot中使用logback默认命名为logback-spring.xml并且放在src/main/resources下面即可。在application.properties中添加logback-spring.xml的配置logging.path=/push/logslogging.config=classpath:/logback-spring.xmllogback-spr...
2020-03-13 14:36:28
168
原创 Linux查看目录下文件的个数
查看当前目录下的文件数量(不包含子目录中的文件)ls -l|grep “^-”| wc -l查看当前目录下的文件数量(包含子目录中的文件, R:代表子目录)ls -lR|grep “^-”| wc -l查看当前目录下的文件夹目录个数(不包含子目录中的目录,如果需要查看,加上R)ls -l|grep “^d”| wc -l查询当前路径下的指定前缀名的目录下的所有文件数量s -lR su...
2020-03-13 14:23:35
201
原创 SpringBoot集成日志系统logback的问题解决
问题 :java.lang.IllegalStateException: java.io.FileNotFoundException: class path resource [/logback-spring.xml] cannot be resolved to URL because it does not exist配置内容logging.config=classpath:/logback...
2020-03-03 14:33:58
3709
原创 maven工程添加servlet依赖
创建java web项目之后,需要添加servlet依赖之后,才可以在项目中使用HttpServlet.在pom.xml文件中添加servlet的maven坐标<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</ar...
2020-02-24 19:06:04
4648
原创 牛客网----汽水瓶
题目来源:牛客网有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?...
2020-01-10 17:23:38
237
原创 牛客网----分糖果、分子弹
题目来源:牛客网根据士兵的成绩分配子弹,每个士兵至少分配一个子弹,相邻士兵成绩高的子弹个数一定要高于成绩差的返回要分配的子弹的最小个数...
2020-01-09 11:10:59
1026
原创 linux日志文件相关操作----echo、tail、cat、more、less
一. echo清空日志linux使用echo清空日志文件,应用不需要重启使用tomcat部署应用,会在logs下面打印出日志, catalina.out会变得非常大,如果直接删除掉,则需要重新启动tomcat才会继续向catalina.out中写入日志。如果使用echo则不用重启服务。进入到catalina.out 所在的目录下,运行 echo “” > catalina.out...
2020-01-09 10:22:24
1505
原创 linux使用echo清空正在运行的日志文件,应用不需要重启
linux使用echo清空日志文件,应用不需要重启使用tomcat部署应用,会在logs下面打印出日志, catalina.out会变得非常大,如果直接删除掉,则需要重新启动tomcat才会继续向catalina.out中写入日志。如果使用echo则不用重启服务。运行 echo “” > catalina.out进入到catalina.out 所在的目录下,执行命令,就会发现catal...
2020-01-09 09:32:34
2340
1
原创 笔记:redis连接错误:MISCONF Redis is configured to save RDB snapshots, but it is currently not able to ...
今天在使用redis时,像redis中写入数据时,出现错误:(error) MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because th...
2020-01-03 17:14:06
581
原创 mysql表中日期字段更新
mysql中可以使用DATE_ADD和DATE_SUB函数并用INTERVAL标示的时间间隔进行加减操作1. 修改表中发送时间字段push_time字段值增加7天update tableName set push_time = DATE_ADD(push_time,INTERVAL 7 DAY);2. 修改表中发送时间字段push_time字段值减少2天update tableName ...
2020-01-03 15:23:05
886
原创 不活跃用户激活----送积分
为了让一些不活跃的用户能重新打开使用我们的APP,公司决定给这些超过10天都未启动app的用户发送邮件和通知,送给用户5000积分,来让用户活跃。给用户发送邮件或者通知之后如果用户过了7天仍然没有活跃,再继续发送一次。我们的方案是:先圈出满足条件的用户,定义邮件发送的类型,设置好发送时间,存入待发送表中。如果7天以内用户启动app(但是没有点击获取积分的链接)或者点击邮件或者推送通知中的...
2020-01-03 15:17:01
347
原创 linux 快捷键制作(备份服务应用文件)
linux下快捷键制作1.在 /usr/local/sbin/目录下新建sh文件文件backupapp#年月日-时分作为路径curday="$(date +%Y%m%d-%H%M)"#创建文件夹mkdir /root/backup/$curday#复制tomcat中的应用 到备份目录中 application为应用cp /tomcat/webapps/application /...
2020-01-02 14:56:42
171
1
原创 java调用sql server存储过程
使用java调用带有输出参数的存储过程本例存储过程的作用为:查询用户输入的ip地址所在的位置信息(国家,省份,城市)USE [databaseName]GO/****** Object: StoredProcedure [dbo].[procedureName] Script Date: 12/27/2019 01:31:46 ******/SET ANSI_NULLS ONG...
2019-12-30 09:13:12
1049
原创 LeetCode 820: 单词压缩编码 Java实现
题目来源:力扣(LeetCode)820链接:https://leetcode-cn.com/problems/short-encoding-of-words给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A。例如,如果这个列表是 [“time”, “me”, “bell”],我们就可以将其表示为 S = “time#bell#” 和 indexes = [0, 2...
2019-12-27 11:20:52
5598
原创 Linux: cp 复制文件、文件夹到文件夹、mv重命名
补充cp该命令的各选项含义如下- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。 - d 拷贝时保留链接。 - f 删除已经存在的目标文件而不提示。 - i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。 - p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。 - r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必
2019-12-27 10:57:43
7204
原创 有return的情况下try catch finally的执行顺序
1.如果try代码块里有return语句,而finally代码块里没有return语句,程序会先执行finally代码块里的代码然后再执行try代码块里的return语句;2.如果try代码块和finally代码块里都有return语句,try代码块里的return语句会优先finally代码块里的return语句执行,但不会把返回的结果返回给主函数,而是会把finally代码块里return的...
2019-12-26 17:15:29
126
原创 idea:Circular placeholder reference 'jdbc.driver' in property definitions错误解决
代码里面改了一点东西,再次启动调试的时候报错了出现了一堆“Circular placeholder reference ‘jdbc.url’ in property definitions”类似的错误。在mybatis-applicationContext.xml中的配置如下:----------------------------------------------------------...
2019-12-26 14:29:50
5046
3
原创 SQLServer 存储过程调用
带有输入参数和输出的存储过程调用在sql server中调用方式简便执行方式DECLARE @country char(2),@region nvarchar(255),@city nvarchar(255)exec p_dbip_city_sByIp N’103.10.10.10’,@country OUTPUT ,@region OUTPUT ,@city OUTPUT...
2019-12-25 17:20:36
2106
原创 mysql事务隔离级别以及会出现的问题
一、事务的并发问题1.脏读:脏读就是指当一个事务正在访问数据并且对数据进行了修改,但是还没有提交时,另一个事务读取到了修改之后的数据,但是前面的事务进行回滚了,此时就出现了脏读。2.不可重复读:一个事务在查询数据时另一个修改数据的事务刚好提交,再次查询时,两次查询结果不一样。(即不能读到相同的数据内容)例如,一个编辑人员两次读取同一文档,但在两次读取之间,作者重写了该文档。当编辑人...
2019-12-17 15:13:10
1407
原创 mysql中触发器操作
不建议使用触发器----创建触发器DELIMITER $create trigger InsertArtistSetting after inserton ex_subcategoryInfo for each rowbegininsert into ex_artist_setting (artist_id, config_type, config_value) SELECT acco...
2019-12-17 11:29:44
101
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人