自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线程池原理

线程池是一种并发编程中常用的技术,用于管理和复用线程,以提高系统性能和资源利用率。:线程池在启动时创建一定数量的线程,并将它们保存在一个线程池中。当有任务到达时,线程池会分配一个空闲线程去执行任务,而不是每次任务都创建一个新线程。这样可以减少线程创建和销毁的开销,提高系统的响应速度和资源利用率。:线程池通常会维护一个任务队列,用于存放等待执行的任务。当有新任务到达时,线程池会将任务放入队列中,空闲线程会从队列中取出任务并执行。任务队列可以缓解任务的突发性,保持系统的稳定性。

2024-03-20 16:35:16 282

原创 架构师必备技术-负载均衡介绍

HAProxy是一种开源的、高性能的负载均衡器(Load Balancer)和代理服务器,常用于分发网络流量到多个后端服务器,以提高性能、可用性和可扩展性。它使用单一进程、多线程模型来处理并发连接,同时支持基于事件驱动的I/O处理,使其具有卓越的性能。:HAProxy提供了丰富的监控和统计信息,包括连接数、请求速率、响应时间等指标,可通过内置的统计页面、日志文件或集成监控工具进行监控和分析。:HAProxy支持动态加载配置,可以在不停止服务的情况下进行配置更改,从而实现灵活的配置管理和快速的部署更新。

2024-03-19 14:22:55 344

原创 JVM常见启动参数

在本文中,我们学习了一些重要的JVM参数,这些参数可以用来调整和改善一般应用程序的性能。我们也可以将其中一些用于调试目的。

2024-03-19 10:51:16 1002

原创 分析线程dump文件的各种工具

Java dump 文件是指 Java 运行时环境生成的一种包含程序运行时状态信息的文件。这些信息包括线程堆栈、内存使用情况、对象的状态等。: Java dump 文件可以用于程序的调试和分析。通过分析 dump 文件,可以了解程序在运行过程中的状态,包括线程的堆栈信息、内存分配情况等,有助于发现程序中的问题和优化性能。: 当 Java 程序出现异常或崩溃时,可以生成 dump 文件来记录程序在崩溃前的状态信息。这对于诊断问题、定位故障原因非常有帮助,有助于开发人员快速定位并修复问题。

2024-03-18 13:26:00 1277

原创 JVM调优实战

今天我们运用jvm的命令,来观察一个模拟程序的GC情况,以及GC频繁的情况下,如何进行参数调整。

2024-03-17 14:17:25 1060 1

原创 java系统运行缓慢排查思路

这得运用一下jstack命令了,(具体用法,请参考之前的文章),可以导出程序运行的堆栈信息。简单的说,堆栈就是线程的运行信息。2.第二步,找到了进程还交不了差,进程就像台大机器,里面有大大小小的零件,都在耗费着资源,得找到具体是哪个零件着耗费资源。那么,首先想一下,一台linux服务器,资源是固定的,运行慢的原因,无非是资源被消耗殆尽,那么我们要揪出凶手,哪个进程里的哪个线程,耗费cpu资源比较多。4.第四步,根据第二步找到的线程号,转换为16进制后,正第三步中找到对应的线程号,可以定位到具体的代码行数。

2024-03-15 20:25:01 471 1

原创 JVM常用监控工具(3)-jstack

是 JDK 自带的一个工具,用于生成 Java 进程的线程快照(也称为堆栈跟踪)。它可以用于诊断 Java 应用程序中的线程问题,比如死锁、线程阻塞等。:表示线程被阻塞,通常是由于它试图获取一个对象的监视器锁(synchronized 代码块或方法)而被其他线程持有该锁,也可能是由于调用了。:表示线程正在等待某个条件的发生,如等待另一个线程的通知,或者等待某个条件的满足而进入休眠状态。参数可能会增加线程快照的大小,并稍微增加生成线程快照的时间,但通常这种额外的信息对于定位问题非常有帮助。

2024-03-15 11:41:24 423 1

原创 JVM常用监控工具(2)-jmap

是 Java Virtual Machine Memory Map 命令的一个工具,用于生成 Java 运行时内存映射的快照。它可以帮助诊断 Java 应用程序的内存使用情况,特别是在分析内存泄漏时非常有用。好了,help已经说的很清楚了,本教程结束。3.生成 Java 堆转储文件:使用 此命令时需要谨慎,,并且最好在对应用程序进行备份或者其他措施的情况下使用。下图为执行命令的结果,可以看出哪个对象占用的内存最多。关于导出的文件该用什么工具分析,且听下回分析。命令的基本用法:在命令行输入 jmap。

2024-03-14 20:28:27 501 1

原创 JVM常用监控工具(1)-jstat

JVM监控,JVM调优工具

2024-03-13 11:37:51 330 1

原创 redis命令大全-string

redis命令大全-string常见命令

2023-09-07 10:21:15 64

原创 redis 哨兵模式踩坑

redis哨兵搭建

2022-07-06 18:05:17 411 1

原创 k8s部署springboot项目实战

k8s环境1.k8s 部署redis apiVersion: apps/v1kind: StatefulSetmetadata: name: redis labels: app: redis annotations: security.alpha.kubernetes.io/unsafe-sysctls: net.core.somaxconn=65535spec: #securityContext: #privileged: true...

2022-01-19 17:36:42 1802

原创 k8s 部署springboot+redis报无法从string转化为 int问题

在用k8s部署springboot项目时,碰到一个问题,卡了1天多。在启动springboot时,控制台输出错误, ${REDIS_HOST:6379} 无法从string转化为 int,REDIS_HOST的值为 tcp:xxx.xxx.xxx:6379 。网上查询一番后,说是环境变量的问题,spring配置有个生效优先级属性文件的读取顺序大概是:java se运行时系统属性 >系统环境变量属性>bootstrap.properties> bootstrap-dev.p

2021-12-23 16:17:38 1521 1

原创 困扰了一天的dubbo问题

dubbo启动原理,Noprovideravailablefromregistry

2021-12-09 17:22:27 816

原创 链表反转

public static ListNode reverseList(ListNode head) { if(head == null) return null; //前一个结点 ListNode pre = null; //后节点 ListNode next = null; //head 当前节点 while (head != null){ ...

2021-05-18 15:15:42 54

原创 最小栈

155. 最小栈难度简单901设计一个支持push,pop,top操作,并能在常数时间内检索到最小元素的栈。push(x)—— 将元素 x 推入栈中。 pop()—— 删除栈顶的元素。 top()—— 获取栈顶元素。 getMin()—— 检索栈中的最小元素。解答:思路,用链表来实现栈,将最小值直接存在top节点,可实现o(n)复制度。class MinStack { Node top = null; class Node{ in...

2021-05-14 23:27:12 59

原创 zookeeper分布式锁原理

在分布式锁中,zookeeper分布式锁被广泛使用,那么,它的底层是如何实现的呢,在分析之前,我们首先要知道zookeeper临时顺序节点的一些特性临时性 当客户端失去连接时,此节点会自动删除。保证了客户端失去连接后,释放锁顺序性在zookeeper中,创建了一个临时顺序节点,那么他的子节点的序号都是按照创建顺序递增的。这2个特性保证了zookeepre分布式锁的实现。基本原理是想要获取锁的线程会各自创建一个临时顺序节点,并判断当前节点是否是序号最小的,如果是最小的,则锁获取成功,执行业..

2021-03-05 13:53:31 155

原创 spring源码分析 加载bean流程(一)

先来简单回顾下如何使用spring的ioc功能,首先在application.xml中配置一个bean A。<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:conte...

2021-03-02 14:15:09 128

原创 springboot服务异常宕机

早上被通知服务挂了,于是去查服务器日志,最后的日志终止于一个job。运用 linux 命令 sudo dmesg -T | grep "java" 查询到日志为linux内存一共是4g,jvm服务用了差不多接近4g,系统的防御性机制导致jvm被系统强制杀死。至于jvm为什么用了这么多内存,还有待排查...

2021-02-24 10:16:20 1056

原创 微信公众号对接支付宝教程

1.微信公众号中的网页如何调用支付宝支付宝沙箱环境https://open.alipay.com/platform/appDaily.htm?tab=info基本流程1.前端页面调用后台下单接口,后台接口返回支付宝支付url。2.前端跳转后台返回的支付宝url,跳转到支付宝付款页面3.用户支付订单,支付成功后,支付宝异步回调我们在支付宝后台配置的应用网管URL。4....

2019-05-20 16:28:02 8238

原创 spring中的设计模式-模版方法

1.什么是模版方法

2014-08-10 10:47:50 481

原创 spring中的设计模式-单例模式

最近在看spring的源码,发现用了很多的设计模式。

2014-07-28 22:24:57 549

阿里巴巴Java编码规范.pdf

编码规范编码规范编码规范编码规范编码规范编码规范编码规范编码规范编码规范编码规范编码规范编码规范编码规范编码规范编码规范编码规范编码规范编码规范编码规范编码规范编码规范编码规范编码规范编码规范编码规范

2018-02-26

空空如也

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

TA关注的人

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