APIs, Bibliotecas & Toolkits Java
(figura reproduzida do sítio web da Java Platform Standard Edition 8 Documentation; veja quanto cresceu em relação ao Java SE 5.0)
-
Java
-
Java Platform, Standard Edition (Java SE) 16, 11 LTS, 8.
JDK Mission Control (JMC). Java Advanced Management Console (AMC).
Java Platform, Standard Edition Documentation - Java Platform, Enterprise Edition (Java EE)
- Java Embedded: Java Platform, Micro Edition (Java ME) & Java Card
-
Java Platform, Standard Edition (Java SE) 16, 11 LTS, 8.
-
Oracle Open JDK
For end users and developers looking for free JDK version, Oracle OpenJDK offers the same features and performance as Oracle JDK under the GPL license.
All Java Development Kit (JDK) & JDK Mission Control (JMC) builds.
Oracle Customers and ISVs targeting Oracle LTS releases: Oracle JDK is Oracle's supported Java SE version for customers and for developing, testing, prototyping or demonstrating your Java applications. -
Java Platform Migration Guide - Version 1.3 to 5.0 (PDF)
White Paper por Sun Microsystems, para o J2SE. -
Apache Commons
The Commons Proper - Um repositório de componentes Java reusáveis. Originado no projeto Jakarta, Apache Commons é um grande complemento à API Java SE, essencial para tarefas comuns não cobertas pela API padrão de Java. Antes de implementar qualquer recurso básico de programação que você não encontrou na API Java, não deixe de conferir se ele já existe no Apache Commons, evite “reinventar a roda”.
Attributes, BeanUtils, Betwixt, Chain, CLI, Codec, Collections, Configuration, Daemon, DBCP, DbUtils, Digester, Discovery, EL, Email, FileUpload, HttpClient, IO, Jelly, Jexl, JXPath, Lang, Latka, Launcher, Logging, Math, Modeler, Net, Pool, Primitives, Resources, Transaction, Validator, VFS.
Usando Jakarta Commons, Parte 1, artigo por Vikram Goyal, ONJava, Jun/2003. Parte 2, Parte 3 (Jul/2003).
Veja também: Projetos Java: Apache.
Log - Registro/Histórico
-
Apache Commons Logging
Anteriormente Jakarta Commons Logging (JCL). Commons Logging provê uma interface Log e uma LogFactory que visam ser tanto uma implementação leve quando uma abastração independente de outros toolkits de logging, como JDK logging API (JSR-47) e Log4J. Padrão de facto para API logging.
Commons logging User Guide, Technology Guide. Seu uso é simples como estes dois passos: criar um atributo log na classe e gravar mensagens. -
Log4j Logging Services
Uma biblioteca de logging confiável, rápida e extensível para Java. By Apache Software Foundation.
- Introdução ao Log4J, por Caio Filipini, GUJ.
- Tutorial Log4J em Português (PDF), por Guilherme Mello do Nascimento, Portal Java.
-
HotWork Solution - Log4j
Log4j User Guide - Em Português. - The complete log4j manual (em formato PDF) ($)
- Log4j delivers control over logging, por Ceki Gülcü, JavaWorld Magazine, November 2000.
-
Java Logging APIs
As APIs Java Logging APIs introduzidas no J2SE 1.4, no pacote java.util.logging.
- Utilizando o pacote de Logging, por Paulo Silveira, GUJ.
- Usando logging no JDK 1.4, por Handerson Ferreira Gomes, Summa Technologies.
- An Introduction to the Java Logging API, por Brian R. Gilstrap, 19/jun/2002, O'Reilly ONJava.com.
-
Lumberjack - The Java Logging API for JDKs prior to 1.4
The Lumberjack project provides an open source (covered by the GNU Lesser Public License) implementation of the logging APIs first introduced in JDK 1.4 that will work for JDK 1.2 and 1.3. -
Acelet - Super Logging: Audit Log & Limpid Log
Super Log combines Limpid Log and Audit Log under one roof as logging system for Java SE and EE, to recording events and messages. It is written entirely in Java and dynamically re-configurable at runtime. Audit Log and Limpid Log are free, open source software, under GNU GPL v2. -
Effective logging practices ease enterprise development
Por Charles Chan, Ambrose Software, 09 ago 2005, IBM developerWorks. - Google Directory: Java Class Libraries: Logging
Programação Concorrente
-
O que são Threads e como Domá-los [Em Português]
Em Java Numa Boa. -
Java Parallel Processing Framework
JPPF is an open source Grid Computing platform written in Java that makes it easy to run applications in parallel, and speed up their execution by orders of magnitude. Veja também Java Parallel Processing Framework 1.4, por Laurent Cohen, 2008-08-23, em Javalobby DZone. -
Lição - Concurrency: Doing Two or More Tasks At Once
Em Java Tutorial on-line, Trail: Essential Java Classes. -
Writing multithreaded Java applications
Learn to avoid problems common in concurrent programming. Por Alex Roetter, engenheiro de software, 01 Fev 2001. IBM developerWorks em tecnologia Java.
Java theory and practice: Thread pools and work queues, por Brian Goetz.
IBM Multithreaded Java programming forum. -
Java Threads articles by Brian Goetz
At programming-x.com. -
Thread: Diagrama de Estados [Em Português]
Imagem ilustrando o diagrama de estados possíveis e transições entre eles, para threads Java. Por Márcio d'Ávila. O diagrama exibe o fluxo normal de transições, não ilustrando as situações de interrupção, que levam à exceçãoInterruptedException
. -
Java Thread Primitive Deprecation
Por que Thread.stop, Thread.suspend, Thread.resume e Runtime.runFinalizersOnExit se tornaram deprecated? Explicações no Guia do Java 2 Platform Standard Edition (J2SE) 5.0. - Livro:
Java Threads (358 pp.)
Autores: Scott Oaks, Henry Wong. Publisher: O'Reilly Media, 3rd Edition, Setembro 2004. ISBN: 0-596-00782-5. - Livro:
Java Thread Programming (528 pp.)
Autor: Paul Hyde. Publisher: Sams, Agosto 1999. ISBN: 0672315858. -
J2SE 5.0 Concurrency Utilities
Pacotes java.util.concurrent, java.util.concurrent.atomic, java.util.concurrent.locks. Concurrency Utilities Overview.
Consulte a JSR 166. -
Pacote de Programação Concorrente
Package util.concurrent, por Doug Lea, autor do livro Concurrent Programming in Java. Superado pelo JSR-166, que foi lançado como parte do J2SE 5.0 ("Tiger"), principalmente no novo pacote java.util.concurrent. - Livro:
Concurrent Programming in Java: Design Principles and Patterns (411 pp.)
Autor: Doug Lea. Publisher: Addison-Wesley, 2nd Edition, Outubro 1999. ISBN: 0-201-31009-0.
Sun Java Series. -
Concurrent Programming Using Java
Por Stephen J. Hartley. -
Java Concurrency and Threads
Referências em Software Technologies, SwTech.com.
Programação Tempo-Real (Real-Time)
-
JSR 282: Real-time Specification for Java (RTSJ) version 1.1
Evolution of JSR 1: Real-time Specification for Java (1.0). -
RTSJ.org - Real-Time for Java Expert Group
RTSJ java.net project.
The Real-Time Specification for Java (PDF), by Greg Bollella et al., Addison-Wesley, 2000. -
Java Se Real-Time
The Sun Java Real-Time System 2.0 (Java RTS) is a substantially enhanced release of Sun's first conformant commercial implementation of the Real-Time Specification for Java (JSR-001). Implementations of the RTSJ make standard Java technology more deterministic and enable it to meet rigorous timing requirements for mission-critical real-time applications. Java RTS 2.0 is available for evaluation licensing. -
Javolution
Javolution: biblioteca para desenvolvimento de sistemas tempo-real (realtime) e embarcados (embedded). Javolution provê um conjunto de classes de alto desempenho e com comportamento altamente tempo-determinístico, para conformidade com ambiente tempo-real, coleções e estruturas fundamentais, manipulação de texto, E/S e XML. Traz também as classes Struct e Union para maior correspondência com aplicações C/C++. Introduz Contextos específicos (para logging, performance, concorrência, persistência, segurança etc.) para separação de aspectos de programação.
Há distribuições da biblioteca Javolution para as plataformas Java ME CLDC 1.0+ e CLDC 1.1+, Java SE 1.4, 5 e 6, e gcj (GNU Compiler for Java). Javolution é software de código aberto distribuído sob licença BSD. -
aicas - Realtime Java Technology
Realtime Java Virtual Machine - JamaicaVM, object oriented software development environment, and analysis tools for safety critical systems.
Tempo & Data
-
JSR 310: Date and Time API
Esta JSR em andamento proverá uma API nova e melhorada para data e tempo em Java. Submetida por Stephen Colebourne, criador da biblioteca Joda-Time.
The main goal of JST-310 is to build upon the lessons learned from the first two APIs in Java SE (Date and Calendar) and on experience gained from the Joda-Time project, to provide a more advanced and comprehensive model for date and time manipulation.
The new API will be targeted at all applications needing a data model for dates and times. This model will go beyond classes to replace Date and Calendar, to include representations of date without time, time without date, periods, durations, and intervals.
Announcing JSR 310 - Date and Time API, Stephen Colebourne's Weblog, 30/jan/2007. -
Joda Time
Por Stephen Colebourne. Joda-Time é um projeto código-aberto para prover uma API de qualidade para datas e tempo. Joda-Time is the de facto standard date and time library for Java prior to Java SE 8. Interfaces e implementações incluem: DateTime (substituto imutável para JDK Calendar) e DateMidnight; LocalDate, LocalTime e LocalDateTime (sem time zone); Chronology e DateTimeZone (ISO 8601 e outras cronologias, calendários e fusos horários); Interval, Period e Duration (intervalos e períodos de tempo); mais formatação e varredura (parsing).
Projeto SourceForge: joda-time. -
TimeAndMoney Java Code Library
This is a project to develop code for manipulating basic concepts in recurring domains such as time and money. Use this open source Java code library to make key low-level domain logic more expressive, more maintainable, and less error-prone. -
CalendarDate
Simple, small and effective java date implementation. -
ISO 8601
ISO 8601 - padrão internacional para representação de datas e tempo. From Wikipedia, the free encyclopedia.
ISO 8601:2004(E) from ISO (ZIP-PDF, 228KB), Third edition 2004-12-01. ISO8601 Yahoo Groups (files).
A summary of the international standard date and time notation, by Markus Kuhn.
ISO 8601 - Links, by Hans-Jochen Vogel. dmoz Open Directory: ISO 8601.
International Date Format Campaign (IDFC).
Internacionalização
-
Internationalization: Understanding Locale in the Java Platform
Article by John O'Conner, September 20, 2005, Sun Developer Network (SDN). -
Core Java Internationalization
Sun Developer Network (SDN) - Core Java. Java Internationalization FAQ. - Veja também: Ferramentas: APIs: Internacionalização
Scanners, Parsers, Analisadores Sintáticos e Léxicos
Ferramentas Java para criação desde interpretadores de expressões, macros e linguagens de domínio específico (DSL) até compiladores inteiros.
- ANTLR
ANTLR, ANother Tool for Language Recognition, is a language tool that provides a framework for constructing recognizers, interpreters, compilers, and translators from grammatical descriptions containing actions in a variety of target languages. ANTLR provides excellent support for tree construction, tree walking, translation, error recovery, and error reporting.
Getting started with ANTLR. ANTLR Documentation, ANTLR API (Java, C, Python C#, Objective-C), ANTLR FAQ e Artigos.
ANTLRWorks: The ANTLR GUI Development Environment.
ANTLR Parser Generator pages por Ian Kaplan. - JavaCC
JavaCC is a parser/scanner generator for java. JavaCC: Documentation Index - a sintaxe do arquivo de gramática JavaCC (.jj).
The JavaCC FAQ, mantido por Theo Norvell na Memorial University of Newfoundland. -
JFlex - The Fast Scanner Generator for Java
JFlex is a lexical analyzer generator (also known as scanner generator) for Java, written in Java. It is also a rewrite of the very useful tool JLex developed by Elliot Berk at Princeton University. JFlex is designed to work together with the LALR parser generator CUP by Scott Hudson, and the Java modification of Berkeley Yacc BYacc/J by Bob Jamison. It can also be used together with other parser generators like ANTLR or as a standalone tool. -
JLex
JLex is a lexical analyzer generator, written for Java, in Java. JLex was developed by Elliot Berk at Princeton University. It is now maintained by C. Scott Ananian.
Veja também FLEX Compiler Infrastructure, Program Analysis and Compilation Group at MIT. -
CUP
LALR Parser Generator in Java. By Scott Hudson, Frank Flannery, C. Scott Ananian. CUP is now maintained and improved at the Technical University of Munich. - BYACC/J
BYACC/J is a Java extension of the Berkeley v 1.8 YACC-compatible parser generator. -
JEP - Java Math Expression Parser
JEP is a Java library for parsing and evaluating mathematical expressions. With this package you can allow your users to enter an arbitrary formula as a string, and instantly evaluate it. JEP supports user defined variables, constants, and functions. A number of common mathematical functions and constants are included. Por Singular Systems. -
Java Expressions Library (JEL)
JEL is the library for evaluating a simple single line expressions in Java. - Veja também: Ferramentas: Scanners, Parsers e Analisadores Sintáticos e Léxicos
Programação Científica
- JScience
Java tools and libraries for the advancement of sciences.
Project vision: To provide the most comprehensive Java library for the scientific community. To create synergy between all sciences (e.g. math, physics, sociology, biology, astronomy, economics, etc.) by integrating them into a single architecture. To provide the best on-line services (webstart) for scientific calculations and visualizations. -
LinAlg API
A API LinAlg provê classes e métdos para álgebra linear, isto é, para Vetores (2D e 3D), Matrizes, Números Complexos. Lançada sob licenças GPL v2 e CDDL. Por Alexander Schunk (blog). -
Uncommons Maths
Random number generators and other mathematical utilities. Por Projeto uncommons.org.
A Java Programmer's Guide to Random Numbers - Parte 1: Beyond java.util.Random; Parte 2: Not just coins and dice, por Daniel Dyer, maio 2008. - Colt
Colt Project provides a set of Open Source Libraries for High Performance Scientific and Technical Computing in Java. -
JAMA: A Java Matrix Package
JAMA is a basic linear algebra package for Java. This software is a cooperative product of The MathWorks and the National Institute of Standards and Technology (NIST) which has been released to the public domain. - Java for Scientific Computing
Java ME - Móvel & Sem-fio
-
Java Platform, Micro Edition (Java ME)
Anteriormente: Java 2 Platform, Micro Edition (J2ME). -
Crisp Wireless
Anteriormente Micro Java Network. -
SCMAD Certification Center
Helping You Pass the Sun Certified Mobile Application Developer (SCMAD) Certification. SCMAD Overview, SCMAD Objectives, Mock Exams, Study Guides, Study Notes, SCMAD Community, SCMAD Experiences, J2ME Documentation, J2ME Tutorials, FREE J2ME Books, J2ME Glossary, J2ME FAQs, J2ME Examples, J2ME Tools, J2ME Resources, J2ME News. - Bill Day's Java ME Archive
-
J2me Forums
Discussion board for Java™ Micro Edition (Java ME) technology. Antigo J2me.org. - jGuru J2ME FAQ
- J2ME Software Repository
-
360Mobile.us
Mobile device technology and development. Antigo CoreJ2ME.com. -
MIDlog
MIDlog, a J2ME client for weblog systems. Remote blogging with Blogger.com, Movable Type and others.
Outras
-
ffident - Java metadata extraction / file format identification library
Esta biblioteca identifica formatos de arquivo a partir do conteúdo. Ela usa "números mágicos", como o comando file do Unix. Por Marco Schmidt. Biblioteca gratuita distribuída sob licença LGPL. Requer Java 1.4 ou superior.
ffident at geocites. -
Antelmann.com Java Framework
Pacote com alguns projetos úteis em Java, por Holger Antelmann, livremente disponível com base na GNU General Public License (GPL). Acesso ao serviço Internet CDDB (FreeDB), Strategy game programming, Network programming, Classes utilitárias de uso geral, entre outros.
Antelmann.com Downloads.