自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ConcurrentHashMap死锁陷阱?从JDK源码拆解大厂最新Java面试风向

本资料涵盖了常见的 Java 岗技术领域,包括但不限于以下内容:MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Java 并发编程、Spring、微服务、Linux、Spring Boot、Spring Cloud、RabbitMQ、kafka、Git、设计模式、大数据等众多技术点。希望通过这次分享,能够为正在求职路上努力拼搏的你提供一点小小的帮助。将这份宝贵的资源分享给大家,希望能为正在寻找工作的小伙伴儿们提供一些帮助。

2025-02-07 20:56:52 285

原创 竟然还有人不知道 Java 的内省机制

在计算机科学中,内省是指程序运行时检查对象类型的能力。在 Java 中,内省机制是一种用于处理符合 JavaBean 规范的类的方法。它提供了一套 API,允许我们通过程序化的方式访问和操作类的属性、方法及事件。通过这种方式,我们可以在不知道具体实现细节的情况下,动态地访问或修改对象的状态。

2025-01-30 14:37:17 918

原创 农银一面:Filter、Interceptor、Spring AOP 的执行顺序

Filter是JavaServlet规范的一部分,定义在包中,Filter可以对Servlet容器的所有HTTP请求()和响应()进行预处理或后处理操作。例如,在请求到达目标资源之前执行身份验证或设置字符编码,或者在响应返回给客户端前修改其响应内容格式。是SpringMVC框架的一部分,是位于包中的接口,用于在请求处理之前或之后执行特定逻辑。与Filter不同的是,不依赖于Servlet容器,它是Spring框架独有的。

2025-01-20 14:38:31 982

原创 SpringBoot 自动装配原理

在企业级应用中,经常会有一些通用的功能模块,如安全认证、日志记录、缓存管理或者其它一些跟业务相关的模块等等。这些模块可以被多个项目复用,通过自定义Starter可以方便地在不同项目中集成这些功能。实际应用场景举例:比如公司中有多个线上业务系统需要进行电子合同的签署,这时候可能需要对接三方的合同服务,比如法大大、CFCA等。因为在不同的业务版块中都要使用电子签章的功能,所以需要开发一个通用的调用签署功能的模块,这时候我们就可以将调用外部签署服务的功能封装成一个Starter来简化代码的集成,提高开发效率。

2025-01-20 14:09:56 818

原创 面试官:说下对 Java 中异常的理解(详解 Java 异常机制)

Java 中的Exception分为两大类:Checked Exception(检查异常) 和 Unchecked Exception(非检查异常)。:Checked Exception 是指那些必须在编译时被显式处理的异常,如果不处理这类异常,IDE 中的编译器一般会给出错误提示。如果一个方法可能会抛出 Checked Exception,那么该方法要么通过throws声明抛出异常,要么在其内部使用try-catch捕获异常。

2025-01-07 09:29:25 769

原创 Spring Bean 是单例的吗?如何保证并发安全?

在分布式服务环境中,确保并发安全的挑战更为复杂,因为不仅需要处理单个应用程序内的多线程问题,还需要应对跨多个节点的并发访问。彼时,我们可以借助RedisZookeeper等分布式中间件来控制多个服务节点的并发。

2024-12-17 21:27:34 1024

原创 Java面试:面相对象三大特性

通过封装,我们可以隐藏对象的内部细节,只暴露必要的接口,这样可以防止外部代码随意修改对象的状态,确保代码的安全性和稳定性。子类可以继承父类的属性和方法,这样可以避免重复编写相同的代码,同时也能够扩展或修改父类的功能。从示例中我们也可以看出,当父类引用指向子类对象的时候,我们就不能调用子类拥有而父类没有的方法了,调用的时候必须做类型转换,才能使编译通过。

2024-12-14 10:07:54 1062

原创 Java基础面试:可变长参数

可变长参数,是一种语法糖,它允许方法可以接受不定数量的参数,而无需显式地处理数组。在编译时,方法声明中的可变参数会被转换为数组参数,方法调用中的参数会被打包成一个数组。在没有可变长参数的情况下,如果要实现类似的功能,我们可能需要定义多个重载方法,每个方法接受不同数量的参数。每次调用带有可变参数的方法时,都会创建一个新的数组来存储传入的参数。当我们无法确定方法需要接收多少个参数时,可变长参数提供了一种便捷的方式来处理这种情况。

2024-12-13 17:35:33 197

原创 面试官:Java 的 SPI 都不了解?这很难让你通过啊!

服务提供者接口,是一种用于动态加载服务的机制。它制定了一套接口规范和一套服务发现机制,将服务的具体实现转移到应用之外,通过标准化配置的方式动态进行服务的加载,提高的应用的灵活性和扩展性。由服务调用方提供接口规范,定义了一个标准接口,然后由不同的服务提供者实现这个接口,从而实现服务的动态发现和加载。强依赖于类加载器,它的实现类必须放置在应用的类路径下才能被动态的发现和加载,这限制了服务发现的灵活性。:将服务接口和实现分离,使得服务接口无需关注服务实现类的具体实现,实现了服务接口与服务实现的解耦。

2024-12-08 12:07:58 835

原创 接口安全:防篡改和防重放

API 作为应用程序之间的桥梁,承载了大量的数据交换任务。然而,那些暴露在互联网中的接口也可能成为攻击者的目标。为了确保数据传输的安全性,我们必须采取有效的安全措施来防范篡改攻击和重放攻击。下面我们将以 应用中的 安全设计为例,讲解下如何实施这些安全措施。篡改攻击利用了数据在传输过程中的不安全性。攻击者可以通过中间人攻击()等方式拦截数据包,然后修改其中的关键字段,比如金额、用户身份信息等,再将修改后的数据包发送给接收方,以达到恶意目的。

2024-11-22 16:37:22 814

原创 Java基础面试:Java中的方法

方法是 Java 中的一段可重用的代码块,用于执行特定的任务,是程序中的最小执行单元。

2024-11-21 21:26:19 422 1

原创 Java基础面试:关键字与注释

Java关键字是Java语言中预先定义好的、具有特殊含义的标识符。这些标识符在程序中有固定的用途,不能用作变量名、方法名或类名。Java中共有 53 个特殊标识符,其中包括 48 个关键字,2 个保留字,外加 3 个特殊直接量。

2024-11-21 11:04:36 1008

转载 接口性能优化技巧,干掉慢代码!

接口性能优化技巧,干掉慢代码!

2022-10-19 09:47:17 159

原创 使用SpringCloudConfig连接码云报错Cannot clone or checkout repository:xxx

使用SpringCloudConfig集中管理配置,将配置文件上传到码云(gitee.com),然后开始配置配置中心微服务。新建微服务,导入maven依赖:<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> ...

2019-04-10 12:28:16 2666

原创 Spring-boot的application.properties(摘自 Spring-boot 1.4.4 官方文档)

# ===================================================================# COMMON SPRING BOOT PROPERTIES## This sample file is provided as a guideline. Do NOT copy it in its# entirety to your own appl...

2019-03-04 16:54:18 482

原创 Spring-boot 的启动器 (摘自 Spring-boot 1.4.4 官方文档)

1. Spring Boot application starters spring-boot-starter-thymeleaf 使用 Thymeleaf 视图构建 MVC Web 应用程序 spring-boot-starter-ws 使用 Spring Web 服务。1.4 不推荐使用,推荐使用 spring-boot-starter-web-services spri...

2019-03-04 16:45:08 717

原创 If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.

今天学习SpringBoot,使用SpringBoot整合SpringMVC和SpringDataJpa后,写了一个简单的小demo,使用启动类启动后,出现了如下问题:***************************APPLICATION FAILED TO START***************************Description:Failed to auto...

2019-03-04 13:08:53 7038 2

原创 socket实现简易tomcat server

提供socket服务并实现请求的分发。服务器监听客户端请求——解析请求头——根据请求映射关系分发处理——调用service方法——执行doGet或doPost方法——响应请求。1、服务器持续监听客户端请求。/** * @author jiang * @Description Server */public class Server { @SuppressWarnings(...

2019-02-28 16:21:15 522

原创 BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for

org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schem...

2019-02-25 11:00:51 1214

原创 不使用spring的自动装配,获取容器中管理的对象

package com.abc.utils;import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;import org....

2019-01-18 10:54:51 457

原创 Java面向对象-继承浅析

继承:    就是在已有类的基础上构建出新的类,新的类称为已有类的子类,子类会自动拥有父类所有的非私有的属性和行为,并且还能扩展自己特有的功能。继承的特点:    1、java中只支持单继承,不支持多继承    2、支持多层继承(形成继承体系)继承需注意的问题:    1、子类只能继承父类非私有的成员(成员变量和成员方法)    2、父类的构造方法子类不能继承,但是可以...

2018-04-25 15:40:48 131

空空如也

空空如也

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

TA关注的人

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