Galera,
Pode me dizer como eu posso trabalhar com nano segundos e mili segundos? como faço as conversões e etc? se puderem postar alguns exemplos.
Obrigado.
Galera,
Pode me dizer como eu posso trabalhar com nano segundos e mili segundos? como faço as conversões e etc? se puderem postar alguns exemplos.
Obrigado.
long tempo = System.nanoTime();
long tempo = System.currentTimeMillis();
Um nanossegundo é um bilionésimo de segundo, ou seja, 1E-9 segundo.
Um milissegundo é um milésimo de segundo, ou seja, 1E-3 segundo.
Você sabe fazer contas, não?
Obrigado RafaelViana
entanglement aprende ser mais humilde, vem com umas continhas de primário com essa arrogancia.
att,
Isso quer dizer que você não sabe fazer contas. Não vou ensinar você; só lembrar que um segundo é um bilhão de nanossegundos, e um segundo é mil milissegundos.
[quote=Poneis123]Obrigado RafaelViana
entanglement aprende ser mais humilde, vem com umas continhas de primário com essa arrogancia.
att,[/quote]
Agora já é o cumulo. Vc que tem que ter vergonha de vir perguntar uma coisa trivial como essa no forum de Java Avançado. Isso não é java, é fisica, matemática no mínimo. Até o google sabe fazer essas conversões.
quando a pessoa lhe responde o que é um nano e um mili e lhe pergunta se vc sabe fazer contas não é arrogância, não é um insulto. É exatamente o oposto. é evitar de mandá-lo para o banco da escolha onde vc deveria ter aprendido isso e não ter saido de lá sem aprender. Porque acha que cursos de informática têm aulas de fisica ? para aprender a fazer semi-condutores ?
Haja paciência. Este pessoal inculto, agora além de inculto é mal educado.
Arrogância seria desconsiderar a sua pergunta e deixá-lo penando sozinho.
Arrogância é dizer que isto é uma dúvida de java avançado…
P.S. começo a interrogar-me se as pessoas sequer sabem o que signifca “arrogância”…
Nossa… Maracugina pro pessoal…
Que coisa feia…
sergiotaborda, exatamente por se tratar de um forum java, fiz essa pergunta esperando receber uma resposta de alguma API java, algumas dicas para se trabalhar com nano e mili segundos sem fazer essas contas manualmente… eu acho sim uma arrogancia a pessoa perguntar se sabe fazer contas uma vez que as soluções aqui fornecidas são voltadas ao JAVA.
Eu entendo que as soluções JAVA e tantas outras linguagens englobem matemática, física e tantos outros assuntos. Imagino como seria mais trabalhoso quando te pedirem pra você fazer contas exponenciais, dentre outras contas MATEMATICAS e você não utilizar as APIs disponíveis.
sem mais…
[quote=entanglement][quote]
vem com umas continhas de primário
[/quote]
Isso quer dizer que você não sabe fazer contas. Não vou ensinar você; só lembrar que um segundo é um bilhão de nanossegundos, e um segundo é mil milissegundos. [/quote]
Ok, você sabe me dizer se existe alguma solução que eu possa reutilizar? alguma API java que faça essas conversões sem que eu precise fazer contas? Tudo bem que eu posso criar os métodos necessários para isto, mas se existisse algo já pronto seria melhor =)
Valew.
Realmente começo a me perguntar se o Sérgio sabe o que é arrogância.
O entanglement foi sim arrogante.
E o Sérgio mais ainda.
Há maneiras mais educadas e dignas de ensinar uma pessoa e mostrar o que fazer do que ser irônico/arrogante.
Ninguém nasce sabendo e cada um tem seu tempo e modo de aprender. E não cabe a ninguém julgar isso em outra pessoa. Aproveite o tempo pra julgar vc mesmo. Ou melhor ajudando.
Pessoal… Não vamos transformar uma simples dúvida numa briga… Para quê isso?
Da forma que eu li achei que todos foram mal educados, sendo assim, empatou.
Depois algum morador tranca o tópico e todo mundo fica estressado.
Feliz natal p/ vcs tbm
Como o objetivo do forum é sanar e promover conhecimento JAVA não vou postar aqui o significado de ARROGANCIA, mesmo eu sendo um pouco arrogante em dizer isto, rs…
Brincadeiras a parte, vocês sabem me dizer se existe alguma solução que eu possa reutilizar? alguma API java que faça essas conversões sem que eu precise fazer contas? Tudo bem que eu posso criar os métodos necessários para isto, mas se existisse algo já pronto seria melhor =)
Abraços
Você disse que precisa trabalhar com nano e mili segundos. Qual será a aplicação disso?
Mas qual é a utilidade de uma API que multiplica /divide por múltiplos de 10?
É possível fazer as conversões usando TimeUnit, da nova API de concorrência.
[code]
import java.util.concurrent.TimeUnit;
public class Teste {
public static void main(String ... args) {
System.out.println("1 segundo em microsegundos ->" + TimeUnit.MILLISECONDS.convert(1, TimeUnit.SECONDS));
System.out.println("1 microsegundos em milisegundos->" + TimeUnit.MICROSECONDS.convert(1, TimeUnit.MILLISECONDS));
System.out.println("1 milisegundos em nanosegundos->" + TimeUnit.NANOSECONDS.convert(1, TimeUnit.MICROSECONDS));
System.out.println("1000000000 nanosegundos em segundos ->" + TimeUnit.SECONDS.convert(1000000000L, TimeUnit.NANOSECONDS));
}
}[/code]
marcobiscaro2112 desenvolvi um simulador dos algoritmos de substituição de páginas presentes no gerenciamento de memória do sistema operacional, então assim: o tempo que um processo leva pra acessar uma página residente na memória principal é cerca de 10 nanosegundos e o tempo que leva pra buscar uma página residente na memória secundária(disco) é cerca de 100milisegundos, então eu quero gerar alguns relatórios dessa execução do algoritmo e criar uns graficos, ai eu queria essa API pra trabalhar melhor…
Ssalgado perfeito cara! vou tentar utilizar isso ai, obrigadão!
[quote=davidbuzatto]Pessoal… Não vamos transformar uma simples dúvida numa briga… Para quê isso?
Da forma que eu li achei que todos foram mal educados, sendo assim, empatou.
Depois algum morador tranca o tópico e todo mundo fica estressado.
[/quote]
O problema é o seguinte:
Esse papo de pedir humildade e chamar de arrogante ultimamente está ficando freqüente demais. Quando o cara não gosta da resposta parte para cima. É um problema de atitude.Da atitude de quem vem aqui perguntar as coisas. E por isso que tenho que reagir assim. Para chamar a atenção de que não estamos aqui para ensinar a fazer contas ou para ensinar o B-A-BA que deveria ter aprendido na escola, nem o que se pode aprender no google. (o goggle faz contas , sabiam? ).
Mais do que isso : existem regras no forum. E uma delas é não explicar quando se vê que não ha esforço da outra parte. Essa regra se aplica aqui, pois é claro que não houve nenhum esforço em procurar as coisas antes de entrar aqui.
A resposta
Não cola. Primeiro porque não houve menção alguma a API java. segundo por isso não precisa de uma API java. É apenas uma conta matemática! Acaso isto não é óbvio ? O fato de haver ou não API em java que podem calcular isso não está em causa porque não foi isso que foi perguntado.
Vamos nos ajudar ao invés de ficar brigando. Não é melhor?
Então Poneis123, você tem que analisar se realmente será necessário trabalhar um intervalo de tempo tão preciso, se for necessário, é um problema.
O relógio da CPU não é tão preciso, ele tem uma frequência que varia entre 100Hz e 1Khz, o que resulta em resoluções de 10ms a 1ms.
Existe no mercado também, relógios de precisão que podem ser conectados na porta USB. O problema ai é o tempo que o software leva para acessar o dispositivo (O que causa perda de precisão).
Cálculos com precisão maior que alguns milisegundos também podem ser obtidos com interpolação, porém não são tão confiáveis.
Qualquer coisa é só postar ae!
Abssss!!!
fabiomazzo não é nada muito preciso não. É um simulador(TCC de graduação) para simular a atividade dos algoritmos, eu nem trabalho com páginas reais da memória, mas a dica do Ssalgado solucionará meu problema.
sergiotaborda formulei errado minha pergunta…
Muito obrigado a todos.
abraços
[quote=fabiomazzo]Vamos nos ajudar ao invés de ficar brigando. Não é melhor?
Então Poneis123, você tem que analisar se realmente será necessário trabalhar um intervalo de tempo tão preciso, se for necessário, é um problema.
O relógio da CPU não é tão preciso, ele tem uma frequência que varia entre 100Hz e 1Khz, o que resulta em resoluções de 10ms a 1ms.
Existe no mercado também, relógios de precisão que podem ser conectados na porta USB. O problema ai é o tempo que o software leva para acessar o dispositivo (O que causa perda de precisão).
Cálculos com precisão maior que alguns milisegundos também podem ser obtidos com interpolação, porém não são tão confiáveis.
[/quote]
Os métodos que o RafaelViana passou no inicio da thread
long tempo = System.nanoTime();
long tempo = System.currentTimeMillis();
Permitem precisão de nanos.
Mas este nanos não é calculado do relógio. então mesmo com precisão de relogio de mili o java consegue precisão de nanos. Mas este tempo não é tempo de relogio.
[quote=javdoc de System.nanoTime()]This method can only be used to measure elapsed time and is not related to any other notion of system or wall-clock time. The value returned represents nanoseconds since some fixed but arbitrary time (perhaps in the future, so values may be negative). This method provides nanosecond precision, but not necessarily nanosecond accuracy. No guarantees are made about how frequently values change. Differences in successive calls that span greater than approximately 292 years (263 nanoseconds) will not accurately compute elapsed time due to numerical overflow.[/quote] destaque por mim.
Este método é ideal para benchmarks mas não para como base de relógios.