`
chelsea
  • 浏览: 117784 次
  • 来自: ...
社区版块
存档分类
最新评论

访问控制 : 语言和平台

    博客分类:
 
阅读更多

程序逻辑上的组织方式(如名称空间,包等)可以和部署时的分发方式(如程序集,jar包等)不同,那么不同class间的相互访问权限应该在逻辑组织上限制还是物理分发上限制呢?

Java

语言本身

采用了对逻辑组织方式进行限制,即你可以访问java.lang中的私有类而能够通过编译,只要你自己的代码也以java.lang为包名[我猜的,没试过]

运行时

采用了对物理分发方式进行限制,可能跟缺省的ClassLoader有关,即使你通过编译了,但部署时同一包名下的类分成了不同的jar包,那么对私有类的访问可能会出错[我猜的,没试过]

.Net

CLS

不知道,希望补充

C#

对物理分发方式即程序集进行限制,从语言到运行时都是如此

个人倾向于C#的权限控制,合理且灵活;Java中当逻辑和物理组织不同时,不是被迫把一个class别扭的挪到当前package,就是把它声明为public,而一旦声明为public,你就再也控制不了了

传统的访问控制已超出了语言本身的范围,属于平台特性了

分享到:
评论

相关推荐

    Swift语言中的一些访问控制设置详解

    在Swift编程语言中,访问控制是一项关键特性,用于管理代码的可见性和可访问性,确保代码的安全性和封装性。本文将深入探讨Swift中的访问控制设置,包括类、结构体、枚举、常量、变量、函数以及子类的访问级别。 ...

    访问控制

    - **OWL**:是一种用于表示本体的语言,可以帮助定义和描述服务的能力和约束条件,从而支持更精确的访问控制决策。 - **SWRL**:是一种规则语言,用于表达逻辑推理规则,可以用来制定更加灵活和智能的访问控制策略。...

    计算机安全课程访问控制实验代码及报告

    在这个“计算机安全课程访问控制实验”中,我们将探讨访问控制的不同模型,包括强制访问控制(MAC)、自主访问控制(DAC)和基于角色的访问控制(RBAC),以及如何在实际场景中实施这些模型。 首先,强制访问控制是...

    访问控制课程设计报告

    访问控制是信息安全领域中的核心概念,它涉及到对资源的访问和使用权限的管理。本报告主要探讨了两种访问控制模型:自主访问控制(DAC)和基于角色的访问控制(RBAC),并以此为基础进行了一次课程设计实验。 自主...

    微控制器编程的根基:汇编语言在PIC微控制器中的应用

    3. **硬件特性利用**:汇编语言可以直接访问和利用微控制器的特定硬件特性,比如特定的寄存器或端口配置。 4. **实时控制**:在需要精确时序控制的实时系统中,汇编语言提供了必要的控制手段。 #### 四、PIC 微控制...

    基于java的访问权限控制源代码.zip

    这个压缩包“基于java的访问权限控制源代码.zip”很可能包含了一系列示例,用于演示如何在Java中实现不同级别的访问控制,以便管理类、方法和变量的可见性和可访问性。 在Java中,访问修饰符主要有四种:`public`、...

    MacDroid:一种Android轻量级内核层强制访问控制框架.pdf

    该框架通过对智能移动终端操作系统的特点和层次进行分析,设计了一种轻量级内核层强制访问控制机制,深入研究了MacDroid的安全策略定义、安全策略编译、安全策略实施等关键问题。 MacDroid安全策略描述语言(PSL)...

    Java访问权限控制源代码

    这是最高级别的访问控制,确保了数据的安全性。 接下来,我们来看一下这些访问权限在实际源代码中的应用: - **类的访问权限**:通常,我们使用public修饰公共API,如库或框架中的类,以便其他模块可以使用。而...

    DMA:汇编语言中的数据快车道

    汇编语言(Assembly Language)是一种低级编程语言,它用于控制计算机的中央处理器(CPU)。汇编语言与机器码非常接近,几乎是一一对应的关系,但它使用助记符(mnemonics)来代表特定的机器指令,使得程序员更容易...

    go 基于RBAC角色的访问控制.zip

    跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源...

    编程语言发展史:C语言的诞生及其影响

    3. 可移植性:C 语言的标准库提供了一套跨平台的 API 接口,使得程序能够在不同的操作系统和硬件平台上运行。 4. 面向过程:C 语言是一种面向过程的编程语言,强调函数的模块化设计,适合编写大型程序。 三、C 语言...

    编语言:计算机底层的奥秘解析汇编语言:计算机底层的奥秘解析汇编语言:计算机底层的奥秘解析

    ### 汇编语言:计算机底层的奥秘解析 #### 引言 汇编语言作为计算机底层的编程语言,是计算机系统运行的核心组成部分。通过使用汇编语言,程序员可以直接操作计算机的硬件资源,并编写出高效和灵活的程序。本文将...

    堆栈探秘:汇编语言中的后进先出世界

    汇编语言(Assembly Language)是一种低级编程语言,它用于控制计算机的中央处理器(CPU)。汇编语言与机器码非常接近,几乎是一一对应的关系,但它使用助记符(mnemonics)来代表特定的机器指令,使得程序员更容易...

    Java语言程序设计(第2版)第1-6章 课后习题答案.pdf

    3. 控制流程语句:Java语言中有多种控制流程语句,包括if语句、switch语句、循环语句等。 Java语言的语法 1. 变量声明:Java语言中变量的声明格式为`类型 变量名 = 初始值;` 2. 方法声明:Java语言中方法的声明...

    乱序执行揭秘:汇编语言中的CPU执行优化

    汇编语言(Assembly Language)是一种低级编程语言,它用于控制计算机的中央处理器(CPU)。汇编语言与机器码非常接近,几乎是一一对应的关系,但它使用助记符(mnemonics)来代表特定的机器指令,使得程序员更容易...

    指令的舞蹈:汇编语言中指令调度的奥秘

    汇编语言(Assembly Language)是一种低级编程语言,它用于控制计算机的中央处理器(CPU)。汇编语言与机器码非常接近,几乎是一一对应的关系,但它使用助记符(mnemonics)来代表特定的机器指令,使得程序员更容易...

    云计算访问控制技术研究综述.pdf

    例如,可扩展访问控制标记语言(eXtensible Access Control Markup Language, XACML)就是一个开放的、可扩展的访问控制标准,它利用声明语言定义了用户、资源、行为和环境的属性,通过策略执行点(Policy ...

    岑文初:淘宝开放平台架构设计与实践ppt讲稿

    - **服务访问控制策略**:TOP通过多层次的访问控制策略来保障平台的安全性和稳定性,包括对App、User和API三个层面进行访问控制。例如,使用令牌(Token)机制来验证用户身份,并限制API的访问频率。 - **服务处理...

    节能秘笈:汇编语言中的功耗管理技术全解析

    汇编语言(Assembly Language)是一种低级编程语言,它用于控制计算机的中央处理器(CPU)。汇编语言与机器码非常接近,几乎是一一对应的关系,但它使用助记符(mnemonics)来代表特定的机器指令,使得程序员更容易...

    揭秘底层:汇编语言在逆向工程中的关键角色

    汇编语言(Assembly Language)是一种低级编程语言,它用于控制计算机的中央处理器(CPU)。汇编语言与机器码非常接近,几乎是一一对应的关系,但它使用助记符(mnemonics)来代表特定的机器指令,使得程序员更容易...

Global site tag (gtag.js) - Google Analytics