自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 学习笔记之装箱与拆箱、常量池、StringBuffer与StringBuilder、forEach原理

学习笔记之装箱与拆箱、常量池、StringBuffer与StringBuilder装箱与拆箱自动装箱自动拆箱补充说明常量池运行时常量池在内存模型中的位置常量池分类常量池的好处示例分析String、String Buffer与String Builder线程安全运行速度String最慢的原因StringBuilder比StringBuffer快的原因总结装箱与拆箱  &nbs...

2019-04-21 18:41:31 252

原创 重温ES~

重温ES对应关系搜索类型简单搜索DSL搜索全文搜索短语搜索高亮对应关系Relational DB -> Databases -> Tables -> Rows -> ColumnsElasticsearch -> Indices -> Types -> Documents -> Fields搜索类型简单搜索使用Get关键词,GET /megacorp/employee/_search?q=last_name:Smithq=用来传递参数DSL搜索

2021-08-01 01:56:01 188

原创 Guava异步事件EventBus解析

EventBus源码分析EventBus是guava提供的适用于进程间的消息通信的一个工具,常常用于轻量级的异步数据同步场景。使用EventBus可以使得业务逻辑解耦,并进行公用逻辑的抽象,一定程度上精简了业务代码。EventBus使用说明1)引入依赖2)编写工具类如下:import com.google.common.eventbus.EventBus;import org.springframework.stereotype.Component;@Component@SuppressW

2020-06-04 10:21:26 1203

原创 java8特性之forEach篇

java8特性之forEach篇forEach介绍使用条件迭代原理性能forEach介绍forEach是java8的特性之一,它可以大大简化代码的操作,比如有关HashMap的操作:HashMap<Integer, String> hashMap = new HashMap<>(3);hashMap.put(1, "张三");hashMap.put(2, "李四"...

2019-11-02 17:40:29 4851 2

原创 Java8特性之Stream篇

Java8特性之Stream篇Stream介绍处理过程API创建流中间操作API1)distinct2)filter 过滤3)map 根据指定的函数进行转化4)limit 获取指定数量的元素5)skip 获取去除指定数量之后的元素6)sorted 排序7)peek8)flatMap终端操作API1) allMatch 查找匹配2)anyMatch3)noneMatch4)findFirst5)f...

2019-10-23 21:22:40 615 1

原创 Tomcat学习之线程模型(三)

Tomcat学习之线程模型种类配置方式概念介绍同步、异步阻塞、非阻塞Java对BIO、NIO、AIO的支持使用场景线程模型BIOLimitLatchNIO压测并发测试Jmeter工具下载与使用1)下载2)解压3)使用1:新建线程组2:设置线程组参数3:新增http请求默认值4:添加要压测的http请求5:新增监听器,用于查看压测结果。6:运行压测结果种类tomcat一共有四种线程模型,如下:...

2019-10-14 21:24:44 264

原创 Tomcat源码学习之Connector(二)

Tomcat源码学习之ConnectorConnector结构Connector类Connector的创建ProtocolHandler类EndpointProcessorAdaperMapper存储结构MapElementMappedHostMappedContextMappedWrapperMapper类体现ConnectorConnector 用于接收请求并将请求封装成Request 和...

2019-10-10 15:55:00 202

原创 你应该了解的一些Tomcat基本概念(一)

你应该了解的一些Tomcat基本概念Tomcat介绍简介其他的一些Web服务器目录结构工作流程组织架构容器EngineEngineHostContextWrapperPipeline源码剖析1)Valve2)Pipeline1:startInternal2:setBasic3:addValve4:getValves5:removeValve6:getFirstAccessLogRealmserve...

2019-09-25 21:58:49 477

原创 Redis管理工具CacheCloud的部署与使用

Redis管理工具CacheCloud的部署与使用Git项目地址CacheCloud作用下载1)下载项目2)导入表结构启动1)配置CacheCloud项目2)启动1:编译2:拷贝war包(cachecloud-open-web/target/cachecloud-open-web-1.0-SNAPSHOT.war)到/opt/cachecloud-web下3:拷贝配置文件(cachecloud-o...

2019-09-22 18:10:06 938

原创 学习谷歌开源工具Magenta

学习谷歌开源工具MagentaMagenta介绍下载Python(Centos)1)安装依赖包2)下载python3)解压4)建立一个空文件夹,存放python35)执行配置文件,编译,编译安装6)建立软连接7)测试安装magenta1)升级pip32)下载前置东西3)下载Magenta由于种种原因,放弃Centos,转战ubuntu18下载python1)前置2)下载python3安装magen...

2019-09-21 23:08:52 1296 3

原创 Redis学习之缓存问题(五)

Redis学习之缓存问题(五)缓存缓存粒度控制三个角度缓存穿透原因如何发现解决问题代码缓存雪崩原因解决无底洞问题优化问题关键点优化IO的几种方法热点key**重建**目标解决互斥锁(mutex key)永远不过期缓存缓存粒度控制三个角度1)通用性:全量属性更好。2)占用空间:部分属性更好。3)代码维护:表面上全量属性更好。缓存穿透定义:大量请求不命中。原因1)业务代码自身问题。...

2019-09-18 22:39:46 173

原创 Redis学习之Redis Cluster规范(四)

Redis学习之Redis Cluster规范(四)Redis集群规范Redis集群目标实施子集Redis集群协议中的客户端和服务器角色写安全可用性性能为什么避免合并操作key分发模型键哈希标签集群节点属性集群总线集群拓扑节点握手MOVED重定向集群实时重配置ASK重定向客户端首次连接和处理重定向多键操作使用从节点缩放读取心跳和gossip消息心跳包内容故障检测集群Current epochCon...

2019-09-18 22:38:17 412

原创 Redis学习之Redis Cluster(三)

Redis学习之Redis Cluster(三)Redis ClusterRedis ClusterRedis集群TCP端口Redis集群和DockerRedis集群数据分片Redis Cluster主从模型Redis集群一致性保证Redis集群配置参数创建和使用Redis集群创建集群使用create-cluster脚本创建Redis集群玩集群使用redis-rb-cluster编写示例应用程序重...

2019-09-18 22:35:39 380

原创 Redis学习之主从复制(二)

Redis学习之主从复制(二)主从复制工作原理全量复制开销部分复制配置具体步骤只读slave开发中运维的常见问题读写分离规避全量复制规避复制风暴Redis SentinelSentinel的分布式特性获得哨兵运行Sentinel在部署之前要了解Sentinel的基本知识配置Sentinel其他Sentinel选项示例Sentinel部署例1:只有两个哨兵,不要这样做示例2:具有三个框的基本设置具体...

2019-09-18 22:33:26 217

原创 Redis学习之数据结构与持久化(一)

Redis学习之数据结构与持久化(一)API的使用通用命令速度快的原因数据结构和内部编码Stringset命令mget、mset命令HASH相关命令:ListCapped lists(上限列表)SetSorted sets配置建议maxToTalmaxIdle&&minIdle(最大空闲数与最少空闲数)redis常用功能慢查询两个配置命令运维经验PipelineRedis Pipe...

2019-09-18 22:31:27 314

原创 Java尝试连接Sentinel时,抛出Could not get a resource from the pool异常

Java尝试连接Sentinel时,抛出Could not get a resource from the pool异常问题描述RedisUtilmain解决思路总结问题描述前几天兴致冲冲的学习了哨兵模式,并且能够在阿里云上自己实现了redis-sentinel的一些功能,今天尝试去用java客户端去连接sentinel时发生了一系列意外,启动时便抛出了Could not get a reso...

2019-09-14 21:51:13 1435 9

原创 Maven介绍

Maven介绍什么是Maven历史目标创建创建一个工程编译jar包Java9或者之后的版本Maven阶段快速开始创建工程编译Maven我如何编译我的测试源并运行我的单元测试?如何创建一个JAR并将其安装到本地存储库中?什么是快照版本?我如何使用插件?如何向JAR添加资源?如何过滤资源文件?我如何使用外部依赖?依赖传递依赖范围依赖管理引入依赖项系统依赖Optional & Exclusion...

2019-08-28 17:24:35 346

原创 Springboot启动后频繁打印错误日志 /null/swagger-ui.html解决方案

Springboot启动后频繁打印错误日志 /null/swagger-ui.html解决方案报错信息解决办法报错信息2019-05-30 12:59:48.331 WARN 5032 --- [nio-8081-exec-9] o.s.web.servlet.PageNotFound : No mapping for GET /chem/grids.html201...

2019-08-14 09:44:59 3422 2

原创 RabbitMQ学习(概念以及安装教程)

RabbitMQ学习(概念以及安装教程)主流消息队列介绍ActiveMQ集群架构模式KAFKA集群模式RocketMQ(收费)集群架构RabbitMQ集群架构初始RabbitMQRabbitMQ高性能的原因什么是AMQP高级消息队列协议?AMQP协议模型AMQP核心概念RabbitMQ的整体架构RabbitMQ安装与使用打开官网点击右侧2,进入下载页面。下载RPM版本。下载erlang安装Soca...

2019-08-04 18:50:11 124

原创 Elasticsearch,Kibana下载安装教程,相关概念及操作

Elasticsearch下载安装教程,相关概念及操作安装Kibana下载开始使用ES相关概念探索集群部分集群健康列出索引创建索引索引和查询文档删除索引总结修改数据替换文档更新文档删除文档批量操作探索数据搜索API介绍查询语言执行搜索执行过滤器执行聚合设置ES配置ES配置JVM选项安全设置创建密钥库列出密钥库设置添加字符串设置添加文件设置删除设置可重新加载的安全设置JAVA API导入依赖.pro...

2019-07-28 20:41:36 297

原创 SpringBoot整合Token

SpringBoot整合TokenJWT什么是JSON Web Token?什么时候应该使用JSON Web令牌?什么是JSON Web令牌结构?HeaderPayloadSignature全部放在一起JWT工作原理SpringBoot集成引入依赖定义注解定义实体类编写TokenServiceImpl编写拦截器配置拦截器controller-api接口调试调用getMessage()调用login...

2019-07-20 20:15:23 2768 1

原创 Java操作Word

Java操作WordPoi工具添加Poi依赖导出导入使用Freemarker模板进行生成添加freemarker依赖导出补充循环操作Poi工具Apache的POI,是Apache软件基金会的开放源码函式库,POI提供API给Java程序对MicrosoftOffice格式档案读和写的功能。POI读写Excel功能强大、操作简单。但是POI操作时,一般只用它读取word文档,POI只能能够创建...

2019-07-20 17:41:26 599 1

原创 Java操作Excel

Java操作Exceleasypoi添加依赖导出实体类导出调用接口导入导入调用接口合并单元格导出实体类定义:导出导出结果优化与合并:结果:多sheet导出定义基础配置对象。解析Poi导出图片到Excel多EXCEL打包Zip包解压,获取excel文件并进行分析本文主要使用poi与easypoi工具来操作excel。easypoi官方文档:http://easypoi.mydoc.io/#te...

2019-07-20 17:16:09 1217

原创 MongoDB图形化工具的使用与java操作

MongoDB图形化工具的使用与java操作MongoDB Compass Community下载安装使用介绍MongoDB概念新建数据库删除数据库新建集合删除集合新增文档删除文档修改文档查询文档Java操作mongodb添加依赖添加配置编写配置类编写实体类编写dao层编写接口类实现接口调用接口返回数据:使用图形化工具查看是否正确:MongoDB Compass Community下载要从具...

2019-07-20 16:45:33 975

原创 Swagger的使用

Swagger的使用何为Swagger添加依赖启动类项目配置类配置拦截器常用APIApi注解ApiOperation注解ApiParam注解ApiModelProperty注解swagger页面何为Swagger设计是API开发的基础。Swagger使API设计变得轻而易举,为开发人员,架构师和产品所有者提供了易于使用的工具。——官网1)具有准确的API模型API设计容易出错,在建模API...

2019-07-20 16:00:31 1107

原创 Jenkins的搭建与使用

Jenkins的搭建与使用在linux配置git公钥到github上安装git生成密钥添加密钥在linux安装maven具体步骤:在linux安装Jenkins安装方法一安装方法二配置Jenkins自动构建Maven的Freestyle Job项目时区规范自动构建Maven的Pipeline Job项目在linux配置git公钥到github上安装git安装git的目的是在自动化部署前实时从...

2019-07-20 15:06:43 193

原创 2019年7月最新最全的dubbo-admin平台搭建详细过程

2019年7月最新最全的dubbo-admin平台搭建详细过程项目介绍项目下载项目架构说明dubbo-admin-server项目配置dubbo-admin-ui项目配置安装nodejs运行运行Dubbo项目总结项目介绍应用截图:如图所示,dubbo-admin是一个dubbo的后台管理与监控平台。可以提供服务查询,服务治理,条件路由,黑白名单,负载均衡等功能操作,十分方便。接下来本人会提...

2019-07-18 09:19:11 2376

原创 搭建简易的dubbo项目

搭建基于springboot的dubbo项目踩坑记搭建项目最终结构创建maven项目providerpom.xmlservice属性配置启动项consumerpom.xmlcontroller属性配置启动项调用结果踩坑环节1)数据源没有自动配置解决方案1解决方案22)服务方正确启动,但是无法调用服务中的方法解决方案1解决方案23)数据库绑定异常解决方案总结搭建dubbo作为最常用的分布式框架之...

2019-07-13 22:39:05 413

原创 MongoDB安装教程

Linux操作系统MongoDB的安装安装步骤主要命令安装步骤Linux mongodb具体安装过程可以参考官网。官网地址为https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/ ,具体步骤如下:1)使用命令cd /etc/yum.repos.d/,进入yum仓库,接着使用命令touch mongodb-or...

2019-07-04 22:09:22 76

原创 MemCache安装教程

Linux操作系统MemCache的安装安装步骤启动参数表MemCache主要命令可能遇到的错误安装步骤MemCache首先需要安装libevent库,然后再进行MemCache的安装。具体步骤如下:1)创建memcache目录,进入使用wget https://github.com/downloads/libevent/libevent/libevent-1.4.14b-stable.ta...

2019-07-04 22:02:47 227

原创 ZooKeeper的安装教程

Linux操作系统ZooKeeper的安装安装步骤主要命令安装步骤1)将事先准备好的zookeeper上传至服务器的/usr/local目录。2)配置zookeeper的环境变量,使用命令vi /etc/profile,添加下面的语句:export ZK_HOME=/usr/local/zk/zookeeperexport PATH=$ZK_HOME/bin:$PATH3)使用命令...

2019-07-04 21:57:13 351

原创 Nginx安装教程以及负载多个tomcat实例

Linux操作系统Nginx的安装安装步骤常用命令安装步骤Nginx需要配置较多前置条件,具体步骤如下:1)下载前置环境,使用命令yum -y install gcc automake autoconf libtool make安装make;使用命令yum install gcc gcc-c++安装g++。2)进入/usr/local,创建nginx文件夹。3)安装PCRE库。进入ngi...

2019-07-04 21:47:31 151

原创 Tomcat安装教程以及集群的搭建

Linux操作系统Tomcat的安装下载步骤Tomcat主要命令下载步骤去官网找到tomcat8的下载界面,下载安装包,如图所示。下载完成后的具体安装步骤如下:1)进入/usr/local目录,创建tomcat文件夹,将下载好的tar包放至当前目录。2)使用命令tar -zxvf apache-tomcat-8.5.42.tar.gz进行解压。解压完成如图所示。3)进入bin目录,...

2019-07-04 21:40:32 153

原创 JDK安装教程

JDK的安装下载步骤下载步骤将事先准备好的jdk-8u191-linux-x64.tar.gz通过XShell工具上传至服务器,具体步骤如下:1)使用命令cd /usr/local,进入local目录,创建java文件夹。2)将jdk-8u191-linux-x64.tar.gz拖入shell界面,提示-bash: rz: command not found,说明没有安装 lrzsz。3...

2019-07-04 21:35:24 148

原创 Zookeeper集群的搭建

Zookeeper集群的搭建伪分布式具体操作物理分布式注意事项选举模式Zookeeper集群的概念如下:1)zk集群,主从结点,心跳机制(选举模式)。2)配置数据文件myid1/2/3对应server.1/2/3。3)通过./zkCli.sh -server [ip]:[port]检测集群是否配置成功。伪分布式具体操作1)使用cp zookeeper zookeeper02 -rf拷贝...

2019-07-01 18:52:40 147

原创 浅谈Zookeeper的watch机制与ACL权限控制以及四字命令

浅谈Zookeeper的watch机制与ACL权限控制以及四字命令Watcher机制Watcher命令行学习Watcher事件类型watcher使用场景ACL(access control lists)权限控制ACL命令行ACL的构成ACL命令行学习ACL的常用使用场景zk四字命令Four Letter Words常见命令Watcher机制Watch机制主要有以下几个特点:1)针对每个结点的...

2019-07-01 16:02:52 432

原创 分布式系统概念与Zookeeper简介

分布式系统概念与Zookeeper简介zookeeper简介特点目录说明分布式概念优点zk数据模型介绍Zookeeper数据模型基本操作zk的作用体现zk特性-session的基本原理常用的zookeeper命令行zookeeper简介官方文档对zookeeper的介绍:Apache ZooKeeper is an effort to develop and maintain an open...

2019-07-01 12:33:06 162

原创 Java的synchronized中锁的升级与对比

《并发编程的艺术》之synchronized中锁的升级与对比偏向锁偏向锁的撤销关闭偏向锁偏向锁的获得和撤销流程轻量级锁轻量级锁加锁轻量级锁解锁轻量级锁及膨胀流程图锁的优缺点对比在Java SE1.6中,为了减少获得锁和释放锁带来的性能消耗,引入了“偏向锁”和“轻量级锁”,锁一共有4种状态,级别从低到高依次是:无锁状态、偏向锁状态、轻量级锁状态和重量级锁状态, 这几个状态会随着竞争情况逐渐升级。锁...

2019-06-28 15:23:44 315

原创 Object类equals、hashCode、toString方法的学习

Object类equals、hashCode、toString方法的学习Object类介绍Object类重要方法equals方法使用范例==与equals区别重写equals方法hashCode方法重写hashCode方法toString方法Object类源码Object类介绍Object类是所有类的始祖,在java中每个类都是由它扩展而来的。但是并不需要加上extends关键字,如果没有明确...

2019-05-26 21:59:21 348

原创 Redis持久化配置

Redis持久化配置前言关于持久化RDBRDB配置工作原理RDB优点RDB缺点AOFAOF配置工作原理AOF优点AOF 的缺点总结性能建议:前言上面要求要做一个投票功能,所以不能直接用mysql进行存储,而是先将数据库存储进redis,再用定时任务将redis的数据写入mysql。而为了防止redis因为服务器宕掉而导致数据的丢失情况出现,配置redis持久化是很有必要的。关于持久化Red...

2019-05-12 16:29:02 326

空空如也

空空如也

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

TA关注的人

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