atuando |de forma transparente ao usuario. | |Conteudo do Cache |O cache de classe compartilhada contem dados e metadados da classe estatica de leitura |que descreve as classes. Qualquer VM pode ler ou atualizar o cache. Os VMs que |estao sendo compartilhados devem estar no mesmo release. Voce deve tomar |cuidado se o bytecode do tempo de execucao estiver sendo utilizado. (Consulte Modificacao do Bytecode de Tempo de Execucao). | |Atualizacao Dinamica do Cache |Como o cache de classe compartilhada persiste alem do periodo de existencia de qualquer VM, |o cache e atualizado dinamicamente para refletir quaisquer modificacoes que possam ter sido |feitas nos JARs ou nas classes, no sistema de arquivos. A atualizacao dinamica torna |o cache transparente para o aplicativo que esta utilizando-o. | |Ativando o Compartilhamento de Classe |Ative o compartilhamento de classes utilizando a opcao -Xshareclasses |ao iniciar uma VM, para fazer com que a VM se conecte a um cache existente ou crie |um se ainda nao existir. Todas as classes de auto-inicializacao e aplicativos carregadas pela VM sao compartilhadas por padrao. Os carregadores de classe personalizados sao compartilhados automaticamente se |estenderem o carregador de classe do aplicativo; caso contrario, eles deverao usar o Java Helper |API fornecido com a VM para acessar o cache. (Consulte Adaptando Carregadores de Classe Personalizados as Classes de Compartilhamento). | |Seguranca do Cache |A acesso ao cache de classe compartilhada e limitado pelas permissoes |do sistema operacional e da seguranca do Java. Por padrao, |o cache de classe compartilhada sera criado com o |acesso de usuario, exceto se a subopcao da linha de comandos |groupAccess for utilizada. Somente um classloader registrado para |compartilhar classes podera incluir classes no cache de classe |compartilhada. Se um Java SecurityManager estiver instalado, os |ClassLoaders (exceto os de auto-inicializacao, de aplicativo e de |extensao) devem possuir permissao para compartilhar classes, incluindo |SharedClassPermissions no arquivo java.policy. (Consulte Utilizando SharedClassPermissions). A |RuntimePermission "createClassLoader" restringe a criacao de novos |ClassLoaders e, portanto, tambem restringe o acesso ao cache. | |Tempo de Vida do Cache |Varios caches podem existir em um sistema e sao especificados por nome como uma subopcao |para o comando -Xshareclasses. Uma VM pode se conectar a apenas um cache |por vez. Especifique o tamanho do cache na inicializacao utilizando -Xscmx[k|m|g], porem esse tamanho sera corrigido para o periodo de existencia do |cache. Os caches existirao ate que sejam explicitamente destruidos utilizando uma subopcao |para o comando -Xshareclasses ou ate que o sistema seja |reinicializado. | |Utilitarios do Cache |Todos os utilitarios do cache sao subopcoes para o comando -Xshareclasses. Utilize -Xshareclasses:help para ver uma lista |de subopcoes disponiveis. | |Utilizando as Opcoes da Linha de Comandos para Compartilhamento de Classe |O compartilhamento de classe e ativado e configurado utilizando as opcoes de linha de comandos -Xshareclasses e -Xscmx. ||-Xscmx[k|m|g] ||Especifica o tamanho do cache. Essa opcao e aplicavel apenas se um cache |estiver sendo criado e se nao houver nenhum cache existente com o mesmo |nome. |O tamanho do cache padrao depende da plataforma. |E possivel descobrir o valor que esta sendo utilizado, incluindo |-verbose:sizes como