自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 资源 (3)
  • 收藏
  • 关注

原创 Charles二次开发-接口解密

最近工作中对公司接口进行抓包,发现接口路径和返回都是经过加密的,对于查看接口路径及接口返回结果带来了不便,于是想到了对Charles进行小改造,在Charles上增加一个按钮对加密的请求、响应结果解密,本质是执行一个Java方法,然后将解密结果通过文本框显示出来,效果如下。结语:以上笔记已经非常详细,主要给自己做个记录,然后也能分享一下技术,如果有问题,不负责任,仅供参考,毕竟能做程序员的都不笨,别白嫖了文章,自己不会还要骂人。3.1,新建普通工程Custom-Decrypt,引入Charles.jar。

2023-04-09 20:09:51 1717 5

原创 @Controller和RequestMapping如何解析的

1,注解点进@RestController里面可以看到@Controller和@RsponseBody注解,这个注解是如何识别我们的请求路径的2,初始化2.1,AbstractHandlerMethodMapping重要的抽象类AbstractHandlerMethodMapping,实现了InitializingBean接口重写了afterPropertiesSet,InitializingBean是个接口有个重要方法afterPropertiesSet2.2,Init

2022-05-22 23:35:36 299

原创 spring集成caffeine缓存

1,官网wikicaffeine官网链接2,apiapi help3,引入pom依赖,注意caffeine版本,如果springboot版本太低引入高版本caffeine会报错倾向于只使用caffeine提供的pom,不用springboot集成的 cache start,如下 <!--caffeine本地缓存--> <dependency> <groupId>com.github.ben-m

2022-04-02 11:32:48 2391

原创 请求400错误的请求原因

springmvc会通过DispatcherServlet类doService方法处理请求,当请求接口参数类型错误时会提示400错误的请求,如果是参数过多不知道具体哪个参数类型有问题,而日志又没有输出进入DispatcherServlet类可以看到,日志打印类protected static final Log pageNotFoundLogger = LogFactory.getLog(PAGE_NOT_FOUND_LOG_CATEGORY);可以看到日志使用的是commons-loggin

2021-07-29 11:10:17 249

原创 Spring生命周期

学习心得1,学习spring生命周期是很有必要的,知道bean的创建过程,在实际项目中可以解决一些启动遇到的问题2,通过案例代码运行一遍理解会很快记住整个流程,不需要强记3,为了节约学习成本,案例都是摘抄然后略微修改便于理解4,同样面试时候很大概率会遇到这问题,一般只会问你spring生命周期大致重要的环节,而不会说完整的生命周期,完整的你也记不住示例代码1,创建一个Book类,里面实现了BeanNameAware,BeanFactoryAware,ApplicationContex

2021-02-20 11:18:12 873

原创 JAVA内存布局

java对象布局:java object layout1,对象头(object header)Mark Word:存储了对象的hashCode、GC信息、锁信息三部分class pointer:存储了指向类对象信息的指针。在32位JVM上对象头占用的大小是8字节,64位JVM则是16字节在64位JVM上有一个压缩指针选项-XX:+UseCompressedOops,默认是开启的。开启之后Class Pointer部分就会压缩为4字节,此时对象头大小就会缩小到12字节。数组:length(如果是

2021-01-30 18:15:06 249

原创 mysql读写分离搭建

CentOS7 64位安装MySql教程先检查系统是否装有mysqlrpm -qa | grep mysql下载mysql的repo源wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm报错: -bash: wget: 未找到命令安装插件 yum -y install wget安装mysql-community-release-el7-5.noarch.rpm包sudo rpm -ivh mysq

2020-06-15 10:56:19 138

原创 elasticsearch的命令

###1,es的命令GET _search{ "query": { "match_all": {} }}#新增索引的同时添加分片,不使用默认分片,分片的数量#一般以节点数平方计算,比如有3个节点,分片数量9个,3个主分片和6个副本#设置分片和副本方式一,创建索引时就指定PUT /testshards{ "settings":{ "number_of_shards":12, "number_of_replicas":1 }}

2020-05-21 00:08:06 237

原创 23种设计模式

23种设计模式装饰者模式概述在不改变原有对象的情况下,对其进行增强,装饰者模式有以下几个角色1,抽象被装饰者2,具体的被装饰者,实现抽象被装饰者,3,抽象装饰者,实现抽象被装饰者4,具体的装饰者,继承抽象装饰者案例说明场景:​ 假如商城有台电脑(Computer),买回来原装的(OriginalComputer),用鲁大师测试了下跑分17万分感觉不太够用,这时候我想对电脑进行增强,加装固态硬盘SSD(DecorateSSD)和加内存RAM(DecorateRAM)下面是案例的UM

2020-05-20 10:12:04 133

原创 elasticsearch7.6.2索引重建

#索引的重建#例如现在有一个档案索引,需要将title的keyword类型改成text类型,使用_reindex对索引重建#1,原有的索引如下PUT /achieves{ "mappings": { "properties": { "title": { "type": "keyword" ...

2020-05-06 17:57:36 465

原创 docker安装elasticsearch和kibana

1,克隆虚拟机,克隆完成选择MAC地址,避免与原虚拟机mac地址冲突2,es官网下载地址https://www.elastic.co/cn/downloads/elasticsearch打开官网后,选择下载方式,选择docker安装如果速度太慢配置镜像加速镜像加速配置方式一:阿里云镜像获取地址:https://cr.console.aliyun.com/cn-hangz...

2020-05-01 11:58:26 4094

原创 Linux定时执行shell脚本

目标:定时删除一分钟前创建的文件夹1,新建shell脚本文件,并授权:touch/opt/cron/auto-del-image-1days-ago.shchmod+x auto-del-image-1days-ago.sh2,编写脚本内容:viauto-del-image-1days-ago.shfind /opt/image/* -mmin +1 -exec rm ...

2019-09-29 16:12:10 215

原创 用nginx搭建视频链接

1,安装下载https://www.runoob.com/linux/nginx-install-setup.html2,nginx.conf配置 server { listen 80;#监听端口 server_name localhost;#域名 index index.html index.htm index.php; root /usr/lo...

2019-09-12 16:31:11 1429

原创 docker搭建maven私服

1,安装 Docker移除旧的版本:$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ ...

2019-08-14 23:32:03 115

原创 搭建分布式配置中心阿波罗

搭建分布式配置中心阿波罗安装:mysql安装方法:链接java8安装方法:链接准备:访问以上网址,在sql目录找到sql语句,执行mysql脚本,1,下载aplollo配置中心到本地:https://github.com/nobodyiam/apollo-build-scripts2,上传apollo-build-scripts-master.zip到服务器中3,修改demo.s...

2019-08-13 00:14:46 212

原创 Linux上Java的安装与配置

Linux上Java的安装与配置由于使用 yum 或者 apt-get 命令 安装 openjdk 可能存在类库不全,从而导致用户在安装后运行相关工具时可能报错的问题,所以此处我们推荐采用手动解压安装的方式来安装 JDK。具体步骤如下:1.下载 JDK进入 Oracle 官方网站 下载合适的 JDK 版本,准备安装。注意:这里需要下载 Linux 版本。这里以jdk-8u151-linux...

2019-08-11 21:42:32 124

原创 docker安装gitlab

下载最新镜像sudo docker pull gitlab/gitlab-ce:latest创建配置 (etc) 、 日志 (log) 、数据 (data) , 便于日后升级mkdir -p /mnt/gitlab/etcmkdir -p /mnt/gitlab/logmkdir -p /mnt/gitlab/data启动gitlabdocker run \ --deta...

2019-08-11 00:25:54 151

原创 Linux命令

1.删除除了包含ZG字母文件的所有文件rm -rf `ls |egrep -v *ZG`2,删除当前目录下所有 *.md文件,除了test.mdrm`ls*.md|egrep-vtest.md`3,查看tomcat进程ps -ef |grep tomcat4,杀死进程kill -9 进程id5,vi或vim(编辑)->i(插入)->esc-&gt...

2019-07-18 10:52:50 208

转载 mybatis插入数据返回主键

Mybatis获取插入数据的主键时,返回值总是1xml里的写法第一种方式<insert id="insertLogin" parameterType="com.xyt.p2p.pojo.LoginInfo" keyColumn="userId" useGeneratedKeys="true" keyProperty="userId"> INSERT INTO Logi...

2019-07-08 15:56:36 222

原创 git学习笔记

git学习一,安装配置和基本命令1,官网下载git2,安装git3,配置git账户和邮箱git config --global 一次性设置(基本不用)git config --system system 给当前用户设置git config --local 当前项目设置git config --local user.name “libin”git config --local us...

2019-07-07 22:49:58 146

原创 springcloud分布式配置中心

client@SpringBootApplication@EnableEurekaClientpublic class AppClientConfig { public static void main(String[] args) { SpringApplication.run(AppClientConfig.class, args); }}@RestControll...

2019-05-16 21:57:00 67

转载 ConcurrentLinkedQueue

ConcurrentLinkedQueue使用和方法介绍定义一个基于链接节点的无界线程安全队列。此队列按照 FIFO(先进先出)原则对元素进行排序。队列的头部 是队列中时间最长的元素。队列的尾部 是队列中时间最短的元素。新的元素插入到队列的尾部,队列获取操作从队列头部获得元素。当多个线程共享访问一个公共 collection 时,ConcurrentLinkedQueue 是一个恰当的...

2019-05-04 22:53:10 115

原创 dorker常用命令

------------1,启动docker------------------启动systemctl start docker重启docker服务systemctl restart docker重启docker服务sudo service docker restart关闭docker service docker stop 关闭docker systemctl...

2019-04-07 15:29:01 805

转载 基于Docker的redis集群搭建

Redis集群官方介绍:http://www.redis.cn/topics/cluster-tutorial.html基于Docker搭建Redis集群环境:6个节点,三主三从制作Redis镜像:docker build -f dockerfile -t jiang/redis-cluster:4.0.1 .dockerfile文件: 1 2 3 ...

2019-04-06 20:44:50 416

原创 1,多线程

1,多线程CountDownLatch和sychronized用法/** * @author Administrator * 原理:两个线程同时开启,第一个线程拿到锁,第二个线程拿到另外一把锁,双方都不肯释放锁, 造成双方互相抢占资源造成互相等待的现象,死锁 如何避免:不用使用同步代码块的嵌套(就是在一个同步代码块又写了一个同步代码块) */public c...

2018-12-23 21:35:00 137

转载 1,利用io流下载文件

1,利用io流下载文件@RestControllerpublic class FileController { @GetMapping (value = "download") public String download(HttpServletResponse response, Model model) { //通过文件名找出文件的所在目录 ...

2018-12-17 23:58:07 618

原创 构建树形菜单

构建树形菜单菜单实体类:public class Menu { // 菜单id private String id; // 菜单名称 private String name; // 父菜单id private String parentId; // 菜单url private String url; // 菜单图标 ...

2018-12-15 21:18:39 405

转载 java8中的Optional 类

Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException)。本质上,这是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空。Optional 是 Java 实现函数式编程的强劲一步,并且帮助在范式中实现。但是 Optional 的意义显然不止于此。我们从一个简单的用例开始。在 Java 8 之前,任何访问对象方法或属...

2018-12-04 22:43:19 99

转载 lambdas

Java中Lambda表达式的使用简介(译者注:虽然看着很先进,其实Lambda表达式的本质只是一个"语法糖",由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能。本人建议不要乱用,因为这就和某些很高级的黑客写的代码一样,简洁,难懂,难以调试,维护人员想骂娘.)Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功...

2018-12-04 22:29:43 258 1

原创 jconsole和springboot actuator监控中心

一,jconsole的监控本地tomcat1,打开tomcat下的bin路径,编辑catalina.bat2,在第一行加入,保存,然后启动tomcat,cmd窗口执行startup.batset "JAVA_OPTS=-server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=512m -...

2018-11-17 15:51:10 367

原创 win10安装msi文件提示2502

msi软件安装遇到2503时,运行着个命令msiexec /package +安装包位置 

2018-11-10 18:40:09 122

转载 Mybatis中关联查询讲解

首先要了解对象的三种关联方式*数据库表的关联关系有三种,一对一,一对多,多对多一对一   是通过在任意一方的主键,引入对方主键作为外键来实现的,就是说主键与外键为同一字段一对多   是通过在“多”的一方,添加“一”的一方的主键作为外键多对多   是通过一张中间关系表,引入两张表的主键作为外键,两个主键成为联合主键或使用新的字段作为主键*在java类中关联关系也有三种,一对一,一对多,...

2018-09-13 00:08:19 236

转载 Mybatis递归查询菜单

一、通过代码递归根据这个样子我们定义菜单类public class Menu { // 菜单id private String id; // 菜单名称 private String name; // 父菜单id private String parentId; // 菜单url private String url; ...

2018-09-12 23:51:05 4051 1

原创 SpringBoot热部署

POM需要加的1,加依赖&lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-devtools&lt;/artifactId&gt; &lt;scope&gt;provided&lt;/scope&gt;&lt

2018-09-02 21:20:14 146

原创 jdk环境变量配置

(1)新建-&gt;变量名"JAVA_HOME",变量值"C:\Java\jdk1.8.0_05"(即JDK的安装路径) (2)编辑-&gt;变量名"Path",在原变量值的最后面加上“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin” (3)新建-&gt;变量名“CLASSPATH”,变量值“.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.j...

2018-08-18 21:43:32 94

转载 PageHelper分页不起作用

&lt;bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"&gt; &lt;property name="dataSource" ref="dataSource"/&gt; &lt;property name="mapperLocations" val

2018-08-11 17:14:27 1134

转载 MAVNE配置

Maven配置及本地仓库设置一、Maven安装及配置 下载maven的bin,在apache官方网站可以下载。 如下图,选择对应文件下载即可。 下载下来之后,解压,找个路径放进去, 把bin的位置设在环境变量里,新建环境变量MAVEN_HOME 在PATH里加入maven的bin的路径 由于Maven依赖Java运行环境,因此使用Maven之前...

2018-08-04 08:32:37 478

原创 date和时间字符串的转换

 1,获取系统时间方法一String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());System.out.println(time);// 注:把time转成date Date date= sdf.parse(time );// 另外HH代表24小时,hh12小时 2,获取系统时间方...

2018-08-02 15:12:26 541

原创 SpringBoot设置定时任务

1,SpringBoot设置定时任务,如每隔5秒输出一段内容。(这是springboot自带的定时任务,不需要依赖,相比quartz简单易用)编程式写法:首先实现SchedulingConfigurer,然后重写configureTasks方法,再设置:1,需要执行任务,2,设置时间(参考QuartZ cron表达式)。还不明白?新建一个springboot项目,把这段代码复制执行...

2018-08-01 14:35:22 214

原创 日志log4j配置使用流程

所需jar:log4j-1.2.17.jar参考:https://blog.csdn.net/sunny_na/article/details/552120291,日志级别DEBUG &lt; INFO &lt; WARN &lt; ERROR &lt; FATAL虽然在代码写的时候你用debug info error都是可以,但是为了方便管理,只有调试的时候才用到日志会用debug,一些信息类的...

2018-06-17 16:38:47 168

github-mall-master学习.zip

开源mall学习 开源mall学习 开源mall学习 电商项目,mongodb,es等案例

2019-07-22

ssh所有jar(架包)

ssh中所有jar包,需要建立普通工程丢jar包的,免去一个一个去找

2018-05-14

springboot系统学习

1,springboot的入门,快速开发简单工程 2,springboot中freemmaker使用 3,springboot中redis使用 4,springboot中redis使用 5,springboot中Elasticsearch使用 6,springboot中dubbo使用 7,springboot与mybatis整合 8,springboot中data-jpa案例

2018-05-14

空空如也

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

TA关注的人

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