- 博客(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语言中预先定义好的、具有特殊含义的标识符。这些标识符在程序中有固定的用途,不能用作变量名、方法名或类名。Java中共有 53 个特殊标识符,其中包括 48 个关键字,2 个保留字,外加 3 个特殊直接量。
2024-11-21 11:04:36
1008
原创 使用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关注的人