自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java面试jvm

Eden满会触发Minor GC,存活的对象进入S1(S2)区,进行一次GC年龄加1,达到15,对象还存活,进入老年代。如果满,导致OOM。方法区溢出:包括运行时常量池溢出,一般由于大量生成的class导致,可以通过 -xx.permsize 和 -xx.maxpermsize 来设置区的大小。比如一个程序main线程,test方法线程,每个线程中都包含 局部变量表,操作数栈,动态链接,方法出口。加载(.classs)----验证----准备----解析-----初始化----使用-----卸载。

2024-03-13 15:32:22 916 2

原创 【无标题】

记录日期为 ‘2023-08-28 00:00;00’ 格式改为 ‘2023-08-28’使用simpldate.parse 后再使用 simpldate.format。日期+30天后, 使用Calendar 然后再使用simpldate。

2023-08-28 15:17:15 83

原创 网络与IO

TCP是长连接吗?tcp只是连接,受应用层协议连接是不是一个“复用”载体举一个例子:http 1.0 ,1.1 没有开启keepalive保持,连接只负责一次同步阻塞的请求+响应,短连接!举一个例子:http 1.0,1.1 开启了keepalive保持,同步复用连接:多次(请求+响应),以上是无状态通信,长连接!

2023-07-04 17:05:38 379

原创 java内存泄漏。怎么排查?

Java提供了一些内存分析工具,例如Eclipse Memory Analyzer (MAT)、VisualVM等,可以帮助你分析内存使用情况。通过这些工具,你可以查看内存快照、分析对象引用关系,找出潜在的内存泄漏问题。然后可以使用MAT等工具来分析该转储文件,找出内存泄漏的根源。查看是否存在对象创建后未被正确释放的情况,例如未关闭的流、未解注册的监听器等。程序中不再使用的对象,由于某种原因没有被垃圾回收器回收,导致内存持续增加,最终导致性能下降甚至崩溃。

2023-06-29 09:35:28 414

原创 String ==的几种情况说明记录

string == 的几种比较很容易搞错,时间一长,很多都会搞混,所以记录一下,方便以后翻阅,该文章简单易懂

2023-06-25 16:08:10 259

原创 数据库分库分表

垂直分库/垂直分表---------------表为依据,根据业务属性不同,将不同的表拆分到不同库中。sharding-sphere:jar,前身是sharding-jdbc;Mycat:中间件。

2023-06-14 15:53:11 41

原创 Mybatis源码

持久层ORM框架,执行sql比较简单,扩展性强,与传统jdbc相比,省去了手写连接的几个步骤,可以通过配置。节约数据库连接资源,代码易于维护。mybatis 在SqlMapConfig.xml 中配置数据库连接池,用于管理数据库连接采用xxmapper.xml文件与java代码分离,易于维护传参方便,使用占位符 #{} 传参,一一对应映射结果为Map或者对象使用方便。

2023-05-22 16:00:41 53

原创 分布式锁和分布式事务

线程B 加锁B4 B5成功,没有获取锁。线程A获取锁,返回将锁存放在数据库中,此时JVM stw, 线程b去获取锁,修改锁,与数据库已经存在的锁标识进行对比。A线程获取锁,B线程等待,此时A线程释放锁,程序还未执行完成。此时B线程获取锁,此时A,B都将库存减到9,与业务不符。一主一从,线程A从主机获取锁,此时主宕机,线程B从从机也获取了锁。分布式锁:redis分布式锁, zk分布式锁, 数据库做分布式锁。-----------程序A---------->程序B----->----------

2023-03-20 14:39:23 319

原创 springcloud相关组件

写本文章特别有必要,springcloud是现在比较流行的微服务框架,需要学习了解其相关组件和工作原理。微服务组件图注册中心主要用来实现各个微服务实例的自动化注册和发现eurka APzk CPnacos AP 注册中心和配置中心, alibaba云原生consul A70%的场景主选eurka, 能够保证高可用。如果对服务数据一致性比较看中选用zk,zk集群环境一半以上机器挂掉的话,不能再提供服务,不能保证高可用,集群全部同步完毕才返回相

2023-03-15 11:14:15 271

原创 BIO,NIO,AIO

BIO NIO AIO

2023-03-10 09:40:05 292

原创 zookeeper使用场景实战

zk实战 java api, 分布式锁, 注册中心,leader选举机制

2023-03-09 10:23:50 283

原创 Zookeeper特性和节点数据类型详解

zk节点类型,监控,权限以及持久化数据

2023-03-08 15:47:12 353

原创 垃圾收集算法,垃圾收集器parNew&CMS与底层三色标记法

jvm垃圾回收机制,垃圾收集器以及底层三色标记算法

2023-03-07 16:55:04 78

原创 JVM调优工具详解及调优实战

执行 jmap -heap 5088 显示堆的信息

2023-03-07 16:54:16 72

原创 Es搜索引擎相关知识点

es相关知识点

2023-03-07 10:32:52 449

原创 mvcc和buffer pool缓存机制

mvcc多版本控制以及bufferpool

2023-03-03 11:03:08 65

原创 mysql常见面试问题

mysql 事务相关和锁相关分类

2023-03-03 10:34:28 54

原创 常见问题-java程序导致cpu彪升

【代码】常见问题-java程序导致cpu彪升。

2023-03-01 10:53:27 275

原创 CAS相关

cas详细以及底层

2023-02-24 16:46:37 50

原创 AQS&ReentrantLock源码分析

jdk中提供的大多数同步器,如Lock,Latch,Barrier等,都是基于AQS框架实现(一般通过一个内部类Sync继承AQS)共享 比如 Semaphore/CountDownLatch。AQS中的同步等待队列也称为CLH队列,基于双向链表数据结构,先进先出。单向列表保存,当前线程处于同步队列头结点,调用await方法阻塞线程,独占 比如 ReentrantLock。同步等待队列 和条件队列。

2023-02-24 14:34:06 114

原创 synchronized锁优化

synchronized锁优化

2023-02-23 16:29:29 75

原创 Redis

redis相关,持续更新,加入自己见解

2023-02-16 09:48:42 57

原创 mysql底层数据结构和算法

深入理解mysql底层数据结构

2023-02-01 10:53:46 61

原创 一篇文章掌握各种锁

通过代码层面,了解对象头,以及偏向锁,轻量级锁,重量级锁。

2023-01-12 15:12:33 69

原创 深入理解JMM

jmm深入理解

2023-01-11 10:29:48 84

原创 JMM&并发三大特性

Java Memory Mode,java内存模型,java多线程通信模型涉及到维度:JAVA 层面 JVM层面 硬件层面需要重点掌握理解并发的三大特性,JMM工作内存和主存的关系,多线程是如何通信的,volatile保证可见性和有序性,CAS。

2022-12-23 11:16:20 88

原创 jvm内存模型深度剖析

java语言代码写一次不需要修改,就可以在不同系统平台上运行。jvm存在三个子系统: 类装载子系统,运行时数据区,字节码执行引擎。其中,类装载子系统 负责将字节码加载到JVM中,具体是加载运行时数据区的方法区中。运行时数据区又分为 堆,栈(线程),方法区,本地方法栈和程序计数器。主要用于存储程序运行中生成的对象。执行引擎包括解释器,即时编译器,垃圾回收器,主要用来解释执行字节码,并进行垃圾回收。一个方法对应一块栈帧内存空间。对于单个线程,栈,本地方法栈,程序计数器都是独有的。生成一个线程都会分别生成

2022-12-07 20:17:33 126

原创 从jdk源码解析jvm类加载机制

通过jdk源码,了解类的加载机制,双亲委派模型的实现原理。

2022-12-04 18:15:25 193 2

原创 spring源码专题

spring自己的一些理解,关于spring , SpringIod以及springBean的生命周期,循环依赖以及三级缓存

2022-10-13 09:43:33 133

原创 springcloud配置详解

springcloud各组件配置详解

2022-09-20 14:22:29 1056

原创 java idea 普通项目加入tomcat

普通jar包项目在idea,tomcat容器中进行启动

2022-09-19 17:02:11 365

原创 SSM(SpringMVC + Spring + Mybatis)

ssm框架整合

2022-09-16 14:04:01 117

原创 利用java发送短信

利用java发送短信

2022-09-16 10:19:41 2585 2

原创 Java poi及其使用

java poi excel表格的导入导出以及demo代码。

2022-09-16 10:12:16 811

原创 java swagger2 的使用

java swagger2的使用

2022-09-15 15:47:12 205

原创 java JWT

java 一种加密算法

2022-09-15 14:52:12 629

原创 lambda

lombda表达式的一些使用

2022-09-15 14:23:46 34

原创 centos mysql主从复制,全操作以及操作过程中问题解决方法

centos8 mysql主从复制全操作

2022-09-15 11:01:56 407

原创 git只拉取仓库部分代码

考录到有时候远程仓库很大,只需要拉取部分代码,操作说明如下。至此,整个过程就完成啦。

2022-09-08 09:13:24 1696

原创 idea已有项目加入git并且推送至远程仓库

已有的项目添加git版本控制并推送远程仓库

2022-09-07 10:22:33 244

空空如也

空空如也

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

TA关注的人

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