Pergunta

Eu tinha um exame Brainbench recentemente, tem alta marca, mas havia um par de perguntas que eram difíceis para mim. Talvez seja porque Inglês não é minha língua nativa ... Uma das perguntas é:

Qual dos seguintes descreve tipo de segurança?

  1. A construção de programação usada para garantir a segurança de tipos de referência e valor no CLR
  2. A proteção contra vazamento de memória como resultado de não permitir o acesso não gerenciado
  3. O recurso específico do CLR fornecer garantias de que tipos não poderá acessar memória fora do seu próprio AppDomain
  4. Um mecanismo criado para montagens proteger e seus tipos através da utilização de chaves de nome forte
  5. O tráfico de conceito com garantias de que objetos alocados são sempre acessados ??de maneira compatível

Eu acho que é 1 ou 5, mas eles soar estranho para mim de qualquer maneira: (

O que você acha?

Foi útil?

Solução

Na verdade, eu acho que é Choice 5 porque a segurança tipo tem nada a ver com segurança.

Outras dicas

Tipo de segurança é a característica de uma linguagem concebida para fazer bom em [Robin Milner] [1] 's famoso slogan sobre programação ML: programas de bem-digitadas não pode dar errado .

O slogan precisa de algum desembalar antes que possa ser bem compreendida, mas que basicamente significa que os programas não podem falhar por causa de um erro de tipo de tempo de execução, ou seja, quando os parâmetros aplicados para o construtor ou uma função tem valores de tipo incompatível.

Considere uma linguagem que permite inteiros, funções inteiros como valores de primeira classe, função de abstração e aplicação de função parcial, e que define os inteiros operadores aritméticos usuais como funções binários. A propriedade de segurança de tipo é o que o compilador impõe para garantir que ambos os argumentos para o operador de adição são expressões que reduzem a inteiros e não para as funções. Se um programa é bem-digitado, então o compilador pode emitir um objeto executável para ele. Caso contrário, ele sinaliza o erro de programação e aborta.

De acordo com o link MSDN fornecido abaixo, http://msdn.microsoft.com/en-us/library/hbzz1a9a.aspx

código de tipo seguro acessa apenas os locais de memória que está autorizado a acessar. (Para esta discussão, segurança de tipo refere-se especificamente à segurança tipo de memória e não deve ser confundido com a segurança de tipos em uma relação mais ampla.) Por exemplo, o código de tipo seguro não pode ler os valores de campos privados de outro objeto. Ele acessa tipos somente em locais bem definidos, formas permitidas.

Choice 5 O tráfico de conceito com garantias de que objetos alocados são sempre acessados ??de maneira compatível

ofertas Tipo de segurança com garantindo que quando você cria um Foo, você não pode tratá-lo como um Bar. Se você não sabe que tipo é (ou não são garantidos), o código que você escreve simplesmente pode não funcionar como esperado.

línguas tipo seguro irá certificar-se (em tempo de compilação) que você não chamar métodos incompatíveis em um tipo, por exemplo, comprimento () sobre um tipo int. linguagens de não-tipo seguro vai descobrir isso em tempo de execução. Então, escolha 5.

Como outros já disseram, a escolha 5 ...

Em geral - para .NET, confira o Common Type System (CTS), que permite que o material entre linguagens e tipo de segurança.

Confira: http://en.wikipedia.org/wiki/Type_safety . ..

É a opção # 5. Tipo de segurança é uma garantia, não é uma coisa concreta. É possível para o código .NET para não ser do tipo seguro ... dizer no caso em que uma montagem usa código inseguro para realizar chamadas não gerenciados (PInvoke). Durante JIT, um processo é realizado que verifica os tipos sendo JITted são, na verdade, tipo seguro. Não tenho conhecimento de quaisquer elementos sobre este processo, mas se um tipo JITted passa, então é considerd verificável tipo seguro.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top