mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-08-10 00:41:37 +08:00
Compare commits
4 Commits
dcd08b196a
...
0c882c8057
Author | SHA1 | Date | |
---|---|---|---|
|
0c882c8057 | ||
|
d7b5ec6676 | ||
|
902621de5f | ||
|
5e2ea99207 |
@ -69,7 +69,7 @@ head:
|
||||
非连续内存管理存在下面 3 种方式:
|
||||
|
||||
- **段式管理**:以段(—段连续的物理内存)的形式管理/分配物理内存。应用程序的虚拟地址空间被分为大小不等的段,段是有实际意义的,每个段定义了一组逻辑信息,例如有主程序段 MAIN、子程序段 X、数据段 D 及栈段 S 等。
|
||||
- **页式管理**:把物理内存分为连续等长的物理页,应用程序的虚拟地址空间划也被分为连续等长的虚拟页,现代操作系统广泛使用的一种内存管理方式。
|
||||
- **页式管理**:把物理内存分为连续等长的物理页,应用程序的虚拟地址空间也被划分为连续等长的虚拟页,是现代操作系统广泛使用的一种内存管理方式。
|
||||
- **段页式管理机制**:结合了段式管理和页式管理的一种内存管理机制,把物理内存先分成若干段,每个段又继续分成若干大小相等的页。
|
||||
|
||||
### 虚拟内存
|
||||
|
@ -52,7 +52,7 @@ InnoDB 将 redo log 刷到磁盘上有几种情况:
|
||||
5. 后台刷新线程:InnoDB 启动了一个后台线程,负责周期性(每隔 1 秒)地将脏页(已修改但尚未写入磁盘的数据页)刷新到磁盘,并将相关的重做日志一同刷新。
|
||||
6. 正常关闭服务器:MySQL 关闭的时候,redo log 都会刷入到磁盘里去。
|
||||
|
||||
总之,InnoDB 在多种情况下会刷新重做日志,以保证数据的持久性和一致性
|
||||
总之,InnoDB 在多种情况下会刷新重做日志,以保证数据的持久性和一致性。
|
||||
|
||||
我们要注意设置正确的刷盘策略`innodb_flush_log_at_trx_commit` 。根据 MySQL 配置的刷盘策略的不同,MySQL 宕机之后可能会存在轻微的数据丢失问题。
|
||||
|
||||
|
@ -68,7 +68,7 @@ Route 路由和 Predicate 断言的对应关系如下::
|
||||
|
||||
Spring Cloud Gateway 作为微服务的入口,需要尽量避免重启,而现在配置更改需要重启服务不能满足实际生产过程中的动态刷新、实时变更的业务需求,所以我们需要在 Spring Cloud Gateway 运行时动态配置网关。
|
||||
|
||||
实现动态路由的方式有很多种,其中一种推荐的方式是基于 Nacos 配置中心来做。简单来说,我们将将路由配置放在 Nacos 中存储,然后写个监听器监听 Nacos 上配置的变化,将变化后的配置更新到 GateWay 应用的进程内。
|
||||
实现动态路由的方式有很多种,其中一种推荐的方式是基于 Nacos 注册中心来做。 Spring Cloud Gateway可以从注册中心获取服务的元数据(例如服务名称、路径等),然后根据这些信息自动生成路由规则。这样,当你添加、移除或更新服务实例时,网关会自动感知并相应地调整路由规则,无需手动维护路由配置。
|
||||
|
||||
其实这些复杂的步骤并不需要我们手动实现,通过 Nacos Server 和 Spring Cloud Alibaba Nacos Config 即可实现配置的动态变更,官方文档地址:<https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config> 。
|
||||
|
||||
|
@ -277,6 +277,7 @@ private SmsService smsService;
|
||||
- `@Autowired` 是 Spring 提供的注解,`@Resource` 是 JDK 提供的注解。
|
||||
- `Autowired` 默认的注入方式为`byType`(根据类型进行匹配),`@Resource`默认注入方式为 `byName`(根据名称进行匹配)。
|
||||
- 当一个接口存在多个实现类的情况下,`@Autowired` 和`@Resource`都需要通过名称才能正确匹配到对应的 Bean。`Autowired` 可以通过 `@Qualifier` 注解来显式指定名称,`@Resource`可以通过 `name` 属性来显式指定名称。
|
||||
- `@Autowired` 支持在构造函数、方法、字段和参数上使用。`@Resource` 主要用于字段和方法上的注入,不支持在构造函数或参数上使用。
|
||||
|
||||
### Bean 的作用域有哪些?
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user