自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

转载 Nacos配置服务原理

Nacos Client配置机制spring boot加载远程配置在了解NACOS客户端配置之前,我们先看看spring boot怎么样加载远程配置的。spring boot提供了加载远程配置的扩展接口 PropertySourceLocator。下面看个简单的例子:实现PropertySourceLocatorpublic class GreizPropertySourceLo...

2019-09-17 11:43:00 989

转载 JDK8时间工具类

JDK8添加了java.time包,提供了很多方便。用得比较多的几个类:Instant 在时间线上模拟单个瞬时点Duration 以秒和纳秒为单位模拟一个数量或时间量。可以使用其他基于持续时间的单位访问它,例如分钟和小时LocalDate 表示ISO-8601日历系统中没有时区的日期,例如 2019-03-31LocalTime 表示ISO-8601日历系统中没有时区的时间,例如 16...

2019-03-31 17:45:00 215

转载 Redis持久化的两种方式

前言   Redis 是内存数据库,如果不将内存中的数据保存到磁盘,进程退出的时候内存中的数据也会被清除。为了解决该问题,Redis 持久化有两种方式,分别是RDB和AOF。下面会比较详细介绍这两种持久化方式。RDB方式  RDB持久化既可以手动执行,也可以根据服务器配置选项定期执行,该功能就是把某个时间点的内存数据状态保存到一个经过压缩的二进制文件(即 RDB文件)中。...

2018-08-05 23:31:00 132

转载 Protostuff序列化问题

  最近在开发中遇到一个Protostuff序列化问题,在这记录一下问题的根源;分析一下Protostuff序列化和反序列化原理;以及怎么样避免改bug。1. 问题描述  有一个push业务用到了mq,mq的生产者和消费者实体序列化我们用的是Protostuff方式实现的。由于业务需要,我们要在一个已有的枚举类添加一种类型,比如: 1 public enum LimitT...

2018-07-05 19:19:00 688

转载 kafka对消费者分配分区规则(Java源码)

  在上一篇kafka topic消息分配partition规则(Java源码) 我们对生产者产生的消息分配partition规则进行了分析,那么本章我们来看看消费者是怎么样分配partition的。  kafka 为了保证同一类型的消息顺序性(FIFO),一个partition只能被同一组的一个consumer绑定消费,不同组的consumer可以绑定同一个partition进行...

2018-05-26 21:04:00 359

转载 kafka topic消息分配partition规则(Java源码)

我们知道Kafka 的消息通过topic进行分类。topic可以被分为若干个partition来存储消息。消息以追加的方式写入partition,然后以先入先出的顺序读取。下面是topic和partition的关系图:我们一般会在server.conf中通过num.partitions参数指定创建topic时包含多少个partition。默认是num.part...

2018-05-24 22:02:00 504

转载 mycat快速搭建入门

mycat是一个数据库中间件,在此不做多介绍,今天我们直接上入门级的搭建demo。本例子用的是两台mysql数据库搭建mycat环境之前确保自己的机器上已经安装了djk1.7及以上虚拟机,因为mycat是Java写的中间件,需要Java运行环境。mysql数据支持5.6及更高版本,需要提前安装好。假设以上两个条件已经满足(以上环境未搞定,到此结束吧,别往下玩了!),那我们开始进入...

2018-04-07 11:30:00 122

转载 CountDownLatch、CyclicBarrier和Semaphore使用

CountDownLatchCountDownLatch是用来线程计数的。等待一组线程全部执行完后再本线程继续执行。如:A线程需要等待B、C和D(由初始化CountDownLatch参数觉得等待多少个线程)线程执行完后再执行。主要的方法:// 构造方法,count决定等待多少个线程public CountDownLatch(int count)// 等待线程完成数减1pu...

2018-03-15 22:24:00 66

转载 jinfo Java配置信息工具

jinfo(Configuration info for Java)  jinfo的作用是实时地查看和调整虚拟机各项参数。jinfo 命令格式:jinfo [ option ] pidpid是虚拟机进程ID(用jps可以查询)option 列表:选项说明-flag to print the value of the named VM flag-f...

2018-01-28 23:04:00 93

转载 jstat虚拟机统计信息监视工具

jstsat(JVM Statistics Monitoring Tool)  jstat用于监视虚拟机各种运行状态信息的命令工具。可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。  jstat 命令格式:jstat [ option vmid [interval [s|ms] [count]] ]命令格式中的VMID与LVMID,如果是本地虚拟...

2018-01-25 00:02:00 86

转载 jps虚拟机进程状态工具

jps(JVM Process Status Tool)  jps工具可以列出正在运行的虚拟机进程,并显示虚拟机执行主类名称以及这些进程的本地虚拟机唯一ID(Local Virtual Machine Identifier,LVMID)。jps命令格式:  jps [ options ] [ hostid ]hostid为RMI注册表中注册的主机名option :选...

2018-01-21 21:07:00 165

转载 类加载器

定义  实现类加载阶段中的“通过一个类的全限命名来获取描述此类的二进制字节流”这个动作的代码模块称为“类加载器”。  类加载器虽然只用于实现类的加载动作,但它在Java程序中起到的作用却远远不限于类加载阶段。比如判断两个类是否“相等”,只有两个类是由同一个类加载器加载的前提下才有意义。类加载器类型  从Java虚拟机的角度来讲,只存在两种类加载器:  * 启动类加载器(Boot...

2018-01-13 20:13:00 62

转载 死亡的对象

对象死亡  在之前的 Java内存区域文章中已经知道几乎所有Java对象实例都存放在堆中,GC对堆进行回收之前先是判断哪些对象已经“死亡”。那么问题来了,怎么样确定一个对象是否已经死亡呢?  判断对象是否已经死亡有引用计数算法和可达性分析算法引用计数算法(Reference Counting)  给对象中添加一个引用计数器,当每有一个地方应用它时,计数器值加1;当引用失效时,计数...

2018-01-05 00:02:00 120

转载 spring boot整合kafka

最近项目需求用到了kafka信息中间件,在此做一次简单的记录,方便以后其它项目用到。引入依赖<dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId></dependen...

2018-01-02 20:27:00 64

转载 Java验证手机号

在实际开发中我们需要对手机号格式校验,以下是对中国手机号校验的实现。public class PhoneUtils { /** * 中国手机号码 */ private static Pattern CHINESE_PHONE_PATTERN = Pattern.compile("((13|15|17|18)\\d{9})|(14[57]\\d{8}...

2018-01-02 15:04:00 143

转载 类生命周期

类从被加载到虚拟机内存中开始到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)7个阶段。其中验证(Verification)、准备(Preparation)、解析(Resolution)3个部分...

2018-01-01 20:06:00 76

转载 浅谈对象的创建、内存布局和访问定位

在此简单的记录一下《深入理解Java虚拟机》第2章的2.3节内容。对象的创建  这里的对象的创建是指普通的对象(不包括数组和Class对象)。对象的创建简单来说就是执行new的时候,虚拟机做出对应的响应。让我们看看一下虚拟机创建对象的过程:1.虚拟机遇到new指令时,首先尝试在常量池中定位到对应类的符号引用,并检查这个符号引用代表类是否已被加载、解析和初始化过。如果没有,那必须先执...

2017-12-31 22:46:00 70

转载 Java内存区域

Java运行时数据区域Java虚拟机所管理的内存包括以下几个运行时数据区域,如下图:程序计数器  程序计数器(Program Counter Register)是一块较小的内存区域,是当前线程执行的字节码的行号指示器。程序计数器是一块私有的内存区域,每个线程都有一个独立的程序计数器。如果线程正在执行的是一个Java方法,这个程序计数器记录的是正在执行的虚拟机字节码指令地址;如果正...

2017-12-31 19:18:00 69

转载 elk安装和使用

elk安装和使用使用的版本都是5.2.0elasticsearch-5.2.0安装在官网 下载 elasticsearch tar包解压安装tar zxf elasticsearch-5.2.0.tar.gz -C ~/usr/local/启动 elasticsearch ./bin/elasticsearch 配置访问权限(如果不配置这个head和logstas...

2017-12-29 10:39:00 88

空空如也

空空如也

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

TA关注的人

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