J/Direct also imposes security restrictions on classes that are marked using the @dll.struct directive. Because structures only become unsafe when they are instantiated, these security checks are more efficient than the checks used for J/Direct methods. The following two security checks are performed on @dll.struct classes:
Load time | Classes marked with the @dll.struct directive will load only if the context indicates full trust. |
Link time | Code that is not fully trusted cannot link to classes declared using the @dll.struct directive. The Microsoft VM will throw a NoClassDefFoundError if such an attempt is made. |