自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java反射机制

1.java反射机制的定义 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。 2.Class类 如同我们定义的类一样,一个Class对象表示一个特定的类属性

2020-08-06 15:30:12 153 1

原创 Java finally语句到底是在return之前还是之后执行?

1.finally是否一定被执行? 不一定!!! 以下两种情况下finally语句不会被执行 try语句没有被执行到,如在try语句之前就返回了,这样finally语句就不会执行,这也说明了finally语句被执行的必要而非充分条件是:相应的try语句一定被执行到。 在try块中有System.exit(0);这样的语句,System.exit(0);是终止Java虚拟机JVM的,连JVM都停止了,所有都结束了,当然finally语句也不会被执行到。 2.finally语句在return语句执行之后re

2020-08-06 15:23:01 155

原创 linux操作日志常用命令

1.查询mall.log后100行日志并实时查看日志 tail -fn100 mall.log tail -f -n 100 mall.log 2.实时查看日志,只输出含有root的行 tail -f mall.log | grep "root" 3.查询mall.log中traceId为1466892722883727329的日志记录,并有序输出 cat mall.log | grep '__traceId__=1466892722883727329'|sort ...

2020-08-04 17:45:15 265

原创 linux网络命令

1.ps #ps(process status),用来查看当前运行的进程状态,一次性查看,如果需要动态连续结果使用top # linux上进程有5种状态: #1. 运行(正在运行或在运行队列中等待) #2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) #3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) #4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放) #5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, S

2020-08-04 17:39:55 196

原创 linux系统命令

1.chmod chmod命令用来变更文件或目录的权限 u User,即文件或目录的拥有者; g Group,即文件或目录的所属群组; o Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围; a All,即全部的用户,包含拥有者,所属群组以及其他用户; r 读取权限,数字代号为“4”; w 写入权限,数字代号为“2”; x 执行或切换权限,数字代号为“1”; - 不具任何权限,数字代号为“0”; s 特殊功能说明:变更文件或目录的权限。 #权限代号 # 7 ==> 111 rw

2020-08-04 17:37:10 141

原创 linux压缩命令

1.tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 #这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。 #下面的参数是根据需要在压缩或解压档案时可选的。 -z:有gzip属性的 -j:有bz2属性的 -Z:有compress属性的 -v:显示所有过程 -O:将文件解开到标准输出 #参数-f是必须的 -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。 # tar -cf al

2020-08-04 17:35:24 167

原创 linux常用命令

1.ls -a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出) -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出 -r 将文件以相反次序显示(原定依英文字母次序) -t 将文件依建立时间之先后次序列出 -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录) -F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/" -R 若目录下有文件,则以下之文件亦皆依序列出 -h 以易读的方式显示文件大小(显示为 MB,

2020-08-04 17:33:15 144

原创 Springboot集成Kafka

1.依赖pom.xml <dependencies> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> </dependency> <dependency> <grou

2020-08-04 17:28:10 195

原创 kafka第三篇 工作流程分析

1.kafka生产过程分析 1.1 写入方式 producer 采用推(push)模式将消息发布到 broker,每条消息都被追加(append)到分区(patition)中,属于顺序写磁盘(顺序写磁盘效率比随机写内存要高,保障 kafka 吞吐率)。 1.2 分区(Partition) 消息发送时都被发送到一个 topic,其本质就是一个目录,而 topic 是由一些 Partition Logs(分区日志)组成,其组织结构如下图所示: 我们可以看到,每个 Partition 中的消息都是有序的,生产的

2020-08-04 17:00:09 129

原创 kafka第二篇 kafka概述

1.kafka简介 Apache Kafka是由LinkedIn采用Scala和Java开发的开源流处理软件(open-source stream-processing)平台,并捐赠给了Apache Software Foundation。该项目旨在提供统一的、高吞吐量、低延迟的平台来处理实时数据流。Kafka可以通过Kafka Connect连接到外部系统,并提供了Kafka Streams(一种Java流处理库)。Kafka使用经过优化的二进制TCP协议,并使用抽象“message set”将消息分组以

2020-08-04 16:54:05 163

原创 kafka第一篇 kafka入门

目录 1.kafka入门 1.1 安装 1.2 安装目录 1.3 zookeeper启动 1.4 kafka启动 1.5 创建集群 1.6 服务关闭 2.kafka命令行操作 2.1 创建topic 2.2 查看topic列表 2.3 创建一个生产者 2.4 创建消费者 2.5 删除topic 2.6 查看topic信息 1.kafka入门 kafka默认端口号:9092 zookeeper:2181 1.1 安装 brew install kafka 1.2 安装目录 代码块 Java # kafka安装

2020-07-28 11:48:40 116

原创 KMP算法

代码: /** * next数组记录前缀和后缀的公共长度 * @param s */ public int[] get_next(String s){ int[] next = new int[s.length()]; for(int i = 1,j = 0; i < s.length(); i++){ while (j > 0 && s.charAt(j) != s.charA

2020-07-27 21:26:30 73

原创 内存泄漏与内存溢出

1.内存泄漏与溢出 内存泄露Memory Leak:申请的内存空间没有及时释放,导致后续程序里这块内容永远被占用。 **内存溢出Out Of Memory:**要求的内存超过了系统所能提供的,内存需求不能被满足。 2.内存溢出 1.1 堆内存溢出 不断的创建对象,并且保证GC Roots到对象之间有可达路径来避免垃圾回收机制清除这些对象。 public class HeapOOM { static class ObjectInHeap{ } public static void

2020-07-27 17:01:08 68

原创 JVM常用工具

JVM常用工具 1. jps jps是用来查看java进程的工具 1.1 jps -q jps -q 只显示pid,不显示class名称,jar文件名和传递给main 方法的参数 1.2 jps -m jps -m 输出main方法的参数 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n1Tsc0j5-1595839250340)(/Users/dengquanliang/Library/Application%20Support/typora-user-images/ima

2020-07-27 16:41:46 311

原创 fastjson、jackson、gson的主要方法

1.简要映射关系 编号 fastjson jackson gson 1 JSONObject ObjectNode JsonObject 2 JSONArray ArrayNode JsonArray 3 JSONObject.toJSONString new ObjectMapper().writeValueAsString new Gson().toJson 4 jsonObject.toJSONString objectNode.toString gsonObject.to

2020-07-20 15:52:24 215

原创 重写java类的toString方法的坑

重写java类的toString()方法时,直接返回this,如下代码: @Override public String toString() { return this + ""; } 会造成无限递归,以上代码相当于: @Override public String toString() { return this.toString() + ""; } ...

2020-07-15 21:00:39 319

原创 ArrayList源码解析

ArrayList源码解析 1.重要属性 /** * 默认初始容量大小 */ private static final int DEFAULT_CAPACITY = 10; /** * 空数组(用于空实例)。 */ private static final Object[] EMPTY_ELEMENTDATA = {}; //用于默认大小空实例的共享空数组实例。 //我们把它从EMPTY_ELEMENTDATA数组中区

2020-07-09 20:36:22 120

空空如也

空空如也

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

TA关注的人

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