自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ChengHuanHuaning的博客

知识不应用来炫耀,而应帮我们成为更好的人

  • 博客(51)
  • 收藏
  • 关注

原创 JAVA线程池详解(ThreadPoolExecutor)

随着计算机行业的飞速发展,摩尔定律逐渐失效,多核CPU成为主流。使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器。如果你要成为一个好的工程师,还是得比较好地掌握这个知识,很多线上问题都是因为没有用好线程池导致的。即使你为了谋生,也要知道,这基本上是面试必问的题目,而且面试官很容易从被面试者的回答中捕捉到被面试者的技术水平。

2022-09-30 00:37:39 7601 3

原创 阿里Nacos系列——为什么要选择Nacos和Nacos的基础概念(持续更新)

前言本系列是从头开始进行学习Nacos的相关知识,从相关概念到业务开发等等。本篇是第一篇,主要了解下Nacos的基础信息,方便大家技术选型的一篇文章。入门篇:阿里Nacos系列——为什么要选择Nacos和Nacos的基础概念1 为什么要用Nacos1.eureka 2.0闭源码了。2.开箱即用,上手简洁,暂时也没发现有太大的坑。3.nacos使用的raft协议,nacos集群的一致性要远大于eureka集群.Raft 的数据一致性策略Raft 协议强依赖 Leader 节点来确保集群数

2021-04-08 16:51:37 8022 8

原创 微信小程序--保姆级别讲解小程序支付(内含代码,复制即用)

小程序支付是专门被定义使用在小程序中的支付产品。目前在**小程序中能且只能使用小程序支付的方式来唤起微信支付。所以我们作为程序员就需要去掌握学习微信小程序的相关知识。

2020-05-06 23:04:00 5033 7

原创 HUGO---4句代码让你搭建个人博客

hogo搭建个人博客这是我在网上看的其他人的博客和一些up主的视频,通过他们的分享成功搭建好了的案例.在这里我也进行总结一次,方便以后使用.也是方便大家做一个参考.如果文章含有错误,麻烦各位大佬指出了一下,免得误导了其他人.谢谢.其实搭建这个个人博客,除去切换目录和显示文件.只需要4个命令行语句就可以完成了.拭目以待搭建前准备下载hogo官方网站:https://gohugo.io官方...

2019-09-26 11:06:03 6331

原创 《MongoDB入门教程》 - MongoDB基础介绍

MongoDB是一种开源的文档型数据库管理系统,它以高度可扩展性、灵活性和性能而闻名。MongoDB采用了NoSQL(非关系型数据库)的设计理念,以面向文档的方式存储数据。

2023-05-16 00:34:41 472 1

原创 JAVA线程池 -clt设计与分析

1.ctl 是线程池源码中常常用到的一个变量。 它的主要作用是记录线程池的生命周期状态和当前工作的线程数。2. 作者通过巧妙的设计,将一个整型变量按二进制位分成两部分,分别表示两个信息。

2022-11-07 23:01:01 548

转载 java guava 集合的操作:交集、差集、并集

java guava 集合的操作:交集、差集、并集

2022-06-20 12:59:06 3613

原创 MySQL 使用 limit 分页会导致数据丢失、重复和索引失效

项目场景:作为程序员,经常写 SQL 语句是正常不过了,在项目中我们都会使用【limit】进行查询,但在最近几个项目中都出现异常。问题一:遗漏数据在XXX项目中,进行歌手分页查询使用limit进行分页拉取,但在结果统计数据中出现了数据缺失数据查询sql:SELECT count(*) FROM `xx` where is_china in (4,6)SELECT id FROM `xx` WHERE is_china IN ( 4, 6 ) LIMIT #{start},#{pageSize

2022-05-26 19:10:55 9805

原创 java运行项目,端口被占用解决方案

项目启动失败,发现端口被占用netstat -ano | findstr "9080"taskkill /f /pid 25080

2022-03-17 20:27:57 609

原创 ES(elasticsearch) - kibana导出csv

kibana导出csv图解式教学

2022-03-07 10:48:44 11232

转载 Java8两个集合(List)取交集、并集、差集、去重并集

import java.util.ArrayList;import java.util.List;import static java.util.stream.Collectors.toList;/** * @author ming * @version 1.0.0 * @date 2020/6/17 14:44 **/public class CollectionsTest { public static void main(String[] args) { L

2021-12-30 14:49:58 24870

原创 es深度分页解决方案 - 内含代码复制即用

文章目录es系列导航1. 为什么要使用Scroll进行深分页2. java实现深分页3.Scroll介绍4. 完整代码,复制即用es系列导航Elasticsearch第一篇:基本介绍Elasticsearch第二篇:es版本比较Elasticsearch第三篇:es的三种分页方式与优劣势比较Elasticsearch第四篇:java实现Scroll分页,内含代码复制即用1. 为什么要使用Scroll进行深分页1.from&size查询在数据量过大的时候,查询效率与数据量成正比2.ES

2021-06-08 18:18:44 3704 18

转载 ES(elasticsearch) - 三种姿势进行分页查询

es系列导航Elasticsearch第一篇:基本介绍Elasticsearch第二篇:es版本比较Elasticsearch第三篇:es的三种分页方式from + size 浅分页"浅"分页可以理解为简单意义上的分页。它的原理很简单,就是查询前20条数据,然后截断前10条,只返回10-20的数据。这样其实白白浪费了前10条的查询。GET test_dev/_search{ "query": { "bool": { "filter": [ {

2021-06-08 11:51:30 11682 1

原创 MYSQL大数据量分页查询优化 - 十万、百万级优化

在mysql大数据量的基础下,分页中随着页码的增加,查询时间也会响应的增加。所以到了百万级别的数据量时,我们就需要优化已有的查询代码进行合理有效的分页。

2021-06-08 10:07:41 2996

原创 APACHE KAFKA -- 基础介绍

APACHE KAFKA定义官方介绍:Apache Kafka is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.Apache Kafka是一个开放源代码的分布式

2021-05-07 15:40:38 196

原创 2021常见面试题汇总(持续更新)

2021常见面试题汇总1.Valatile的定义和使用?1.1 可见性1.2 有序性2.syc1.8之后有什么区别3.synchronized和Lock的区别4.redis如何进行大key或value值删除5.redis如何进行模糊搜索5.1使用keys进行模糊搜索5.2使用scan进行模糊搜索6.mysql的事物隔离级别7.jvm如何进行调优8.JVM如何保证永远不full gc9.Spring容器启动流程10.Spring如何实现IOC11.MQ实现防重复消费12.MQ实现顺序消费1.Valatile

2021-05-07 15:38:43 496

原创 阿里Nacos系列——配置中心为什么选择长轮询?

本系列是从头开始进行学习Nacos的相关知识,从相关概念到业务开发等等。本篇是第五篇,主要知道配置中心为什么选择长轮询?

2021-04-21 17:14:06 2705 1

原创 (超详细、带图带源码)Nacos注册中心的搭建与测试

本系列是从头开始进行学习Nacos的相关知识,从相关概念到业务开发等等。本篇是第三篇,主要知道为什么需要注册中心、为什么选择Nacos作为注册中心和Nacos作为注册中心的快速搭建。

2021-04-13 11:13:54 2274

原创 阿里Nacos系列——Nacos安装教程(带图--手把手教学)

前言本系列是从头开始进行学习Nacos的相关知识,从相关概念到业务开发等等。本篇是第三篇,主要知道为什么需要注册中心、为什么选择Nacos作为注册中心和Nacos作为注册中心的快速搭建。入门篇:阿里Nacos系列——为什么要选择Nacos和Nacos的基础概念入门篇:阿里Nacos系列——Nacos的核心概念搭建篇:阿里Nacos系列—Nacos安装教程(带图–手把手教学)1 Nacos下载Nacos官方地址:Nacos快速开始Nacos官方下载地址:https://github.com/

2021-04-12 14:58:48 25983 3

原创 阿里Nacos系列——Nacos的核心概念

前言本系列是从头开始进行学习Nacos的相关知识,从相关概念到业务开发等等。本篇是第二篇,主要了解下Nacos的核心组成入门篇:阿里Nacos系列——为什么要选择Nacos和Nacos的基础概念入门篇:阿里Nacos系列——Nacos的核心概念1 Nacos基础架构本篇是结合官方文档,进行自我总结的一篇文章,如果想了解全部的Nacos概念和架构:https://nacos.io/zh-cn/docs/concepts.html1.1 Nacos基本架构和概念Nacos服务发现分为客户端(

2021-04-09 18:14:32 1528 1

原创 java设计模式--观察者模式(附代码详细讲解)

当对象存在一对多关系时,则使用观察者模式。当一个对象被修改时,则自动通知依赖它的对象,但要考虑到易用和低耦合。例如:股票价格和股民

2021-01-11 21:58:34 708

原创 MQ(消息队列)系列学习---MQ如何保证消息队列高可用

如何保证消息队列是高可用的?1 RabbitMQ实现高可用1.1 普通集群(无高可用性,可提高吞吐量)1.2 镜像集群(高可用,但不能提高吞吐量)2 RocketMQ实现高可用2.1 多个master集群多Master模式2.2. 多Master多Slave异步模式(一般生产环境使用)2.3. 多Master多Slave同步模式(对数据可靠性要求高时使用)

2020-12-09 18:22:58 1834

原创 MQ(消息队列)系列学习---常用MQ组件比较

这是一个MQ的系列文章,主要由MQ的基础认识到深入了解,和针对不同业务对MQ的技术选型问题。通过文章了解不同MQ的各种区别,和使用MQ会存在的一些问题。

2020-11-28 11:09:08 2781

原创 MQ(消息队列)系列学习---MQ基础认识

这是一个MQ的系列文章,主要由MQ的基础认识到深入了解,和针对不同业务对MQ的技术选型问题。通过文章了解不同MQ的各种区别,和使用MQ会存在的一些问题。

2020-11-27 17:05:10 1275

原创 FastDfs优化---解决RuntimeException: Unable to borrow buffer from pool问题

@Override public WkArealimitTreeModel getAreaToSetAreaCode(Map<String,Boolean> mapLimit){ //一个父级对象 Map<String,Boolean> parentId = new HashMap<>(); //当前集合下内容 List<WkArealimitTreeModel> childList = new ArrayList<>();

2020-06-02 00:17:15 12835

原创 java设计模式--你真的学会单例模式了嘛?

文章目录前言一、什么是单例模式1.1 基本概念1.2单例模式的特点1.3 使用单例的注意事项二、为什么需要单例模式三、单例模式的常见写法3.1 立即加载与延迟加载3.1饿汉式单例3.2懒汉式单例3.3静态内部类单例3.4双重校验锁单例(最常用)3.5 小结四、枚举实现单例模式(最佳方式)4.1为什么不使用常规的模式实现单利4.2使用枚举实现单利的原因4.3使用枚举实现单利的好处:4.4实现五、单例面试题讲解1.请思考在一个jvm中会出现多个单例吗?前言现在是2020年5月12日22点51分,也是我重新开

2020-05-14 00:03:42 1923

原创 微信小程序人脸核身---快速入门到实战(附开发工具类,复制即用)

文章目录一、基本介绍1.概述2.功能特点3.使用场景二、术语概述基础参数说明DetectAuth(实名核身鉴权)GetDetectInfo(获取实名核身结果信息)三、基本接口说明使用DetectAuth(实名核身鉴权)GetDetectInfo(获取实名核身结果信息)四、开发工具类这里我们使用腾讯云的人脸核身来给大家做一个基础的介绍和使用一、基本介绍1.概述人脸核身:一般是对一组对用户...

2020-04-19 23:47:08 5127 3

原创 阿里OSS--快速入门到实战(附开发工具类,复制即用)

文章目录相关链接一.存储流程二.快速开发1.前期准备2.创建新的存储空间3.上传文件4.下载文件5.删除文件三.工具类分享相关链接Fastdfs—基本介绍和底层模型详解阿里OSS–官方文档阿里OSS–基本介绍阿里OSS–快速使用(附开发工具类)一.存储流程二.快速开发1.前期准备环境要求使用Java 1.7及以上版本。安装SDK:在Maven项目中加入依赖项(推荐方式)...

2020-04-19 15:29:57 2136

原创 阿里OSS--基本介绍

文章目录前言一.文件存储系统介绍1.储存系统的选择二.阿里OSS的基础介绍三.阿里OSS的基础概念存储空间(Bucket)对象/文件(Object)Region(地域)Endpoint(访问域名)AccessKey(访问密钥)强一致性数据冗余机制四.阿里OSS基础概念对比图(方便记忆理解)OSS 术语表前言相关链接Fastdfs—基本介绍和底层模型详解阿里OSS–官方文档阿里OSS–基本...

2020-04-19 14:41:36 2284

原创 java基础---基础面试题汇总

文章目录面试题汇总JAVAEE部分1. 线程与进程的区别?2.线程的创建方式继承Thread实现Runnable接口实现Callable接口 有返回值3.线程的状态(大致)4.解决线程安全1.同步 synchronized2.加锁 Lock5.底层基于数组(ArrayList)和基于链表容器(LinkedList)了的区别?6.ArrayList 和 LinkedList的区别?7.HashS...

2020-04-08 17:32:59 593

原创 Fastdfs---为什么选择使用Fastdfs和nginx?(附架构图)

文章目录1.为什么我们需要文件存储中间件1.传统方案的劣势2.使用中转目录的劣势2.为什么要选择fastdfs来作为中间件?1.选择方案2.原因3.那为什么还要结合nginx?4.搭建架构图在你看完这篇博客后我们可以解决以下问题:1.什么原因需要一个分布式文件系统?2.为什么要选择fastdfs来作为中间件?3.那为什么还要结合nginx?1.为什么我们需要文件存储中间件1.传统方案的劣...

2020-04-06 12:19:56 2830

转载 Fastdfs---基本介绍和底层模型详解

文章目录目录索引1.基本介绍目录索引Fastdfs—开源地址Fastdfs—基本介绍和底层模型详解Fastdfs—安装fastdfs和nginxFastdfs—安装常见报错处理大全1.基本介绍FastDFS是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker server)、存储服务器(storage server)和客户端(client)三个部分组成,主要解决了海量数据存...

2020-04-06 11:24:33 835

原创 遍历当前目录下的所有文件----常见面试题详解

1.遍历当前目录下的所有文件这种遍历题一般要使用递归来解决。因为思路简单,代码不复杂,执行效率高等三大优点,但比较吃内存。 /* * 解题思路 * 设计一个方法 该方法用于找出一个文件夹中的所有文件 * 1.拿到文件夹中所有的文件对象 * 2.判断文件对象是否是文件或者文件夹 * 3.如果是文件就进行输出名字 * 4.如果是目录就递归继续。 * * */...

2020-04-02 17:25:41 843

原创 Fastdfs—安装常见报错处理

文章目录目录索引1.nginx: [emerg] unknown directive "ngx_fastdfs_module" in /usr/local/nginx/conf/nginx.conf:40目录索引Fastdfs—安装fastdfs和nginxFastdfs—安装常见报错处理大全出这一篇文章是因为我感觉我已经把安装fastdfs中所有能踩的坑全都踩了一遍,经验十分丰富。所以...

2020-04-02 00:13:10 2583 1

原创 Fastdfs---安装fastdfs和nginx进行反向代理

文章目录目录索引1.安装环境使用的系统软件磁盘目录安装libfatscommon安装FastDFS安装fastdfs-nginx-module安装Nginx单机部署tracker配置storage配置client测试配置nginx访问目录索引Fastdfs—安装fastdfs和nginxFastdfs—安装常见报错处理目前虚拟机上已有git和nginx所有不用再安装1.安装环境使用...

2020-04-01 21:16:25 871 1

转载 Elasticsearch第二篇:es之间版本比较

文章目录一、前言二、版本号初始版本0.7升级1.0.0 版本2.0.0 版本新特性5.0.0 版本新特性6.0.0 版本新特性7.0.0 版本一、前言在学习Elasticsearch 时候,因为各个版本的问题,搞不清,非常的头疼,官方也给出了各个版本更新的情况,不过是英文版本,版本更新信息又特别多,最近学习,看了很多资料,没有一个整理很清楚的,然后自己就统一整理下,首先声明下面的整理都是各个版...

2020-03-31 23:18:11 10897 1

原创 Elasticsearch第一篇:基本介绍(入门必看系列)

文章目录一、简介二、特点三、基本概念1.2.1.Near Realtime(NRT)1.2.2.Index:索引库1.2.3.Type:类型1.2.4.Document&field结构概念图1.2.5.Cluster:集群1.2.6.Node:节点1.2.7.shard(分片)1.2.8.replica(复制品)集群概念图一、简介Elasticsearch是基于Lucene的不足,而推...

2020-03-31 18:42:29 868 2

原创 Git ---你必须掌握的常用命令

文章目录仓库配置增加/删除文件代码提交分支标签查看信息远程同步撤销其他这里我个人推荐一些适合git学习的网站git简易指南这个内容比较简单,看起来也不会太枯燥git详细教程这个可以帮助我们进一步学习git相关的操作下面开始一些我自己网上收集的一些常用命令,方便以后使用仓库# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ ...

2020-03-26 17:42:16 171

转载 【干货】自己总结的LOGBACK配置,没有理论只有干货

进入正题目的这次记录日志的目的,主要是方便‘安装部署工具’查看启动时的错误原因,需要实时输出日志到页面,方便运维排错,节约部署的成本。生成的日志要求:按照日志的不同的输出级别(debug info warn error)进行分类。保留30天的日志,日志名称为当天的日期。每个级别的日志最多保留10G大小。每天的日志文件达到20MB进行文件分割。上干货:<?xml vers...

2020-03-12 10:07:42 604

原创 MYSQL---深入理解底层优化

文章目录数据库优化关系型数据库的优化技术1.找出执行效率低的sql语句常用命令定位慢查询语句分析sql2.单机优化存储引擎:MyISAM 和 INNODB的区别索引1.索引分类2.使用索引3.注意事项4.复合索引和普通索引5.索引失效分表3.SQL优化技巧1.DDL优化2.DML优化3.DQL优化数据库优化前提:数据库三范式1.列不可分割2.行中数据要有唯一性,主键3.表中不能有冗余字...

2019-12-29 16:12:02 908

空空如也

空空如也

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

TA关注的人

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