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

原创 java垃圾回收器

在实际应用中,选择合适的垃圾回收策略需要根据应用的具体需求来决定。例如,对于一个金融交易系统,可能需要选择CMS或ZGC以减少停顿时间;而对于一个后台批处理系统,Parallel GC可能是更好的选择,因为它可以最大化吞吐量。通过理解每种算法的特点,可以更好地优化应用的性能。Java的垃圾回收机制是自动管理内存的重要部分,它帮助开发者避免内存泄漏和手动内存管理的复杂性。Java中有几种主要的垃圾回收算法,每种都有其特定的应用场景和优缺点。文案由AI生成 仅供参考。

2025-05-29 17:46:32 314

原创 SpringBoot 和 SpringCloud 的区别是什么?

例如,在一个电商系统中,可以使用SpringBoot开发用户服务、订单服务和支付服务,然后通过SpringCloud的服务注册与发现(如Eureka)、配置中心(如Config Server)和断路器(如Hystrix)来协调这些服务之间的交互,确保系统的高可用性和可扩展性。它提供了一系列的工具来快速实现服务发现、配置管理、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态管理等。是一个用于简化新Spring应用初始搭建以及开发过程的框架。

2025-05-29 17:37:50 398

原创 面试,谈一谈CAS机制

否则,返回false,表示修改失败,而这个过程是原子的,所以呢,CompareAndSwap的底层实现中,在多核。嗯,像AtomicInteger 这个类中,就用到了。CAS是Java中Unsafe类里面的方法,它的全称。方法doSomething0,这个方法的逻辑是,判断。这个过程不管是在什么层面上实现,都会存在原子性问题。CAS主要用在并发场景中,比较典型的使用场景有两个。但是,加同步锁,会带来性能上的损耗,所以,对于这类。有一个成员变量state,默认值是0,定义了一个。

2025-05-29 17:27:15 310

原创 多线程情况下,怎么解决共用了同一个对象的问题,分布式系统中又是怎么解决的

在这种情况下,可以使用分布式锁服务,如Zookeeper或Redis,来确保只有一个节点可以更新缓存。然而,完全的一致性可能会牺牲系统的可用性和性能,因此在实际应用中,我们常常采用最终一致性模型,通过补偿事务(如Saga模式)来确保业务逻辑的正确性。例如,在一个电商系统中,订单创建和库存扣减可以分别在不同的服务中完成,通过消息队列和事件总线来异步处理,确保最终的一致性。此外,对于读多写少的场景,读写锁(Read-Write Lock)可以提高性能,允许多个读线程同时访问,但写线程需要独占锁。

2025-05-29 17:09:36 499

原创 锁?锁的自旋、公平锁非公平锁,CAS

自旋锁是一种忙等待锁,当线程尝试获取锁但锁被其他线程持有时,该线程不会进入阻塞状态,而是不断循环检查锁是否可用。锁有多种类型,包括自旋锁、公平锁和非公平锁,以及CAS(Compare and Swap)操作,这些都是面试中常见的考察点。公平锁:按照线程请求锁的顺序来获取锁,确保每个线程都能公平地获得锁。非公平锁:线程在获取锁时,可能会直接尝试获取,而不是排队等待,提高吞吐量但可能导致饥饿。描述自旋锁的工作原理,即在锁被占用时,线程不会进入阻塞状态,而是不断循环尝试获取锁。分析公平锁与非公平锁。

2025-05-29 17:02:01 512

原创 JDK 中常用的包有哪些?

用于输入输出操作,包括文件读写、网络通信等。在高并发场景下,这些类可以帮助开发者更好地管理线程和资源。几乎所有的Java程序都会自动导入这个包,无需显式声明。在开发需要与数据库交互的应用时,这个包是必不可少的。:非阻塞I/O操作,适用于高性能网络编程。在开发Web服务或客户端时,这些类非常有用。例如,在处理大量数据时,常用。:用于数据库操作,提供了JDBC接口,如。:包含Java语言的核心类,如。可以实现高效的异步I/O处理。:提供了网络编程的支持,如。:包含并发编程的工具类,如。:提供了集合框架(如。

2025-05-29 16:41:56 212

原创 springcloud有哪些组件

在项目中,我们利用Eureka来管理各个微服务的实例,确保服务之间的调用能够动态地找到目标服务。在项目中,我们结合Eureka使用Ribbon,实现了服务的智能路由。在项目中,我们使用了Hystrix来保护关键服务,确保即使某个服务不可用,也不会影响整体系统的稳定性。在项目中,我们使用Config Server来管理不同环境的配置,确保配置的一致性和灵活性。同时,我们也遇到了一些挑战,比如配置中心的高可用性和服务调用的性能优化,通过引入Redis缓存和异步处理机制,有效解决了这些问题。

2025-05-29 16:36:22 405

原创 mysql索引失效

2、当or左右查询字段只有一个是索引,该索引失效,只有当or左右查询字段均为索引时,才会生效。3、组合索引,不是使用第一列索引,索引失效。4、数据类型出现隐式转化。8、当全表扫描速度比索引速度快时,mysql会使用全表扫描,此时索引失效。当查询条件中涉及的列没有索引,或者索引选择性不高时,MySQL可能会选择全表扫描而不是使用索引。当查询条件中的数据类型与索引列的数据类型不匹配时,会发生隐式类型转换,导致索引失效。5、,在索引列上使用 IS NULL 或 IS NOT NULL操作,索引是不索引空值的。

2025-05-29 16:19:47 298

原创 springboot有哪些优点

这个要从spring 发展历史谈起,从1代到2.5代为配置文件主流,有少量注解使用。所以很明显,springboot 目的就是简化繁琐配置,为了更加便于开发,spring boot 提前配置了很多组建,但是默认是不启用的,而是需要引入starter 激活一下,而这种自动选择最大功劳来自于@Conditional注解,由此就实现了自动装配。简言之,springboot是一个基于注解开发spring 框架,目的是简化原来spring 开发,快速构建,同时也是后续springcloud 的基础。

2025-05-29 16:00:00 130

原创 map几种实现方式

在Java中,Map接口有多种实现,每种实现都有其特定的用途和性能特点。

2025-05-29 15:36:26 197

原创 解决 POST 和 GET 请求中文乱码问题有哪几种方法?

解决POST请求乱码:我们可以在web.xml里边配置一个CharacterEncodingFilter过滤器。解决get请求的乱码有两种方法:①,修改tomcat配置文件添加编码与工程编码一致;②,另一种方法对参数进行重新编码String userName =String(Request.getParameter("userName").getBytes("ISO8859-1"),"utf-8");

2025-05-29 15:18:19 240

原创 Redis缓存热点数据时为什么要设置随机的超时时间?

防止高并发下大量key同时过期,导致缓存被击穿,大量请求访问到数据库层面,压垮数据库。

2025-05-29 15:07:46 108

原创 JVM 调优的常用命令和参数是什么?

2、jmap:用来生成dump文件和查看堆相关的各类信息的命令。5、jinfo:查看jvm参数和动态修改部分jvm参数。7、- XX:MaxPermSize:设置永久代最大值。6、-XX:PermSize:设置永久代初始值。4、jstack:查看jvm线程快照的命令。3、jstat:查看jvm运行时的状态信。1、jps:查看进程及其相关去信息。3、-Xmn:新生代的内存空间大小。5、-Xss:每个线程的堆栈大小。1、-Xms:初始化堆大小。2、-Xmx:最大堆大小。

2025-05-28 22:28:52 127

tomcat中三种部署项目的方法.txt

tomcat中三种部署项目的方法tomcat中三种部署项目的方法tomcat中三种部署项目的方法

2010-04-30

SVN版本控制器安装和配置

SVN安装和配置,供大家学习,SVN安装和配置

2010-05-04

jprofiler监控工具使用说明.doc

jprofiler监控工具使用说明.doc jprofiler监控工具使用说明.doc jprofiler监控工具使用说明.doc

2010-06-28

经典SQL语句大全_主外键_约束.doc

经典SQL语句大全_主外键_约束.doc经典SQL语句大全_主外键_约束.doc经典SQL语句大全_主外键_约束.doc经典SQL语句大全_主外键_约束.doc

2011-06-22

数据库原理数据库原理数据库原理

数据库原理数据库原理数据库原理数据库原理数据库原理数据库原理数据库原理数据库原理数据库原理数据库原理数据库原理

2010-06-28

基于角色实现窗口按钮级通用动态权限管理.pdf

基于角色实现窗口按钮级通用动态权限管理.pdf 基于角色实现窗口按钮级通用动态权限管理.pdf

2010-06-28

google浏览器.rargoogle浏览器.rargoogle浏览器.rar

google浏览器.rargoogle浏览器.rargoogle浏览器.rargoogle浏览器.rargoogle浏览器.rar

2010-05-06

oa办公自动化系统oa办公自动化系统

oa办公自动化系统oa办公自动化系统oa办公自动化系统oa办公自动化系统oa办公自动化系统

2008-10-17

JDK1.5+API中文版

JDK1.5+API中文版,jdk1.5泛型、增强for循环、自动打包解包

2011-06-22

取色器.取色器.取色器.取色器.

取色器.取色器.取色器.取色器.取色器.取色器.取色器.取色器.取色器.取色器.取色器.

2010-05-06

struts应用学习小例子

struts应用学习小例子struts应用学习小例子

2009-02-07

struts小应用事例学习

struts小应用事例学习struts小应用事例学习struts小应用事例学习

2008-10-17

空空如也

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

TA关注的人

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