20、Java对象安全初始化与灵活调度无关的信息安全

Java对象安全初始化与灵活调度无关的信息安全

1 Java对象安全初始化

1.1 类型系统基础

在Java中,为了确保对象的安全初始化,提出了一种模块化类型系统。该系统有几个重要定义:
- 每个类 c 的默认构造函数 c.init 是唯一的。
- 类型系统依赖于良构状态的辅助概念,它捕获了类型系统强制执行的语义约束。一个状态 <m, i, ρ, σ, cs> 是良构的(wf),需存在一个类型注解 Lp ∈(Meth × L) →(Var →Type) ,满足以下条件:
- 堆的良构性(wf. heap) ∀l ∈L, ∀o ∈O, σ(l) = o ⇒σ ⊢o(f) : (p.fields f)
- 局部变量的良构性(wf. local variables) ∀x ∈Var, σ ⊢ρ(x) : Lp[m, i](x)
- 调用栈的良构性(wf. call stack) ∀(m′, i′, ρ′, r) ∈cs, ∀x, σ ⊢ρ′(x) : Lp[m′, i′](x)

基于这些条件,可以建立两个关键定理:
- 保存性(Preservation) :从良构状态的任何有效转换都会导致另一个良构状态。
- 进展性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值