随笔分类 - Java
Java相关技术
摘要:在Spring MVC中,请求处理的过程通常分为以下几个步骤: 1. 通过HandlerMapping根据请求的URL匹配到相应的Handler(处理器)。 2. 通过HandlerAdapter调用对应的Handler处理请求。 3. 调用Handler返回一个ModelAndView对象。 4.
阅读全文
摘要:Spring 中的三级缓存是针对 bean 的加载和创建过程而设计的。在 Spring 容器中,每次请求获取一个 bean 时,Spring 首先检查一级缓存、二级缓存和三级缓存中是否已经存在该 bean,如果存在,则直接返回缓存中的实例对象,否则才进行 bean 的创建。三级缓存包括: 1. si
阅读全文
摘要:JDK(Java Development Kit)自带了很多工具,以下是一些常用的工具及其作用: 1. jstat:用于监视 JVM 中各种运行时状态信息,如类加载、内存、垃圾回收等。 2. jmap:用于导出 JVM 内存映像,可以用于内存泄漏分析、GC 分析等。 3. jstack:可以用于查看
阅读全文
摘要:# spring中属性的注入方式 Spring中属性注入的方式包括以下几种: 1. Setter 方法注入:通过在 Bean 类中定义对应的属性setter方法,然后在 XML 配置文件或 Java 配置类中使用 或 @Value 注解来为这些属性设置数值。 2. 构造函数注入:通过在 Bean 的
阅读全文
摘要:# Java笔试输入 ``` import java.util.*; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in) //判断是否有下一个输入 sc.has
阅读全文
摘要:Screen Shot 2023-05-09 at 23.32.02.png
阅读全文
摘要:目录 一、Java基础篇 1.接口和抽象类的区别 2.重载和重写的区别 3.==和equals的区别 4.异常处理机制 5.HashMap原理 6.想要线程安全的HashMap怎么办? 7.ConcurrentHashMap原如何保证的线程安全? 8.HashTable与HashMap的区别 9.A
阅读全文
摘要:SpringCloud核心组件: Eureka:个服务启动时,Eureka会将服务注册到EurekaService,并且EurakeClient还可以返回过来从EurekaService拉去注册表,从而知道服务在哪里 Ribbon:服务间发起请求的时候,基于Ribbon服务做到负载均衡,从一个服务的
阅读全文
摘要:# 1. Java Thread中和interrupt相关的方法有几个,作用分别是什么? 在 Java Thread 中,与 interrupt 相关的方法有以下几个,作用分别是: interrupt() 方法:中断线程。当线程调用 interrupt() 方法时,如果该线程正在阻塞状态(如 sle
阅读全文
摘要:在平时的工作中,我们的很多项目都是利用Spring进行搭建的。最近有空,基于源码好好分析一下,Bean在Spring中的生命周期 这里我们先写一个简单的小例子 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.spring
阅读全文
摘要:在我们日常的开发中,我们经常会用到Filter和Interceptor。有时同一个功能。Filter可以做,Interceptor也可以做。有时就需要考虑使用哪一个比较好。这篇文章主要介绍一下,二者的区别和联系。希望给大家进行选择的时候,提供一些帮助 Filter 和 Interceptor 的区别
阅读全文
摘要:创建一个Maven项目,添加web依赖 pom.xml添加mvc相关依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.5.RELEASE
阅读全文
摘要:在我们日常的开发中,我们经常会遇到 NullPointerException。如何才能优雅的处理NPE?这里告诉大家一个较为流行的方法 java.util.Optional 使用Optional来修饰对象,表示这个对象可能为null。在使用时,就要加以注意,必须要考虑该值为null的场景。 使用Op
阅读全文
摘要:id和name都是spring 容器中中bean 的唯一标识符。 id: 一个bean的唯一标识 , 命名格式必须符合XML ID属性的命名规范 name: 可以用特殊字符,并且一个bean可以用多个名称:name=“bean1,bean2,bean3” ,用逗号或者分号或者空格隔开。如果没有id,
阅读全文
摘要:在我们实际的开发过程中,我们肯定会用到MQ中间件,常见的MQ中间件有kafka,RabbitMQ,RocketMQ。在使用的过程中,我们必须要考虑这样一个问题,在使用MQ的时候,我们怎么确保消息100%不丢失? 案例背景 以我们熟悉的淘宝系统为例子,在用户下订单的时候,通常会给客户发放一下优惠劵。在
阅读全文
摘要:在我们实际使用中,我们经常会遇到对象需要序列化的问题。我将通过下面几个问题,理解序列化的相关问题 什么是序列化和反序列化 什么时候需要进行序列化和反序列化 实现序列化和反序列化为什么要实现Serializable接口 在实现Serializable接口时,为什么要显示指定serialVersionU
阅读全文
摘要:Java 运行时数据区 堆 线程栈 本地方法栈 方法区 程序计数器 我们的java文件,首先编译成class文件。通过类加载器加载到我们的Java虚拟机。Java虚拟机中,最大的一块是运行时数据区。 其中堆和方法区是所有线程共有的。线程栈、本地方法栈、程序计数器是每个线程单独拥有一份的。 类装载系统
阅读全文
摘要:在我们日常开发中,代理模式是一个非常常见的模式。动态代理时jdk中自带的,可以非常方便的在原有的功能上添加一些我们自己的功能。 什么是代理 就是为其他对象提供一个代理以控制被代理对象的访问。 动态代理 利用Java的反射机制,在运行时创建代理类。 public interface DoSomethi
阅读全文
摘要:在我们看他人code的时候经常会看到,可能会经常看到lambda表达式,函数式接口,以及流式计算。在刚接触这些新功能时,也觉得真的有必要吗?但是现在写多了,发现这个功能确实能简化代码结构,提升编码效率。lambda表达式,函数式接口,流式计算单个来用确实非常难用,但是整合到一起,就会发生非常奇妙的反
阅读全文

浙公网安备 33010602011771号