自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一次POST调用,响应结果乱码问题排查(2)

一次POST请请求分析

2022-07-20 18:23:48 970 1

原创 一次POST调用,响应结果乱码问题排查(1)

RestTemplate POST 请求乱码排查

2022-07-14 11:37:18 1294

原创 @Valid解决无法校验List问题

1. 注解@Validated将注解添加到当前类上2. 实现List接口https://blog.csdn.net/weixin_43831204/article/details/111669602

2021-11-08 12:02:41 921 1

原创 findbugs 相关

文章目录0. 当遇到系统中允许该bug出现,但是fingbugs不过时,解决办法1. 首先配置排除bug的xml文件2. 在pom.xml指定该配置文件的路径1. Bug kind and pattern: NP - NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH翻译代码示例产生原因解决办法2. Bug kind and pattern: NP - NP_NULL_ON_SOME_PATH翻译代码示例产生原因解决办法3. Bug kind and pattern: ES - ES

2021-10-28 15:05:29 1887 1

原创 TreeSet + Comparable 实现根据对象某个字段进行排序

简述由于项目中业务要求,需要API接口的响应的 set 数据要按照字符串的自然顺序排序。示例:// 未做排序前的接口响应(从authKey来看,set中的结果是无序的):{ "code": 200, "msg": "接口调用成功", "data": [ { "name": "任务", "authKey": "task" }, { "name": "权限", "authKey": "auth" }, { "name": "统计", "aut

2021-08-30 12:40:33 265

原创 Redis 9 种数据结构简述

目录一、简介二、Redis 内部编码三、5种最基本数据结构1. String(字符串)1.1 内部编码1.2 应用1.3 数据结构1.3.1 什么是简单动态字符串(SDS)1.3.2 SDS 的数据结构1.3.3 SDS 与 C语言字符串的区别1.3.3.1 获取字符串长度1.3.3.2 杜绝缓冲区溢出1.3.3.3 减少修改字符串时带来的内存重分配次数1.3.3.3.1 空间预分配1.3.3.3.2 惰性空间释放1.3.3.4 获取字符串长度1.3.3.5 兼容部分 C 字符串函数1.3.3.5 总结1

2021-08-05 13:24:06 12085 2

原创 Elasticsearch 启动报错:Failed to create native process factories for Machine Learning

报错信息如下:[2020-08-28T15:37:24,219][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [bkeP-hQ] uncaught exception in thread [main]org.elasticsearch.bootstrap.StartupException: ElasticsearchException[Failed to create native process factories for Machine L

2020-08-29 14:26:40 655

原创 ajax + jfinal 上传文件同时携带多个参数

上传时,JSP文件:<%@ page language="java" pageEncoding="UTF-8" %><%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %><%@ taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt" %><%@ taglib prefix="fn" uri="http://java.sun.co

2020-08-14 11:40:30 321

原创 Java web 文件下载时,下载接口即能返回Json串又能返回文件流

前端:哈哈哈哈哈33333_111111111eeeeeeeeeeeeeeeeeee_话单号码_20200810-174122.xlsx // 中文解码处理 function decodeUtf8(bytes) { var encoded = ""; for (var i = 0; i < bytes.length; i++) { encoded += bytes[i].toString(16)

2020-08-10 18:01:36 7350

转载 SpringBoot自动配置原理

Java 注解(Annotation)0. SpringBoot启动类配置SpringBoot 项目的一切都要从 @SpringBootApplication 这个注解开始说起。@SpringBootApplication是一个组合注解,用于快捷配置启动类(应用程序入口)。@SpringBootApplicationpublic class SoJptSpringbootApplication { public static void main(String[] args) { .

2020-07-06 01:45:35 299 2

转载 SpringBoot 启动过程

在看源码的过程中,我们会看到以下四个类的方法经常会被调用,我们需要对一下几个类有点印象:ApplicationContextInitializerApplicationRunnerCommandLineRunnerSpringApplicationRunListener下面开始源码分析,先从 SpringBoot 的启动类的 run() 方法开始看,以下是调用链:SpringApplication.run() -> run(new Class[]{primarySource}, args

2020-07-06 01:45:00 195

转载 @Import注解浅析

参考:SpringBoot自动配置原理,这篇文章讲透了!@Import注解【Spring提供】@Import 注解支持导入普通 java 类,并将其声明成一个bean。主要用于将多个分散的 java config 配置类融合成一个更大的 config 类。@Import 注解在 4.2 之前只支持导入配置类。在4.2之后 @Import 注解支持导入普通的 java 类,并将其声明成一个 bean。@Import 三种使用方式直接导入普通的 Java 类。配合自定义的 ImportS.

2020-07-06 01:07:54 183

转载 SpingBoot自动配置原理简述

https://mp.weixin.qq.com/s/RnnqVNsalHOV_tqASllHvw1. @SpringBootApplication注解SpringBoot 项目的一切都要从 @SpringBootApplication 这个注解开始说起。@SpringBootApplication是一个组合注解,用于快捷配置启动类。@SpringBootApplication 标注在某个类上说明:这个类是 SpringBoot 的主配置类。SpringBoot 就应该运行这个类的 main.

2020-07-05 23:49:37 241

原创 Zookeeper简介

分布式系统简介Zooleeper简介为什么选择ZookeeperZookeeper特性Zookeeper架构Leader选举全新启动期间-Zookeeper选举#运行期间-Zookeeper选举数据节点ZnodeZnode节点类型Znode-Watcher监听机制应用场景...

2020-07-05 20:27:58 34

原创 Java 相关知识收录

1. 面试集合https://mp.weixin.qq.com/s/zdtCNF-bbkLL1t0MEK41rA

2020-06-21 22:54:53 141

原创 Java 多线程相关的面试题收录总结

注: 史上最全Java多线程面试题及答案1. 进程和线程的区别是什么?1)进程是操作系统分配资源的最小单位;线程是cpu调度的最小单位。2)进程与进程之间的资源是独享的;线程之间的资源是共享的。3)操作系统中可以有多个进程(一个程序就是一个进程),一个进程包含多个线程。2. 线程的生命周期及五种基本状态。1)新建状态(new):当线程对象创建后,即进入了新建状态,如:Thread t = new MyThread();2)就绪状态(Runnable):当调用线程对象的start()方法,线.

2020-05-24 02:22:10 205

原创 Java有几种常见的线程池

注:本文目的在于整理线程池相关知识,避免面试时不知道该说什么。1. 四种线程池1.1 NewCachedThreadPool创建一个可缓存的线程池。如果线程池的大小超过了处理任务所需要的线程,那么就会回收部分空闲(60秒不执行任务)的线程,当任务数增加时,此线程池又可以智能的添加新线程来处理任务。此线程池不会对线程池大小做限制,线程池大小完全依赖于操作系统(或者说JVM)能够创建的最大线程大小。适用:执行很多短期的任务public static ExecutorService newCach.

2020-05-24 01:56:48 262

原创 Java 数组排序实现

package shanxi.weinan.sfproject;/** * 数组 * 为什么数组要从0开始编号,而不是从1开始呢? * 数组"下标"最确切的定义是"偏移(offset)",即a[0]就是偏移为0的位置,也就是首地址,a[k]就是偏移k个type_size的位置,则得到下面公示 * a[k]_address = base_address + k * type_size * 如果下标从1开始,公示为: * a[k]_address = base_address

2020-05-24 00:30:19 195

原创 Java LRU算法实现

LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。package shanxi.weinan.sfproject.lru;import java.util.Scanner;/** * 基于单链表实现LRU算法 */public class LRUBaseSingleLinkedList<T> { /** * 链表默认容量 */.

2020-05-24 00:28:33 304

原创 java二叉树实现及前、后、中序遍历,层级深度

深入学习二叉树(一) 二叉树基础 package shanxi.weinan.sfproject.bst;public class BinarySearchTree { private Node tree; /** * 添加节点 */ public void insert(int data) { if (null == tree) { tree = new Node(data); re.

2020-05-24 00:25:59 181

原创 DataGrip通过ssh连接远程主机mysql,mac、windows通用

需求1.想通过datagrip直接连接远程主机上的mysql。困难1.出于安全考虑,远程主机上的mysql 3306端口并没有对外开放,因此不能像本地连接数据库那么方便。解决过程1.在windows下通过xshell建立隧道,即可将远程主机上的mysql端口进行映射到本地指定端口,这样与需要连接数据库时,都需要进行使用xshell登陆远程主机,否则数据库是连接不上的。通过xshell ...

2020-01-01 20:47:20 9992 2

原创 Java之使用poi导出excel文件,并为特定单元格加锁

使用 SXSSFWorkbook 进行Excel导出下载注意:测试结果没有达到预期,那换个方式试试参考:1.https://blog.csdn.net/aiza4108/article/details/1011298942.https://blog.csdn.net/cc_yy_zh/article/details/78772217我想要的需求1.导出的excel表头不能被修改...

2019-12-27 16:15:49 3068 4

原创 Java之使用poi导出excel文件及文件格式设置为文本

使用 XSSFWorkbook 进行Excel导出下载注意:该方法是将Excel中指定列的单元格格式设置为文本格式1.excel模版导出工具类package com.qzlink.util.excel;import com.jfinal.core.Controller;import com.jfinal.plugin.activerecord.Record;import java...

2019-12-21 18:16:03 4397

翻译 为什么要学习网络协议

前言《圣经》中有一个通天塔的故事,大致是说,上帝为了阻止人类联合起来,就让人类说不同的语言。人类无法沟通,达不成“协议”,通天塔的计划就失败了。后来出现了,一种“程序猿”的物种,敲着一种这个群体通用的语言,连接着全世界所有的人,打造着互联网世界的通天塔。但是,要想打造互联网世界的通天塔,只教给一台机器做什么是不够的,需要教会一大片机器做什么,这就需要网络协议来进行。只有通过网络协议,才能使一...

2019-11-10 14:50:17 605

原创 强引用、软引用、弱引用、幻想引用有什么区别?具体使用场景是什么?

不同的引用类型,主要体现的是对象不同的可达性状态和对垃圾收集的影响。强引用强引用(Strong Reference),就是最常见的普通对象引用,只要还有强引用指向一个对象,就表明这个对象还活着,垃圾收集器就不会回收这个对象。对于一个普通对象,如果没有其他引用关系,只要超过了引用的作用域或者显示将其(强)引用赋值指为null,就可以被垃圾收集了。软引用软引用(Soft Referenc...

2019-07-04 10:06:58 234

原创 java 笔试题

向你说声对不起目录一、数据库1.1 问答题二、编程方面1. 填空2. 编程三、进阶专业知识1. web类一、数据库1.1 问答题请说明数据库主键、外键作用,以及建立索引的好处和坏处。主键:唯一标识一条记录,不能重复、不允许为空(三泛式中规定)作用:约束唯一标识数据库中的每条记录个数:每个表应该有一个主键,并且每个表只有一个主键。外键:用来指向另一个表中的主键,外键可以重复...

2019-06-25 20:27:02 654 1

原创 java类加载器,加载原理简述

本文只是对类加载器的加载原理做一简述,如有不对,请指正。1. 加载方法原理图2. 类加载器原理简述自己编写一个Myclass.java文件。在运行该文件时,首先通过javac Myclass.java 将该文件编译成Myclass.class文件(默认会在当前目录下)。通过类加载器将Myclass.class文件加载到JVM中的运行时数据区,再通过执行引擎将加载到运行时数据区的字...

2019-06-24 01:16:54 341

原创 Ubuntu16.04 下切换python虚拟环境

ubuntu16.04 下切换Python的虚拟机环境引言:在PyChram下构建了一个定时任务,在PyChram中的“Terminal”中执行正常。就想着把这个定时任务部署到服务器上,突然发现这个定时任务与运行不了了。原因就是虚拟环境的不同造成的,因此先切换虚拟环境,再执行定时任务。1. 激活这个虚拟环境cd 进入项目的venv同级路径下,执行如下命令source venv/bin/...

2019-06-18 09:41:25 951

原创 创建多线程有四种方式

创建多线程有哪几种方式创建多线程共有四种方式:继承Thread类创建多线程实现Runnable接口创建多线程实现Callable接口通过FutureTask包装器来创建Thread多线程使用ExecutorService、Callable、Future实现有返回结果的线程。1. 继承Thread类2. 实现Runnable接口3. Callable + Future4. Ex...

2019-06-18 09:25:49 1981

原创 volatile关键字的作用

volatile 关键字的作用引言:笔试碰到volatile关键字是否可以保证线程安全,因此记录下volatile到底是一个什么。1. volatile不能保证多线程安全满足多线程安全的三要素:可见性、顺序性、原子性。volatile只能满足可见性、顺序性。2. volatile 作用2.1 可见性2.1 顺序性...

2019-06-17 20:46:29 740

原创 Ubuntu 16下 AnyProxy + ios 抓包环境配置

目录AnyProxy及依赖环境的安装联调AnyProxy + iosAnyProxy及依赖环境的安装nodejs、 npm、AnyProxy、pm2安装// 安装nodeapt-get install nodejs-legacy// 查看版本node --version// 安装npmapt-get install npm// 查看版本npm --version// ...

2019-06-11 00:29:03 895

转载 Ubuntu16 升级nodejs版本(转)

背景Ubuntu 16,使用apt-get下载的nodejs版本最新版本为v4.2.6,而AnyProxy需要的nodejs版本大于等于6.0.0以上版本解决办法sudo npm intsall n -gsudo n stable备注n 是一个Node工具包,它提供了几个升级命令参数:n 显示已安装的Node版本;n latest 安装最新版本的Node;n stable 安装...

2019-06-10 17:04:18 1506

原创 Spring Boot常用注解

目录注解(annotations)列表及概述1、@SpringBootApplication2、@Configuration3、@EnableAutoConfiguration4、@ComponentScan5、@Component6、@RestController7、@Autowired8、@PathVariable9、@JsonBackReference10、RepositoryRestRes...

2019-06-10 01:14:39 202

转载 如何使用CSDN写博客

https://blog.csdn.net/cungudafa/article/details/84658703

2019-06-09 23:48:01 436 1

转载 Centos7搭建Chrome + ChromeDrier无界面浏览器

Centos7搭建Chrome + ChromeDrier[无界面浏览器]安装Chrome安装ChromeDriver测试代码安装Chrome指定yum源wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo下载并安装curl https://intoli.com/ins...

2019-05-14 11:42:51 1282

空空如也

空空如也

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

TA关注的人

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