
JAVA核心知识点汇总(实用)
5星
- 浏览量: 0
- 大小:None
- 文件类型:ZIP
简介:
本资料全面总结了Java编程语言的核心知识要点,内容涵盖语法基础、面向对象特性、集合框架及多线程等关键领域,旨在帮助开发者巩固和提升Java技能。
Java序列化是一种机制用于保存对象的状态到内存或者磁盘,并且可以将这些状态传输给网络上的其他对象。通过使用`ObjectOutputStream` 和 `ObjectInputStream`, 可以对对象进行序列化及反序列化的操作。
### 序列化
- **创建可复用的 Java 对象**:Java 序列化允许开发者保存(持久化)对象及其状态到内存或者磁盘。
- **字节数组保持**:通过将对象的状态转换为字节流,可以方便地在文件或网络上传输这些数据。需要注意的是静态成员变量不会被序列化过程所保存。
- **远程传输**:Java 序列化的另一个重要用途是支持用户远程对象的传输。
### 自定义序列化策略
可以通过重写`writeObject`和 `readObject` 方法来自定义序列化的过程,确保在特定情况下如何处理对象的状态。
### 深复制与浅复制
- **直接赋值**:这是最简单的复制方式。
- **浅复制**(Shallow Copy):这种形式的拷贝只创建了原始对象的一个副本,并且没有为引用的对象分配新的内存空间。因此,两个对象将共享同一组底层数据。
- **深复制**(Deep Copy):这种方式会递归地复制整个对象树,包括所有嵌套的对象实例。
### Java 复制
1. 直接赋值
2. 浅克隆
3. 深度克隆
4. 序列化实现深度克隆
Spring框架具有轻量级、控制反转(IoC)、面向切面编程(AOP)等特点,它提供了一种管理和配置应用程序组件的方式。通过使用依赖注入和容器管理Bean的生命周期等特性,使得开发人员能够专注于业务逻辑而非底层结构。
### Spring 核心概念
- **控制反转**:Spring框架的一个核心思想是将对象之间的相互关系交给外部进行定义。
- **面向切面编程(AOP)**: 通过在方法执行前后插入公共功能来增强现有代码,而无需修改原始源码。
- 容器负责管理Bean的生命周期,并且提供了诸如自动装配和依赖注入等功能。
### Spring IOC 原理
Spring容器主要由`ApplicationContext`接口及其实现类构成。这些实现包括了基于XML配置文件的标准应用上下文(如ClassPathXmlApplicationContext)以及Web环境下的特殊版本(如FileSystemXmlApplicationContext)。通过这种方式,开发者可以更方便地管理和操作Bean对象。
### Spring Bean 生命周期
- **实例化**
- 依赖注入
- `setBeanName` 实现
- `BeanFactoryAware` 接口实现用于获取容器的引用。
- 初始化方法或回调接口(`postProcessBeforeInitialization`)
- 用户自定义初始化逻辑(如通过XML配置中的init-method属性)
- 自动清理阶段,包括销毁前处理 (`postProcessAfterInitialization`) 和用户定义的清除操作(destroy-method)
### Spring AOP原理
Spring框架支持两种主要形式的代理实现:
1. **JDK 动态接口代理**:适用于任何实现了单一接口的情况。
2. **CGLib 动态代理**: 提供了对类进行增强的能力,即使目标对象没有提供需要被拦截的方法。
### Spring MVC原理
- 接收HTTP请求并将其传递给适当的处理器(Controller);
- Controller调用业务逻辑处理后返回ModelAndView对象;
- DispatcherServlet查询 ModelAndView 并将结果反馈到浏览器作为 HTTP 响应;
Spring Boot简化了创建独立的Spring应用程序的过程,集成了嵌入式Tomcat服务器,并且支持自动配置。它还提供了一些生产环境就绪的功能如健康检查和外部配置等特性。
### Mybatis缓存
Mybatis提供了两种级别的缓存机制:一级缓存(SqlSession级别)与二级缓存(Mapper级别)。其中,要使用二级缓存需进行相应配置。
- **一级缓存**:默认开启,在同一个 SqlSession 中生效;
- **二级缓存**:需要显式地在 Mapper XML 文件中定义启用,并且可能还需要设置一些属性如 eviction、flushInterval 等。
### Tomcat架构
Apache Tomcat 是一个开源的Web服务器和Servlet容器,支持Java Servlet技术。Tomcat的设计旨在提供一个简单但功能强大的环境来运行基于Java的应用程序。
- **服务层**:负责启动/停止整个Tomcat系统;
- **连接器(Connector)**: 用于处理客户端请求并传递给相应的处理器;
- **容器层次结构**:包括Engine、Host和Context等组件,它们共同管理Web应用程序的生命周期。
全部评论 (0)


