自定义博客皮肤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)
  • 收藏
  • 关注

原创 Spring-Boot-Actuator集成Prometheus,Grafana

目录Spring-Boot-Actuator集成Prometheus,GrafanaSpring-Boot-ActuatorPrometheus简介安装Grafana简介安装示例代码Spring-Boot-Actuator集成Prometheus,GrafanaSpring-Boot-ActuatorSpringBoot自带监控功能Actuator,可以帮助实现对程序内部运行情况监控,比如监控状况、Bean加载情况、环境变量、日志信息、线程信息、健康检查、审计、统计和HTTP追踪等Actuator同

2020-07-08 00:28:28 1518 1

原创 线程-代码示例篇一

线程-代码示例篇线程的创建方式线程的运行方式java如何创建进程java线程如何销毁java线程如何启动java线程如何顺序执行java线程如何中断线程的创建方式java线程创建方式有且仅有一种!!!!Thread t1 = new Thread(()->{},"t1");线程池源码:// ThreadPoolExecutor类中的execute()方法public void execute(Runnable command) { if (command == null)

2020-06-10 00:47:57 176

原创 redis-事务

redis-事务用法概念事务中发生错误redis为什么不支持rollbackwatch用法> multi ## multi命令用于开启一个事务,它总是返回 OK OK> set foo 1QUEUED ## 事务开启以后,客户端可以继续向服务器发送任意多条命令,这些命令不会立即被执行,而是被放到一个队列中> incr fooQUEUED> exec ## 当EXEC命令被调用时, 所有队列中的命令才会被执行。1) OK2) (integer) 2> get

2020-06-07 16:48:53 115

原创 redis-持久化

redis-持久化持久化方式RDB优缺点RDB实现AOF优缺点AOF实现redis-check-aof如何选择使用哪种持久化方式?备份redis数据持久化方式Redis 提供了不同级别的持久化方式:RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储.AOF持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据,AOF命令以redis协议追加保存每次写的操作到文件末尾.Redis还能对AOF文件进行后台重写,使得AOF文件的体积不至于过大.你也可以同时开

2020-06-07 16:47:29 108

原创 redis-入门篇

redis-入门篇1、Redis简介2、Redis 优势3、Redis与其他key-value存储有什么不同?4、Redis有哪些数据结构1、Redis简介Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,ha

2020-06-07 16:45:37 132

原创 jvm-垃圾回收器

垃圾回收器serialserial-oldparNewparallel Scavengeparallel oldg1cmsserial最基本,发展历史最悠久的收集器单线程的收集器使用一个CPU或者一条收集线程去完成垃圾收集工作。进行垃圾回收时,必须暂停其他所有的工作线程,直到它回收结束。针对新生代;采用复制算法;优点:简单而高效依然是虚拟机运行在Client模式下的默认新生代收集器缺点:遇到垃圾回收就要停下来等单线程的serial垃圾回收,性能上较差。参数:​

2020-06-07 16:20:01 93

原创 MySQL-事务简介

MySQL-事务简介事务的特性隔离性-隔离级别事务控制相关语句注意事务的特性ACID即原子性,一致性,隔离性,持久性**原子性(Atomicity):**原子的概念就是不可分割,你可以把它理解为组成物质的基本单位,也是我们进行数据处理操作的基本单位。**一致性(Consistency):**数据库在进行事务操作后,会由原来的一致状态,变成另一种一致的状态。也就是当事务提交后,或者当事务发生会滚后,数据库的完整性约束不能被破坏。**隔离性(Isolation):**每个事务都是彼此独立的,不会受到

2020-05-23 18:07:38 115

原创 jvm-类加载机制

目录类加载机制jvm加载类的顺序加载链接验证准备解析初始化类加载器双亲委派机制其余总结:类加载机制jvm加载类的顺序jvm类加载顺序:加载,链接,初始化。链接过程需要验证,准备,解析,但是解析阶段不一定非要在初始化开始之前执行,也可以在初始化之后解析,原因是为了支持java语言的运行时绑定。**加载:**查找并加载类的二进制数据链接:**验证:**保证被加载的类的正确性;**准备:**给类静态变量分配内存空间,赋值一个默认的初始值;**解析:**把类中的符号引用转换为直

2020-05-17 02:50:34 88

原创 jvm-垃圾回收算法

目录回收的是java内存区域的哪些区域如何判断对象为垃圾回收对象引用计数算法可达性分析算法垃圾回收算法标记-清除算法标记-整理算法**复制算法**分代收集算法回收的是java内存区域的哪些区域程序计数器,虚拟机栈,本地方法栈是线程私有的,生命周期与线程的生命周期息息相关,当方法结束或者线程结束时,内存自然也跟着回收了,所以三个区域一定不会发生垃圾回收java堆,方法区是垃圾回收的主要区域。如何判断对象为垃圾回收对象引用计数算法解释:在对象中添加一个引用计数器,当有地方引用这个对象的时候,引用

2020-05-14 23:15:12 91

原创 jvm-内存区域

这里写自定义目录标题jvm内存区域jvm内存区域图:程序计数器java虚拟机栈本地方法栈:java堆方法区直接内存jvm内存区域jvm内存区域图:程序计数器特点:较小的内存空间当前线程所执行的字节码的行号指示器,用于选取下一条需要执行的字节码指令。分支,循环,跳转,异常处理,线程恢复等基础功能都需要依赖这个计数器来完成。线程私有没有规定任何OutOfMemoryError情况的内存区域案例:iconst:将常量值进栈istore: 将一个数值从操作数栈存储到局部变量表ilo

2020-05-14 21:20:22 133

原创 java基本数据类型和包装类型

这里写自定义目录标题java基本数据类型基本数据类型之间的转换1.自动类型转换2.强制类型转换3.运算导致的数据类型自动提升java包装类型自动装箱与自动拆箱自动装拆箱使用场景为什么需要包装类型包装类型的缓存java基本数据类型java中一共有8种基本数据类型:byte,short,int,long,float,double,char,boolean数据类型字节位数取值范围备注byte1byte8bit-2^7 - 2^7-1有符号short2byte16b

2020-05-13 15:14:00 198

原创 redis命令篇

## 键值对 string> set name shawnOK> get name"shawn"> exists name(integer) 1> del name(integer) 1> get name(nil)## 批量键值对 string> set name1 shawn1OK> set name2 shawn2OK...

2020-02-10 01:27:30 65

原创 Hibernate入门(一)

Hibernate入门(一)文章目录Hibernate入门(一)一、Hello World二、核心API2.1 save()2.2 delete()2.3 load()2.4 get()2.5 load()和get()的区别2.6 update()2.7 saveOrUpdate()2.8 createQuery()一、Hello World添加maven依赖<!-- hiber...

2019-04-11 21:13:02 140

原创 java并发-生产者消费者模式

java并发总结三实现线程间通信的几种方法Object.wait(),notifyAllpackage concurrent.Produce_Consumer;import java.util.Vector;import java.util.concurrent.TimeUnit;import java.util.logging.Level;import java.util.l...

2019-04-10 22:06:26 130

原创 java并发总结(二)

java并发总结(二)一.同一个线程能调用两次start()方法吗?java的线程是不允许启动两次的,第二次启动会抛出异常,IllegalThreadStateException,这是一种运行时异常,多次调用start被认为是编程错误。二.线程的生命周期线程的生命周期存放在java.lang.Thread.State这个枚举里。新建(NEW),表示线程被创建出来,但是没有启动,可以认为...

2019-04-10 22:04:17 133

原创 java并发-几个重要的区别

java并发总结(一)一.什么是线程?什么是进程?线程和进程的区别?线程:线程是操作系统能够进行运算调度的最小单位,是CPU调度和分派的基本单位,是进程中实际的运作单位,另外,线程又被称为轻量级进程,程序员可以通过它进行多处理器编程。进程:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程和进程的区别:进程和线...

2019-04-10 21:58:42 146

原创 java基础必须要知道的几种区别

java里需要掌握的几种区别final,finally,finalize有什么区别**答:**final可以用来修饰类,方法,变量。如果final修饰类,那么这个类是不可以被继承扩展的,final修饰的变量是不可以改变的,final修饰的方法是不可以重写的。finally则是java保证重点代码一定要被执行的一种机制。我们一般使用try-finally或者try-catch-finally代...

2019-04-09 22:33:16 199

原创 认识数组

认识数组基本概念数组是一种线性表数据结构,它用一组连续的内存空间,来存储一组具有相同类型的数据。线性表:就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前后两个方向。数组,队列,链表,栈等也都是线性表结构。非线性表:树,堆,图等数据结构为非线性表结构。在非线性表中,数据之间并不是简单的前后关系。连续的内存空间和相同类型的数据:这是因为数组具备两个限制,所有数组才能随...

2018-12-30 01:37:25 127

原创 简易实现orm框架

jdbcTemplate主体代码package com.test.dao.common;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaD...

2018-12-16 20:21:22 194

空空如也

空空如也

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

TA关注的人

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