It works very simply by repeatedly plotting the least significant bit of the java.util.Random.nextLong() method once for each point in the grid.
As you can probably see by the horizontal stripes, this 'random' method exibits significant periodic behavoiour.
Rather than looking like random static, the applet's display looks like a badly tuned-in television.
All Java virtual machines that are available to me appear to exhibit the same problem.
The nextInt method is also (approximately) half as seriously afflicted.
Observe that the applet displays a regular period - each fourth frame is the same.
As the grid is 128x128 this means the pattern repeats after a period of 65536, or 2^16 calls.
As the random number generator uses a long seed, this means that it fails to achieve its maximum period by a factor of 2^48!
Random number generation algorithms which exhibit such behaviour in their low bits are less than ideal for generating integers without post-processing.
The source code for the above applet is available for inspection here.
http://www.alife.co.uk/nonrandom/
domingo, 27 de abril de 2008
Sun redefines randomness
Publicada por
saunde
à(s)
23:16
0
comentários
Etiquetas: Java
segunda-feira, 14 de abril de 2008
GRATUITO! CodeGear Java Day em Português
GRATUITO! CodeGear Java Day em Português – Online - 25 de Abril
Resumo: Um dia inteiro para conhecer os novos recursos do JBuilder 2008 com os experts no assunto
Prepare-se para o primeiro Java Day da CodeGear, em Português.
.
A CodeGear irá promover 1 dia inteiro com 7 apresentações, todas on-line, oferecendo informação técnica, visão e conceitos práticos do novo JBuilder 2008 para os desenvolvedores.
.
Os participantes terão a oportunidade de perguntar aos experts sobre:
* Arquitetura de software
* UML 2.0
* Desenvolvimento Web
* EJB, JPA, Hibernate, Web Services
* Application Factories
* Desenvolvimento desktop em Java
* Gerenciamento de equipes de desenvolvimento
Todas as apresentações serão em português.
Quem deve participar
* Desenvolvedores de Software
* Analistas de Sistemas
* Arquitetos de Sistemas
* Líderes de Projetos de Software
* Gerentes de Desenvolvimento
Fonte : Agenda e mais informações
Publicada por
saunde
à(s)
20:41
0
comentários
quinta-feira, 28 de fevereiro de 2008
sexta-feira, 22 de fevereiro de 2008
Primeiro Meeting do PT.JUG
O PT.JUG - Grupo Português de Utilizadores Java - vai realizar a sua primeira reunião no dia 6 de Março, pelas 18:30. A agenda inclui três apresentações e um jantar, depois do evento.
Durante o evento, que se será com certeza o primeiro de muitos, procurar-se-á conjugar as facetas social e informativa.
Três "animadores" voluntários ofereceram-se para fazer outras tantas apresentações. Os temas serão os seguintes:
Developers Java: o que as empresas dizem que precisam mesmo mesmo (Fernando Fernandez)
Lightweight grids with Terracotta (Cesário Ramos, vindo da Holanda)
Web 2.0 em Java com Google Web Toolkit (Hugo Pinto)
A participação no evento é grátis, bastando que os interessados se inscrevam através do JUG Events
O local escolhido é o Hotel Príncipe Lisboa.
Depois do evento, os interessados podem participar num jantar, bastando que enviem um email com a intenção para jug@java.pt. O jantar não é não patrocinado, pelo que cada um deverá pagar a sua parte.
Este evento é patrocinado pela Sun Microsystems.
Publicada por
saunde
à(s)
22:25
0
comentários
sexta-feira, 11 de janeiro de 2008
Palavra reservada " volatile "
A palavra reservada volatile indica que um campo pode ser modificado no programa por algo como o sistema operativo, o hardware, ou uma thread em concorrência.
Usar o modificador volatile assegura que uma thread retorna o valor mais actual escrito por outra thread.
Exemplo em C#:
public class VolatileExemplo{
private volatile int valor;
public int get(){ return valor;}
public void set(int v){ valor=v; }
}
Como neste caso o problema é apenas de visibilidade basta colocar o campo valor como volatile e assim é garantida a leitura do valor up-to-date.
Publicada por
saunde
à(s)
23:40
0
comentários