自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 快速掌握面试中设计模式问题

把对象的创建和业务逻辑分开,这样避免了修改客户代码,如果要实现新产品直接对工厂里面的代码进行修改,不需要在源代码中修改降低了客户代码修改的可能性,实现了拓展。抽象产品:定义了产品的规范,描述了产品的主要特性和功能(这里我感觉就是设计了接口,里面规范了产品的功能和特性)具体处理者:实现抽象处理者的处理方法,判断能否处理本次请求,如果可以处理请求则处理,否则将改请求转给它的后继者。在系统增加新的产品时只需要添加具体产品类和对应的具体工厂类,无须对员工厂进行任何修改,满足开闭原则。

2025-09-04 00:08:13 874

原创 面试中的JVM虚拟机的问题

程序技数器是JVM运行时数据区的一部分,每个线程都有一个独立的程序计数器,用来记录当前线程执行的字节码指令地址。它对于多线程来说使用的是线程轮流切换并且分配线程执行时间。在任何一段时间点上,一个处理器只会处理一个线程,如果当前被执行的这个线程所分配的时间用完了就会挂起。处理器会切换到另一个线程上进行执行。并且这个线程的执行时间也用完了,接着处理器就会又来执行被挂起的这个线程是的,我了解 Java 堆。“Java 堆是JVM运行时数据区中最大的一块内存区域,被所有线程共享,主要用于存放对象实例。

2025-09-02 17:25:56 902

原创 面试中关于数据库的问题

索引的话其实很好理解,它是帮助MySQL高效获取数据的"数据结构"本质是一个独立的存储结构,记录了某个字段的值然后对应的是数据位置它就像书的目录、字典的拼音表、城市的地铁图面试回答模板索引是MySQL帮助查找数据的数据结构,最常用的是B+树索引他就像目录一样,存储了字段值和数据行位置的映射,避免全表扫描,大幅提高了查询效率通过索引列对数据进行排序,降低数据排序的成本,降低了CPU的消耗聚簇索引就是将数据和索引放到一起,B+树得叶子节点保存了整行数据,有且只有一个,一般情况下主键作为聚簇索引的。

2025-09-01 09:48:03 1746

原创 面试中关于计算机网络的题目

WebSocker是一种基于TCP的全双工通信,既客户端和用户端可以同时发送和接受数据。客户端和用户端仅需要建立一次连接就可以创建一个持久性的连接,并进行双向数据传输。

2025-08-30 21:09:14 859

原创 面试中的并发编程题(下)

就是吃饭的时候你要拿到叉子和刀子才能完成吃饭这个动作,那么现在有线程A和B,线程A首先拿的是刀子然后刀子就会锁住,然后线程B拿的是叉子然后叉子就会锁住,那么假如线程A现在又去想要拿到叉子但是现在叉子被锁着呢,然后线程B就想拿到刀子而刀子也锁住了,这个时候就会发生死锁。3、并发高、业务执行时间长,解决这种类型任务的关键不在于线程池而在于整体架构的设计,看看这些业务里面某些数据是否能做缓存是第一步,增加服务器是第二步,然后到时候线程池的配置就看第2个小点。

2025-08-29 13:35:00 695

原创 面试中的并发编程题(上)

AQS是多线程中的队列同步器。是一种锁机制,它是做为一个基础框架使用的,像ReentrantLock、Semaphore都是基于AQS实现的AQS内部维护了一个先进先出的双向队列,队列中存储的排队的线程在AQS内部还有一个属性是State,这个State就相当于是一个资源,默认是0(无锁状态),如果队列中的有一个线程修改成功了state为1,则当前线程就相当于获取了资源在对state修改的时候使用的cas操作,保证多个线程修改的情况下原子性。

2025-08-28 19:22:38 1804

原创 Java面试中的集合框架问题

String和Integer被广泛用作HashMap的key,是因为它们具备做key的理想特性:不可变性:一旦创建,hashCode不会变,适合做key正确重写了hashCode()和equals():能保证逻辑一致线程安全:无状态,多线程访问安全当我们使用自定义对象作为key时,必须:重写equals方法:定义对象相等的业务逻辑重写hashCode方法:保证相等的对象有相同的哈希值最好将key设为不可变对象:避免hashCode变化导致无法定位桶否则可能导致对象存进去却取不出来,因为。

2025-08-27 12:36:38 1980

原创 面试中的代理问题

代理模式就是一种结构性设计模式,它为某个对象提供了一个代理,用来控制对原对象的访问。代理对象和目标对象实现同一个接口客户端通过代理对象间接访问目标对象代理可以在调用前后添加额外逻辑问题代理如何解决不想直接访问目标对象通过代理隐藏真实对象(保护代理)想在调用前后加通用逻辑如日志、事务、权限校验(增强功能)目标对象创建成本高用代理延迟加载(虚拟代理)远程对象访问本地代理调用远程服务(远程代理)这个答案可以用于所有关于代理/AOP的问题所以,JDK动态代理是基于接口的运行时代理,依赖反射;CGLIB。

2025-08-26 10:57:39 1042

原创 快速了解面试中的反射

反射就是Java提供的一种机制,允许程序在运行时动态的获得类的信息、方法、构造器等成员1、它打破了我们编译时确定类型的限制通常情况下我们调用对象就是只有在编译的时候才知道原来里面有save方法而反射是Class<?2、它的做用能力说明🔍 获取类信息包名、父类、实现接口、注解等🧱 创建对象或🔧 操作字段读写私有属性(🎯 调用方法调用私有方法、动态分派🔄 修改行为配合动态代理,改变方法执行逻辑3、能够解决什么问题框架设计:Spring、MyBatis不可能提前知道你写的。

2025-08-26 09:25:06 1105

原创 泛型与通配符

这个只适用于来读不适用于写,它好比就是一封信,你知道它是一封信但是不知道是用什么语言来写的,所以你不敢往里面添加数据但是你可以去读取数据。Object这个就好比是一个框子,你可以任意的向里面添加任何水果,但是你取得时候就要注意你取的有可能是苹果也有可能是橘子所以要一个个得看。的泛型是通过泛型擦除实现的,这意味着泛型信息只能在编译的时候存在,用于类型检查和自动转型。是一个未知的子类型,你无法确认里面到底是什么,Integer和Double是Number的子类,这个集合装的是T或T得子类,我能安全的读出T。

2025-08-25 19:27:45 558

原创 什么是浅拷贝和深拷贝

2、所以你比较得话就会发现,如果比较得是对象得内容的话返回的是true,但是如果比较的是地址的话就是会返回的false。2、如果拷贝得是引用类型得话就是直接拷贝得是复制对象得地址,也就是说原对象和拷贝得对象使用得是同一个地址。1、深拷贝拷贝得不是地址而是完全根据原对象创建出了一个新的对象,内容相同而且地址也是创建得一个新的地址。1、他如果是对基本类型的对象进行拷贝的话其实只是拷贝的是值得本身。这里要复制一个对象的话就要把其中里面的包含对象也进行复制。

2025-08-21 16:26:17 178

原创 负载均衡的原理

客户端 -> 负载均衡器 -> 注册中心 (获取服务列表) <- 返回服务列表 -> 负载均衡器 (选择一个实例) -> 服务实例 (处理请求) <- 响应 <- 负载均衡器 (返回响应)

2025-08-10 14:32:11 247 1

空空如也

空空如也

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

TA关注的人

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