Articles of java

Como obter o ponteiro da interface JNI (JNIEnv *) para chamadas assíncronas

Eu aprendi que o ponteiro da interface JNI (JNIEnv *) é válido apenas no thread atual. Suponha que eu iniciei um novo thread dentro de um método nativo; como ele pode enviar events de maneira assíncrona para um método Java? Como esse novo segmento não pode ter uma referência de (JNIEnv *). Armazenar uma variável […]

O que é esse formato de data? 2011-08-12T20: 17: 46.384Z

Eu tenho a seguinte data: 2011-08-12T20:17:46.384Z . Qual formato é esse? Eu estou tentando analisá-lo com o Java 1.4 via DateFormat.getDateInstance().parse(dateStr) e estou recebendo java.text.ParseException: Data não analisável: “2011-08-12T20: 17: 46.384Z” Eu acho que eu deveria estar usando SimpleDateFormat para análise, mas eu tenho que saber a string de formato primeiro. Tudo que eu tenho […]

Como remover entidade com ManyToMany relacionamento em JPA (e correspondentes linhas da tabela de junit)?

Digamos que eu tenha duas entidades: Grupo e Usuário. Cada usuário pode ser membro de vários grupos e cada grupo pode ter muitos usuários. @Entity public class User { @ManyToMany Set groups; //… } @Entity public class Group { @ManyToMany(mappedBy=”groups”) Set users; //… } Agora eu quero remover um grupo (digamos que tenha muitos membros). […]

Maneira mais clara de delimitar por vírgula uma lista?

Qual é o caminho mais claro para delimitar por vírgula uma lista em Java? Eu conheço várias maneiras de fazer isso, mas estou me perguntando qual é a melhor maneira (onde “melhor” significa mais claro e / ou mais curto, não o mais eficiente. Eu tenho uma lista e quero passar por cima dela, imprimindo […]

Como monitorar o uso de memory Java?

Temos um aplicativo j2ee em execução no Jboss e queremos monitorar seu uso de memory. Atualmente usamos o seguinte código System.gc(); Runtime rt = Runtime.getRuntime(); long usedMB = (rt.totalMemory() – rt.freeMemory()) / 1024 / 1024; logger.information(this, “memory usage” + usedMB); Este código funciona bem. Isso significa que mostra uma curva de memory que corresponde à […]

Retornando expressões regulares sobrepostas

Existe uma expressão regular que irá capturar todas as instâncias de uma expressão, independentemente de elas se sobreporem ou não? Por exemplo, em /abc/def/ghi se eu quiser capturar todas as strings começando com / . O regex (/.*) apenas retorna toda a string, mas eu gostaria que ela também fosse igualada em /def/ghi e /ghi […]

Colecção imutável vs não modificável

Na visão geral do Framework de collections : Coleções que não suportam operações de modificação (como add , remove e clear ) são referenciadas como não modificáveis . Coleções que não são imodificáveis são modificáveis . Coleções que adicionalmente garantem que nenhuma alteração no object Collection será visível são referidas como imutáveis . Coleções que […]

Problema de discussão de várias bolas saltitantes

Eu criei um programa que faz várias bolas saltitantes com cor aleatória, velocidade e raio. Quando o usuário clica na canvas, uma nova bola aleatória deve aparecer e se mover pela canvas. Mas eu tenho um problema multi-thread. Quando eu clico na canvas, uma bola aparece e não se move. Quando outro clique vem, nada […]

Como corrigir o tipo ambíguo na referência do método (toString of an Integer)?

Ao fazer isso Stream.of(1, 32, 12, 15, 23).map(Integer::toString); Eu recebo um erro de tipo ambíguo. Compreensivelmente, o compilador não pode dizer se eu quero dizer toString(int) ou toString() do Integer . Quando não estiver usando uma referência de método, eu poderia ter saído disso com um casting explícito ou escrever o genérico longo, mas como […]

Fazendo Distinções Entre Diferentes Tipos de Feijões Geridos JSF

Eu li recentemente este artigo de Neil Griffin Fazendo Distinções Entre Diferentes Tipos de Feijões Geridos JSF e isso me fez pensar sobre a distinção entre diferentes beans em meu próprio aplicativo. Para resumir rapidamente a essência: Modelo Managed-Bean: esse tipo de bean gerenciado participa da preocupação “Modelo” do padrão de design MVC. Quando vir […]