自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 浅谈Java锁机制

公平锁和非公平锁是并发编程中的概念,用于控制多个线程对共享资源的访问。它们的区别在于线程获取锁的顺序和策略。公平锁(Fair Lock)是指多个线程按照申请锁的顺序来获取锁的访问权。当一个线程释放锁之后,等待时间最长的线程将获得锁的访问权。公平锁的优点是保证了资源的公平性,避免了线程饥饿现象,但可能会导致额外的线程上下文切换开销。非公平锁(Unfair Lock)则没有按照申请锁的顺序来获取锁的访问权,允许新申请锁的线程插队,优先抢占锁的访问权。

2023-05-28 16:45:29 151

原创 java设计模式

Java设计模式是一套在Java编程语言中常用的设计思想和模式,用于解决软件设计和开发过程中的常见问题。这些设计模式提供了一种结构化的方式,帮助开发人员设计出灵活、可维护和可扩展的代码。Java设计模式主要遵循面向对象编程(OOP)的原则,如封装、继承、多态等,并以此为基础提供了一系列可复用的解决方案。设计模式是一套经过反复使用的代码设计经验,目的是为了重用代码、让代码更容易被他人理解、保证代码可靠性,描述了在不同情况下的代码组织、对象交互、类关系和行为分配等问题的最佳实践。

2023-05-28 02:53:03 238

原创 JVM调优

因此,建议在调优之前先进行性能分析和监测,针对性地调整参数,并进行实际测试和验证,以确保优化的效果和稳定性。每个参数都有特定的作用和含义,根据具体需求和应用程序的特点,选择适当的参数进行配置和调整。:垃圾回收是JVM的重要功能,但不恰当的垃圾回收策略可能导致长时间的停顿和性能下降。JVM调优旨在选择合适的垃圾回收器、调整垃圾回收参数,平衡吞吐量和停顿时间,减少垃圾回收对应用程序的影响。通过选择合适的垃圾回收器算法和参数,调整垃圾回收策略,可以降低垃圾回收的频率,提高系统的运行效率。

2023-05-28 01:18:45 8064

原创 GC垃圾回收机制

在java程序运行的过程中,会产生大量的对象,因每个对象所能承担的职责不同所具有的功能不同所以也有着不一样的生命周期,有的对象生命周期较长,比如Http请求中的Session对象,线程,Socket连接等;所以这几个区域的内存分配与回收是确定的,我们不需要管的。当JVM触发GC时,首先会让所有的用户线程到达安全点SafePoint时阻塞,也就是STW,然后枚举根节点,即找到所有的GC Roots,然后就可以从这些GC Roots向下搜寻,可达的对象就保留,不可达的对象就回收。所以,垃圾回收是必须的。

2023-05-27 22:15:09 5295 1

原创 Spring 循环依赖

在BeanPostProcessor 中可以完全替换掉某个 beanName 对应的 bean 对象。

2023-03-19 21:17:48 131

原创 Spring IOC AOP

通过 loadBeanDefinitions 扫描所有xml配置、注解将Bean记录在beanDefinitionMap中。

2023-03-19 20:16:35 91

原创 idea警告:Field injection is not recommended

1、在使用@Autowired进行属性依赖注入时,会出现警告:Field injection is not recommended@Autowiredprivate SingleTask singleTask;当你鼠标滑动到@Autowired上面,同时按下alt+enter键时,就会看到下面这样的提示这说明编辑器建议你使用构造注入的方式进行bean的注入。2、通常依赖注入方式有三种:constructor为了强制依赖,或者为了易变性,使用构造方法注入getter & sett

2022-03-15 09:32:50 1356

原创 Spring Cloud五大核心(入门学习)

SpringCloud1、SpringCloud简单介绍2、SpringCloud五大组件运行流程1. 服务注册与发现 Eureka1.1 什么是Eureka1.2 原理基本架构角色分工自我保护机制2. 负载均衡客户端负载均衡 Ribbon服务端负载均衡 Feign3. 熔断器 Hystrix3.1 分布式面临问题3.2 什么是熔断?3.3 熔断机制4 .网关 Zull5. 分布式配置 Spring Cloud Config1、SpringCloud简单介绍SpringCloud 是一系列框架的集合

2021-12-07 14:50:10 1291

原创 全网最全http状态码

HTTP请求常见状态码

2021-12-03 14:20:58 305

原创 多线程问题

目录线程和进程的区别?Thread和Runnable的区别?线程池线程池的工作原理线程和进程的区别?根本区别:进程时操作系统资源分配的基本单元,进程是任务调度和执行的基本单元;地址空间:同一进程的线程共享本进程的地址空间,而进程之间是独立的地址空间;关系:一个程序至少一个进程,一个进程至少一个线程。Thread和Runnable的区别?1、如果一个类继承Thread,则不适合资源共享,如果实现了Runnable接口,很容易就实现了资源共享;2、Runnable是接口,Thread是类,且实现了

2021-10-22 16:49:24 118

原创 redis

文章目录Redis 持久化机制缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题Redis 持久化机制Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数据持久化。当Redis重启后通过把硬盘文件重新加载到内存,就能达到恢复数据的目的。实现:单独创建fork()一个子进程,将当前父进程的数据库数据复制到子进程的内存中,然后由子进程写入到临时文件中,持久化的过程结束了,再用这个临时文件替换上次的快照文件,然后子进程退出,内存释放。RDB是Redis默认的持久化

2021-10-20 19:39:13 170

原创 数据库知识

目录数据库的作用数据库的事务数据库优化的方案数据库的三大范式MySQL引擎MySQL存储引擎MyISAM与InnoDBMyISAM索引与InnoDB索引的区别?MySQL的默认隔离级别什么是游标?SQL的生命周期?主键使用自增ID还是UUID?CHAR和VARCHAR存取的差别数据库的作用主要作用是为了提高查询效率,它的执行也是有一定条件的,不是加了索引就一定能够加快查询的效率,由于索引的创建是需要占据内存空间的.以下不适合加索引:1:如果每次都需要取到所有表记录,无论如何都必须进行全表扫描了,那么是

2021-10-20 17:24:44 103

原创 idea配置Gitee,上传、更新项目

idea配置Gitee,上传、更新项目Gitee配置Gitee账户注册安装Git链接远程配置idea上传项目Gitee更新项目Gitee配置Gitee账户注册点击这里访问Gitee官网 ---- 点击这里安装Git1、安装git本地工具 ----点击这里2、根据需求安装需要的版本(建议安装在C盘以外的其他盘符)3、安装成功后,在桌面鼠标右键就会看见Git Bash和Git GUI,打开Git Bash,进入bash界面。4、注册邮箱(在git bash界面输入如下内容即可完成邮箱的注册

2021-10-20 15:55:47 1077

空空如也

空空如也

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

TA关注的人

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