自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(174)
  • 资源 (2)
  • 收藏
  • 关注

原创 idea相关配置和操作(代完善)

1.idea操作1.1快捷键编码快捷键(了解\掌握)

2019-06-29 20:53:11 221

原创 Java基础知识概念

Java基础知识概念Java概述Java语言发展史(了解)Java语言跨平台原理(理解)JRE和JDK(记忆)JVM(记忆)常用DOS命令(应用)Path环境变量的配置(应用)基础语法注释(理解)关键字(理解)常量(应用)数据类型(记忆、应用)变量(应用)类型转换(理解)运算符算术运算符运算符和表达式赋值运算符自增自减运算符关系/比较运算符逻辑运...

2019-06-29 20:43:52 284

原创 【JVM】垃圾收集器理论算法

JVMGC使用的基础算法

2023-03-01 10:34:05 232

原创 Redis核心数据结构【zset】【从入门到入坟】

该博客对Redis中SortSet结构的常用命令,底层数据结构以及应用场景进行了说明

2022-09-24 16:19:15 613 1

原创 Redis核心数据结构【set】【从入门到入坟】

该博客主要描述Redis中的底层结构,以及常用命令,以及常用应用场景进行总结

2022-09-20 21:29:31 478 2

原创 Redis核心数据结构【list】【从入门到入坟】

该博客主要说明list类型的命令与底层结构,以及应用场景

2022-09-17 20:49:03 300

原创 Redis核心数据结构【hash】【从入门到入坟】

该博客用于说明Redis的Hash类型中常用命令,以及底层结构和应用场景

2022-09-15 21:56:14 210

原创 Redis核心数据结构【String】【从入门到入坟】

主要讲述Redis中核心String数据类型的说明、命令以及应用

2022-09-14 20:50:23 336

原创 Redis核心结构以及渐进式扩容

Redis底层架构实现的总结以及提炼

2022-09-13 21:15:43 809

原创 Redis的Encoding编码分类

对Redis底层编码以及构造的描述

2022-09-13 21:14:23 511

原创 【k8s】Unable to restart cluster, will reset it: apiserver healthz异常

解决Unable to restart cluster, will reset it: apiserver healthz: apiserver process never appeared异常,解决Error: no DISPLAY environment variable specified异常

2022-08-23 16:07:03 3789

原创 【JVM】垃圾标记算法与无用类判断算法

判断垃圾对象算法堆中存放着几乎所有的对象实例,对堆中垃圾对象进行回收的前提就是判断哪些对象已经成为了垃圾对象(不再被任何途经使用的对象)引用计数法给每一个对象添加一个引用计数器当有地方引用他时,计数器加一当引用失效时,计数器减一当计数器为0时,该对象不可能再使用,即为垃圾对象注意:该方法实现简单,效率高,但是因为难以解决对象相互循环引用问题,所以目前主流的虚拟机中并没有选择该算法管理内存。示例相互循环引用:package com.example.demo;/** * @Des

2022-08-20 14:32:19 184

原创 【JVM】年轻代进入老年代规则

该机制是为了使多次进行GC后还存在的对象更早进入老年代,至于为什么是大于50%Survivor区的对象,实际上Eden区和Survivor区中很少存在3,4次还幸存对象。Full gc对老年代和年轻代一起回收垃圾,诺Full gc后老年代的可用空间还是无法存放minor gc后需要进入老年代的对象,将会抛出。(单位为字节)设置大对象的大小,如果对象超过设置的大小会直接进入老年代,防止大对象进入年轻代造成重复GC。Survivor区域的50%,此时大于该批对象中的最大年龄的对象,直接进入老年代。......

2022-08-14 22:02:00 813

原创 【JVM】三色标记法

原因在CMS等并法收集器,并发标记的过程中需要对对象进行标记,用于区别对象。防止多标,漏标等情况。三色标记三色标记法就是指将GC roots可达性算法分析遍历对象过程中将各个对象,按照”是否访问过“标记成不同的三种颜色(可以理解为类似于成员变量)。黑色表示对象已经被垃圾收集器访问过(扫描过),并且这个对象的所有引用都已经被扫描过,它是安全存活的(不是垃圾对象),如果其他对象引用指向了黑色对象,是无需重新扫描的,黑色对象不可能直接(不经过灰色对象)指向白色对象灰色表示对象已经被立即收

2022-08-04 23:51:00 3346 8

原创 Elasticsearch字段类型与类型区别

Elasticsearch字段类型与类型区别基础类型常用类型非常用类型类型解释字符串类型,text与keyword区别时间类型基础类型Elasticsearch自带的数据类型是Lucene索引的依据,也是我们做手动映射调整的依据。映射中主要就是针对字段设置类型以及类型相关参数。即主要是针对数据的格式限制与搜索时的对应类型的匹配方式常用类型比较常用的基本类型的:字符串: string 常用(5.x版本被废弃),替换为text,keyword数字: byte,short,integer,long

2022-08-03 23:13:55 926

原创 【JVM】新老年代中的垃圾收集器

垃圾收集器收集算法是内存回收的方法论(理论),垃圾收集器是内存回收的具体实现注意:并没有一种垃圾收集器是万能的,能够做到的是根据具体场景选择适合的垃圾收集器。各个垃圾收集器各有各的特点,直到现在为止还没有最好的垃圾收集器出现。Serial收集器(串行收集器)-XX:+UseSerialGC -XX:+UseSerialOldGCSerial(串行)收集器是最基础,最老的垃圾收集器,该收集器是一个单线程收集器。新生代采用复制算法,老年代采用标记整理算法特点只使用一条垃圾收集线程去完成

2022-05-22 17:10:51 683

原创 【HTTP请求异常】connection reset, socket write error 请求数据量过大

翻译结果连接重置,套接字写入错误解决办法我主要碰到的情况是:POST请求中的参数过大(上万数量的字符串),因此原因应该是服务器限制大小(被请求方)。在服务器添加配置Spirng boot 工程文件application.properties添加#设置post请求数据最大值 -1为无限不建议设置,请调整至合适值server.tomcat.max-http-post-size=-1 Spirng boot 工程文件application.yml添加server: tomcat:

2022-04-19 22:11:05 1642

原创 【JVM】JVM常用查看各参数及内存命令【Jps】【Jmap】【Jstack】【Jinfo】【Jstat】

JDK中带有的命令Jps>打印所有java pidJmap用于打印所有被使用的类的数量以及大小jmap -histo [PID]num:序号instances:实例数量bytes:占用空间大小class name:类名称, C代表 char[],S代表short[],I代表int[],B代表byte[],I代表 int[][]打印堆信息jmap -heap [PID]导出堆内存dump文件jmap ‐dump:format=b,file=xxxx.hpr

2022-01-19 22:39:00 2182

原创 【问题】【实用】java服务假死【CLOSE_WAIT】【线程WAITING】

线上的服务,突然无法调用了。而且几天就无法使用,必须要重新启动才能好。进行总结一下,避免以后再次遇到。问题排查步骤检查是否内存异常(OOM)查看线程是否存活查看日志,并没有抛出异常。服务并没有发生OOM使用arthas查看是否死锁检查是否是网络阻塞查看与之关联的网络请求状态查看请求的状态,是否存在大量异常状态如CLOSE_WAIT.

2022-01-17 20:09:31 2040

原创 【JVM】JVM是如何创建对象的与对象头中的结构

JVM对象的加载流程

2021-12-31 00:41:04 281

原创 【java基础】java概念与如何第一个程序

java基础语法1. Java概述1.1 Java语言发展史(了解)语言:人与人交流沟通的表达方式计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言Java语言是美国Sun公司(Stanford University Network)在1995年推出的计算机语言Java之父:詹姆斯·高斯林(James Gosling)2009年,Sun公司被甲骨文公司收购,所以我们现在访问oracle官网即可:https://www.oracle.com1.2 Java语言跨平台原理(理解)Java

2021-12-31 00:33:17 201

原创 【java基础】java的键盘输入

我们可以通过 Scanner 类来获取用户的输入。使用步骤如下:1、导包。Scanner 类在java.util包下,所以需要将该类导入。导包的语句需要定义在类的上面。import java.util.Scanner; 2、创建Scanner对象。Scanner sc = new Scanner(System.in);// 创建Scanner对象,sc表示变量名,其他均不可变3、接收数据int i = sc.nextInt(); // 表示将键盘录入的值作为int数返回。示例:impo

2021-12-31 00:29:50 3030 1

原创 【java基础】java跳出循环【break】【continue】

沉着冷静,细心多思跳转控制语句跳转控制语句(break)跳出当前循环,结束当前循环跳转控制语句(continue)跳过本次循环,继续下次循环注意:continue只能在循环中进行使用!在break或continue后编写语句将会编译报错(java是强类型语言)....

2021-12-31 00:26:38 1086

原创 【java基础】java生成随机数【Random】

Random产生随机数沉着冷静,细心多思概述:Random类似Scanner,也是Java提供好的API,内部提供了产生随机数的功能使用步骤:导入包import java.util.Random;创建对象Random r = new Random();产生随机数int num = r.nextInt(10);解释: 10代表的是一个范围,如果括号写10,产生的随机数就是0-9,括号写20,参数的随机数则是0-19示例代码:import jav

2021-12-31 00:24:40 2805

原创 【java基础】java的流程控制语句整理【2】【for】【while】【do while】【水仙花数】【珠穆朗玛峰】

流程控制语句(应用)在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执行流程。而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能。流程控制语句分类​ 顺序结构​ 分支结构(if, switch)​ 循环结构(for, while, do…while)for循环for循环结构(掌握)循环:循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复 执行这个循环体时,需要在合

2021-12-31 00:12:25 98

原创 【java基础】java的流程控制语句整理【1】【if】【switch】

流程控制语句(应用)在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执行流程。而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能。流程控制语句分类​ 顺序结构​ 分支结构(if, switch)​ 循环结构(for, while, do…while)顺序结构顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。顺序结构执行流程图:分支结构之if语

2021-12-30 23:48:41 315

原创 【java基础】Java的算术运算符整理【2】【常用】【自增自减】【逻辑运算】【短路运算】【三元运算】

自增自减运算符(理解)符号作用说明++自增变量的值加1- -自减变量的值减1注意事项:​ ++和- - 既可以放在变量的后边,也可以放在变量的前边。​ 单独使用的时候, ++和-- 无论是放在变量的前边还是后边,结果是一样的。​ 参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或者- -。​ (在控制台输出时,先打印变量的值,再变量加一)​ 参与操作的时候,如果放在变量的前边,先拿变量做++或者- -,后拿变量参与操作。​ (在控制

2021-12-30 23:28:06 173

原创 【java基础】Java的算术运算符整理【1】【自动提升】【字符串连接】

算术运算符(理解)运算符和表达式运算符:对常量或者变量进行操作的符号表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。​ 不同运算符连接的表达式体现的是不同类型的表达式。举例说明:int a = 10;int b = 20;int c = a + b;+:是运算符,并且是算术运算符。a + b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式。算术运算符符号作用说明+加参看小学一年级

2021-12-30 23:27:07 114

原创 【JVM】JVM内部结构以及堆栈等解释整理

JVMJVM属于JDK下的JRE体系中的一个底层虚拟机。Java的跨平台也是因为JVM虚拟机的存在而存在的特性。#mermaid-svg-rCPEvbMvBIfbCAv2 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-rCPEvbMvBIfbCAv2 .label text{fill:#333}#merma

2021-12-28 23:12:46 1085

原创 【java基础】自动(隐式)转换与强制转换规则整理

类型转换(理解)在Java中,一些数据类型之间是可以相互转换的。分为两种情况:自动类型转换和强制类型转换。自动(隐式)类型转换:把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量。这种转换方式是自动的,直接书写即可。例如:double num = 10; // 将int类型的10直接赋值给double类型System.out.println(num); // 输出10.0强制(显示)类型转换:把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变

2021-12-28 22:44:08 833

原创 【java基础】JAVA中的数据类型与注意要点整理

数据类型计算机存储单元我们知道计算机是可以用来存储数据的,但是无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写的字母”b”表示。而计算机中最基本的存储单元叫“字节(byte)”,计算机最小的存储单元是“字节(byte)”通常用大写字母”B”表示,字节是由连续的8个位组成。除了字节外还有一些常用的存储单位,其换算单位如下:1B(字节) = 8bit1KB = 1024B1MB = 1024KB1GB = 1024MB1TB = 1024

2021-12-28 22:26:26 158

原创 【java基础】注释方法与关键字列表以及标识符定义整理

java基础语法注释(理解)注释是对代码的解释和说明文字,可以提高程序的可读性,因此在程序中添加必要的注释文字十分重要。Java中的注释分为三种:单行注释。单行注释的格式是使用//,从//开始至本行结尾的文字将作为注释文字。// 这是单行注释文字多行注释。多行注释的格式是使用/* 和 */将一段较长的注释括起来。/*这是多行注释文字这是多行注释文字这是多行注释文字*/注意:多行注释不能嵌套使用。文档注释。文档注释以/**开始,以*/结束。 /* 这是多行注释文字

2021-12-28 22:25:16 256

原创 【JVM】JVM是如何给对象分配内存的

内存分配图 对象栈上分配

2021-12-14 22:43:36 756 1

原创 【JVM】Java类的加载流程以及双亲委派,全盘托管,以及如何打破双亲委派机制

1.JVM基础生命周期流程图classLoader.loadClass()的类加载(除引导类,所有类都一样)加载:通过IO查找读取磁盘上的字节码文件,在调用到类才进行加载(调用类的方法,或者new 一个实例对象),会在内存创建一个Class对象,在方法区中代表这个类(用于获取该类的各种数据)。验证:校验字节码文件是否符合规范。准备:将类中的非最终静态变量分配内存地址,并赋予类型默认值(根据类型给予,与实际赋值无关)。最终静态变量会直接进行赋值操作,无需进行类型初始值赋予。解析:将符号引用替换为直

2021-06-12 18:21:15 1699

原创 JVM优化与监控 JVM运行参数&jmap分析工具&jatack的使用&VisualVm工具使用

1、我们为什么要对jvm做优化?在本地开发环境中我们很少会遇到需要对jvm进行优化的需求,但是到了生产环境,我们可能将有下面的需求:运行的应用“卡住了”,日志不输出,程序没有反应服务器的CPU负载突然升高在多线程应用下,如何分配线程的数量?说明:使用的jdk版本为1.8。2、jvm的运行参数在jvm中有很多的参数可以进行设置,这样可以让jvm在各种环境中都能够高效的运行。绝大部分的参数保持默认即可。2.1、三种参数类型jvm的参数类型分为三类,分别是:标准参数-help-ver

2020-08-08 17:43:54 1009

原创 01_Flink基础介绍

Flink基础介绍1. Flink介绍1.1. Flink引入​ 这几年大数据的飞速发展,出现了很多热门的开源社区,其中著名的有Hadoop、Storm,以及后来的 Spark,他们都有着各自专注的应用场景。Spark掀开了内存计算的先河,也以内存为赌注,赢得了内存计算的飞速发展。Spark 的火热或多或少的掩盖了其他分布式计算的系统身影。就像 Flink,也就在这个时候默默的发展着。​ ...

2020-03-31 21:37:18 408

原创 Flink 流式处理入门(java)

简单的流式处理代码package com.heiheihei.flink;import org.apache.flink.api.common.functions.FlatMapFunction;import org.apache.flink.api.common.functions.ReduceFunction;import org.apache.flink.api.java.util...

2020-03-31 20:51:43 870

原创 Flink 入门编写(java)

这是Flink入门代码,较为简单package com.heiheihei.flink;import org.apache.flink.api.common.functions.FlatMapFunction;import org.apache.flink.api.java.DataSet;import org.apache.flink.api.java.ExecutionEnviron...

2020-03-31 20:40:49 5217

原创 Flink pom文件坐标

直接粘贴在pom.xml文件即可<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <encoding>UTF-8</...

2020-03-31 20:11:32 565

原创 【JAVA实践】设计模式之工厂模式

工厂模式是java中最常用的设计模式之一,属于创建型模式,它提供一种创建对象的最佳方式特点:在工厂模式中,创建对象时不会对客户端(调用方)暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象优点:降低耦合度代码实现:package com.heiheihei.pojo;/** * @author 嘿嘿嘿1212 * @version 1.0 * @date 2020/......

2020-02-21 22:28:11 240

win10系统快捷键.docx

Win10 的快捷键整理大全,包含文档等应用快捷键,建议进行尝试后理解快捷键意义.

2019-06-28

java_jdk_9_中文版.zip

JDK9 API 中文文档 高清完整版 CHM,JDK是一个Java语言的软件开发环境,这里分享JDK9 API文档下载,这是一个java帮助文档,欢迎下载

2019-06-25

空空如也

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

TA关注的人

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