JSRs and APIs
In this section on the Java programming language, get news, advice, and tutorials on using Java in enterprise application development. Learn why Java is so widely used in programming today, and discover tricks to use and pitfalls to avoid. It's important to stay informed about the latest Java Specification Requests (JSRs) and application programming interfaces (APIs). We bring you news about JSRs and APIs, popular Java platforms, classes, objects, IDEs, and SDKs that exist for programming in Java.
Top Stories
-
Tip
15 Feb 2023
Why Java in 2023?
Has there ever been a better time to be a Java programmer? From new Spring releases to active JUGs, the Java platform is experiencing a renaissance. Continue Reading
-
Tutorial
06 Jan 2023
11 lessons learned from writing my first Java program
You'll be amazed how easy it is to learn Java and write powerful cross-platform applications when writing your first Java program. Some misconceptions about Java just aren't true. Continue Reading
-
Feature
29 Nov 2016
Conversational UI approaches pushing AI development forward
Find out about the latest AI conversational UI approaches available for developers today from Apple, Amazon, Google, IBM, and Facebook. Continue Reading
-
Podcast
03 Nov 2016
Why you should choose the Go language for microservices development
How can teams simplify microservices development, especially when scaling microservices is the key? Many are turning to the Go programming language and Go kit for answers. Continue Reading
-
Podcast
03 Nov 2016
Bridging the gap between well-designed APIs and DevOps best practices
Automation is the key to running error-free operations, which means well-designed APIs that give access to tasks are among the most important DevOps best practices. Continue Reading
-
News
20 Sep 2016
JShell: Adding REPL capabilities to the JDK
At JavaOne 2016, Oracle's chief architect of the Java platform group, Mark Reinhold, discusses the addition of JShell. Learn why he's excited. Continue Reading
-
Feature
23 May 2016
Why Java is the most popular programming language
Roger Smith examines why 20 years after its release, Java tops the TIOBE index as the most popular programming language. Continue Reading
-
Feature
28 Apr 2016
Deep machine learning can help clean the mess of big data
Turning a wave of information into something meaningful can be challenging. But that's where deep machine learning can help. Here, expert George Lawton explains how. Continue Reading
-
Feature
20 Apr 2016
Using BackOps to improve software development processes
Learn how BackOps understands different personality types and can improve the software development lifecycle and scale the enterprise. Continue Reading
-
Tutorial
29 Feb 2016
How to install JDK 8 and write the Java Hello World application
In this tutorial, we look at how to set up a basic Java SE development environment by installing JDK 8, after which we write, compile and run the Java Hello World application. Continue Reading
-
Feature
08 Jan 2016
The next big challenge in IoT evolution: Getting the protocols right
In this article you will learn about some of the considerations that need to be taken into account for leveraging different protocols while writing applications for the Internet of Things (IoT) Continue Reading
-
Feature
04 Jan 2016
Java APIs to bridge the gap between today and future development efforts
At JavaOne 2015, a big topic of conversation was APIs and API development. In the IBM keynote, the promise was that an evolutionary approach to API development will help modern day developers pass the torch to those doing development in the future. Continue Reading
-
Feature
02 Dec 2015
How to build an application integration framework for flexibility
Learn how MOBI Wireless created a back end infrastructure that makes it easy to implement different business workflows across service providers. Continue Reading
-
Feature
09 Nov 2015
JavaOne 2015 was the right time to dig into Java 9 JDK features
JavaOne 2014 was all about the Java 8 release, so it's understandable that JavaOne 2015 was all about Java 9. Here we take a look at what's new in Java 9, and even look forward towards things that might get included in Java 10. Continue Reading
-
Tip
04 Nov 2015
Learn what the new Java EE security API means for developers
The new Java EE security API is a proposal for baking better security into Java EE, and could ease many security implementation headaches. Continue Reading
-
Feature
01 Nov 2015
Valhalla and value types to change the way developers code in Java
In 2014, just as Java 8 was released, JavaOne was looking towards the future and talking about what was coming with Java 9. In 2015, Java 9 is still in the future, but that hasn't stopped the architects at Oracle from prognosticating about what might get included in Java 10. Continue Reading
-
News
28 Oct 2015
Performance upgrades and feature enhancements typify incremental Java releases
There may not have been a major Java release since last year, but at JavaOne2015, there are still plenty of performance upgrades and feature enhancements for platform architects to boast about. Continue Reading
-
News
26 Oct 2015
Celebrating 20 years of Java technology at JavaOne 2015
Twenty years is a pretty significant milestone, especially if you're a programming language. At JavaOne 2015, everyone is celebrating the 20th anniversary of the Java programming language, and looking ahead at the challenges another 20 years will bring. Continue Reading
-
Feature
06 Jul 2015
Docker containers are growing up and embracing open standards
In this new world where containers are challenging virtualized environments, Docker has had to grow up fast, and not only is it growing up, but it's opening up to new standards as well. Continue Reading
-
News
01 Jun 2015
Google's Project Soli replaces the keyboard and mouse with radar and logic
Very little has been done to truly replace the utility of the keyboard and mouse, but Project Soli is working to change that. The new Google project looks to combine machine intelligence with radar and similar technology to read hand signals and control the Internet of Things (IoT). Continue Reading
-
Tip
22 Apr 2015
Bridging the gap between WebRTC, VoIP and phones
The WebRTC protocol has shown great promise for integrating telephony capabilities into modern enterprise applications. But challenges remain. Continue Reading
-
Feature
06 Apr 2015
Where are the REST alternatives for real-time applications?
Enterprise developers face number of challenges in creating frameworks for building scalable real-time applications that power modern apps like the cars moving in Uber. Read on to find out how new protocols and automatically synchronized database frameworks can help to simplify these kinds of applications. Continue Reading
-
Podcast
09 Mar 2015
What we can expect from Hibernate OGM and data persistence in 2015
Emmanuel Bernard discusses the Hibernate OGM project and how it has progressed since it was initially envisioned back in 2011. Continue Reading
-
Tutorial
20 Jul 2014
Creating pages based on a JSF template: Using the Facelets ui:define tag
What do you do once you've set up a handsome page template using the Facelets functions that come with JSF 2.x? Well, you start creating new pages, meshing those ui:define tags in with ui:composition and ui:insert. It's easier than it sounds, trust me. Continue Reading
-
Tutorial
27 Jun 2014
Configuring VisualVM to connect to the app server
Learn how to configure VisualVM in part three of this tutorial. Continue Reading
-
Tip
01 May 2014
Improving Java performance by minimizing Virtual Machine (JVM) latency
Users demand that their applications run fast, but working with Java bytecode presents optimization problems that other architectures do not encounter. Here we look at how to improve the performance of the Java Virtual Machine (JVM) by minimizing the latency involved with bytecode to native code compilation steps. Continue Reading
-
Tip
05 Jan 2014
With Java EE 7, your Design Patterns are dead. And your EAR is ugly too.
Adam Bien isn't without opinions when it comes to modern day enterprise programming techniques. From the use of design patterns, to the manner in which projects and modules are divided, Bien isn't without opinions when it comes to developing Java applications. Continue Reading
-
Tutorial
03 Jul 2013
Which EJB to use? Stateful, stateless and singleton session beans compared
When developing a service layer, Java architects are often challenged with which of the three session beans, stateful, stateless or singleton, should be used. Continue Reading
-
News
19 Apr 2013
Oracle announces delays in the JDK 8 release schedule
After patching Web browser security issues, the Java Platform Group at Oracle has announced delays to the release cycle of JDK 8. Continue Reading
-
Tip
14 Apr 2013
Software requirements and expectation management key to project success
Many shun the task of properly documenting a system, but successful projects know that effective requirements docs lead to better expectation management and a greater degree of success. Continue Reading
-
Feature
09 Apr 2013
Alternative JVM languages: Scala explained
Watch this video lesson to learn the benefits of exploring the JVM alternative language Scala. Continue Reading
-
Tip
06 Mar 2013
Effective Naming Strategies for RESTful Web Services
New descriptive languages like WADL and WSDL 2.0 are making it possible to describe the RESTful contract to client applications. However, if your RESTful web services are not named effectively, the mechanism for describing the interface may run out of steam. Continue Reading
-
Feature
06 Mar 2013
How Headless Android is Impacting Embedded Systems Development
Given the fact that Android is targetted towards the smartphone market, you wouldn't expect any significant interest in Android from the embedded market. However, making Android 'headless', and working with it on an embedded device has a variety of compelling use cases, and accordingly it is becomming ever more popular. Continue Reading
-
Feature
07 Feb 2013
Effective API development: How to create a beautiful Java API
There's an art to creating a beautiful Java API. Here we examine the art of effective API development with Layer 7's Mike Amundsen. Continue Reading
-
Feature
06 Feb 2013
Contrasting distributed computing with concurrent programming:
In many ways, concurrent programming and distributed programming address the same set of programming issues, but there are significant differences between the two, and architects and developers need to understand the difference. Continue Reading
-
Feature
10 Jan 2013
How NoSQL, MySQL and MongoDB worked together to solve a big-data problem
Choosing between schemaless NoSQL databases and strong-schema relational designs isn't an either-or decision, as this case study points out. When dealing with their big data problem, Craigslist decided that their MySQL servers could use a little help from MongoDB, and putting the two technologies together created a better system with greater availability, scalability and performance. Continue Reading
-
News
01 Oct 2012
JavaOne conference coverage 2012
Join TheServerSide.com and SearchOracle.com as we present conference coverage from JavaOne and Oracle OpenWorld. Continue Reading
-
Feature
23 Aug 2012
How cloud computing is impacting enterprise Java developers
How do cloud computing technologies impact the day-to-day development patterns of typical Java developers? Continue Reading
-
Feature
08 Aug 2012
What type of software development professional do you need?
Be it an agile team or a company using a waterfall type of development process, your application development team needs an assortment of different skills and skillsets. Here we look at the various types professionals that make up the typical application development team. Continue Reading
-
Feature
25 Jul 2012
Application lifecycle management (ALM) challenges for multiple apps
Managing the lifecycle of one application is a challenge, but how do you go about the application lifecycle management process when you have multiple big applications being developed simultaneously. The best project managers need to know how to manage multiple applications simultaneously. Continue Reading
-
Feature
01 Jun 2012
Scaling Web applications with Scala, Clojure and Groovy
Scaling Web applications written in Java can be difficult due to thread concurrency and locking issues. However, immutable peripheral languages like Scala, Groovy, and Clojure can make scaling up more feasible. Continue Reading
-
Feature
31 May 2012
Why Java applications fail to scale linearly: A simple explanation
The process of scaling up Java applications often runs into the problem of diminishing returns, where adding another processor no longer adds significant benefit. Why won't Java programs scale? Here's your answer. Continue Reading
-
Feature
22 Mar 2012
Project documentation and Agile development
Agile development has been very effective at reducing the need for extensive, ponderous documentation. However, this methodology has not done away with the need for documentation entirely. It has simply moved documentation from a foundational role to a supportive role. Continue Reading
-
Tutorial
24 Feb 2012
Convert server-side Java to client-side HTML
This brief video tutorial uses Java code on the server side to push an HTML link to the client in simple html. Continue Reading
-
Tutorial
10 Feb 2012
Installing the Java Development Kit (JDK) and setting JAVA_HOME
The first choice in application servers for many Java developers is the open source Apache Tomcat. Learn how to download and install the Apache Tomcat 6 servlet engine. Continue Reading
-
Tip
26 Jan 2012
Java 7 and the intricacies of safe and unsafe casting
One of the problems with casting is that it does have the potential to cause a loss of precision, especially if the number that gets cast does indeed fall outside of the range of the target type. Here we will explain why this happens. Continue Reading
-
Feature
26 Jan 2012
Has Computer Programming Really Changed Much Since Lovelace's Time?
Everyone always talks about these new computer programming languages, and how great one is over the other. But really, has computer programming really changed that much over time? Continue Reading
-
Tutorial
12 Jan 2012
New Java 7 Features: How to Use a More Precise Rethrow in Exceptions from Project Coin
Afficionados of other languages such as Scala or Clojure are always slagging the fact that Java is too verbose and cumbersome. So, it's not too surprising to find out that Java 7 introduced a number of new facilities that can help to trim down the code an application developer is required to write. Continue Reading
-
Tutorial
22 Dec 2011
New Java 7 Features: A Numeric Underscores with Literals Tutorial
If you're doing the OCPJP upgrade exam, or just hitting the full blown OCPJP 7 Java certification, you need to know the ins and outs of the new language features. One fun and friendly syntax introduced with Java 7 is using numeric underscores. It's also an objective on the OCPJP7 exam: Using Numeric Underscores with Literals Continue Reading
-
Tutorial
15 Dec 2011
New Java 7 Features: Using String in the Switch Statement Tutorial
The new Java 7 Certified Professional exam expects you to know what's new with the switch statement in Java 7. The biggest news? The fact that you can now switch on a String literal. Continue Reading
-
Tutorial
15 Dec 2011
New Java 7 Features: Binary Notation and Literal Variable Initialization
Now with Java 7, you can not only use standard decimal notation, or the beloved hex notation, but you can use binary notation as well. Here's a good look at the ins and outs of binary notation, with a focus on what you'll need to know in order to pass the Java Professional certification exam from Oracle. Continue Reading
-
Tutorial
11 Nov 2011
Writing Java code in the cloud
The road bumps one experiences when they drive towards cloud computing can be avoided, especially when one has the opportunity to learn from the experiences of those who have gone before. Continue Reading
-
Feature
07 Nov 2011
Adding MVEL to the Java Developers Toolkit
By now you should be thoroughly convinced that as a Java developer you cannot afford to leave MVEL out of your toolbox, and that it fills a unique gap between complete programming environments like Groovy and Scala and expression languages like OGNL and JUEL. Continue Reading
-
News
11 Oct 2011
James Gosling on Steve Jobs
James Gosling, the father of Java, provides an interesting look at the man who was Steve Jobs. "I interviewed for jobs with him 3 times... Each was a wonderful, intriguing conversation, but I left each thinking 'no, I can't work for this man: he is mad!'" Continue Reading
-
News
07 Oct 2011
JavaOne 2011: Mark it up as a success
Last year a cloud of gloom hung over the three or four San Francisco hotels in which Oracle had sliced, diced and distributed all of the JavaOne sessions. There was a clear and palpable feeling of distrust and uncertainty that permeated the on-goings, and a typical sentiment was 'JavaOne was a lot better when Sun was running it.' Continue Reading
-
News
26 Sep 2011
The Programming Olympics
It's 10:00 am on the first Saturday of school at C.U. (University of Colorado). No projects have been assigned yet. No significant homework. So why do we have 24 C.S. students in the Computer Science Engineering Lab? They're about to compete in the first annual Windward / C.U. Code War. Participating doesn't count toward a grade. It fulfills no school requirements. It doesn't pay. So why are they here? Continue Reading
-
News
14 Sep 2011
JavaOne: Relegated to the alcoves of OracleWorld
Last year’s handling of the beloved JavaOne conference by Oracle eluted plenty of ideas with regards to how to run a better show in the future. Sadly, it looks like one of the most obvious suggestions has been ignored. Maybe in 2012 they’ll do things differently. Continue Reading
-
News
06 Sep 2011
From java.awt.print.Printable to PDF
This article explains how to convert java.awt.print.Printable objects to PDF files, so that every java server can generate PDF's based on Printables and, for example, email them to its users. Continue Reading
-
News
31 Aug 2011
Gosling sails away from Google and Android
Gosling has moved from the company that brought us Android, to a company that makes nifty little robots that use solar-power and energy harvested from the ocean's waves to sail around the globe collecting reams of information and data. Continue Reading
-
News
29 Aug 2011
Java 7: What Does It Mean for Tomcat 8?
Just about one month ago, Java 7 was released. The official project was opened by the Apache Software Foundation for its open source JSP and servlet container - Apache Tomcat. Since Java 7 is the latest version, many users are wondering if Tomcat 8 will support Java 7, or even if they should use it in Tomcat 7. Continue Reading
-
News
05 Aug 2011
Lucene should just shut up about Java 7
Lately the Lucene and Solr camps have been making a lot of noise about how Java 7 should be avoided. That's fine, but they're not being fair and their not sharing the blame as they should. Continue Reading
-
Tip
22 Jul 2011
Choosing Java frameworks for performance
Frank Cohen, CEO and founder of PushToTest, presents a round-up of opinions on which Java frameworks deliver a light-weight, RIA-based, high developer productivity platform. What do you think? Read the full conversation and join in. Continue Reading
-
News
13 Jul 2011
AS 7: Built for speed with JBoss modules
JBoss proved that most Enterprise Java Professionals really aren’t busy enough at work these days, as everyone from Java Superstar Matt Raible (rhymes with cable), to the lowly editor of TheServerSide.com, were busy downloading, installing, and playing around with the newly released software instead of doing the work they're actually being paid to do. Continue Reading
-
Tip
23 Jun 2011
How to properly estimate a Java project
Focusing on accurate use cases can simplify software development project estimations and improve your algorithms chances of producing an accurate time to completion. Continue Reading
-
News
17 Jun 2011
Java 7 JSR Passes While Transparency Concerns Prevail
Stephen Colebourne points out that Java 7 (JSR 336) has passed the JCP process (yay!) but says that the process is really broke, and everyone knows it, what with 13 yes votes, one no vote, and one abstain votes - and six of the yes votes said the vote was on technical merit or a desire to move forward and wasn't an approval of licensing. Continue Reading
-
News
17 Jun 2011
Java - Lambda Syntax Alternatives
The discussion on the lambda-dev mailing list has started to address the issue of what the Java language syntax for lambdas / function literals ought to look like. Let's look at a slightly non-trivial example and try to tease the issues out. Martjin Verburg and Ben Evans give their take. What's yours? Continue Reading
-
News
08 Jun 2011
The JCP reform and what it means for the Java developer
Earlier this month, the LJC, aka the London Java User Group (JUG) became the first JUG to be elected to an open seat on the Java Standard Edition/Enterprise Edition Executive Committee (Java SE/EE EC in short). In this post, we’ll explain what the forthcoming changes to the Java Community Process (JCP) mean and how the LJC intends to help with the process of reform at the SE/EE Committee level. Continue Reading
-
News
31 May 2011
Set out for the handy HBase API
This java program covers the 'how to' element for creating, reading and deleting records in an hbase table using the HBase API. For all those who are new to the API or stuck up with it somewhere, this post can be very supportive since the example given is quite self explanatory. Continue Reading
-
News
15 Apr 2011
Contexts and Dependency Injection in Java EE: Which Annotations to Use?
Java Platform, Enterprise Edition (Java EE) 5 brought dependency injection (DI) with Convention over Configuration to Enterprise JavaBeans (EJB) 3.0. Java EE 6 introduces the flexible and powerful @Inject dependency injection model (JSR-330 and JSR-299) in addition to the already existing @EJB annotation. So when should you use what? Continue Reading
-
News
13 Apr 2011
Tutorial: Android SQLite CRUD App
Android is quickly becoming one of the fastest growing platforms in the mobile space. Native Apps for this platform are written in the Java Programming Language. As part of my series of tutorials I would like to share the tutorial related to local data storage on the built-in SQLite database. Continue Reading
-
News
13 Apr 2011
Stop Handling Exceptions: Your Code Could Run Faster
When working with customers we very often find a lot of exceptions they are not aware of. After removing these exceptions, the code runs significantly faster than before. This creates the assumption that using exceptions in your code comes with a significant performance overhead. The implication would be that you better avoid using exceptions. Continue Reading
-
News
05 Apr 2011
From Zero to Java EE in 60 seconds: Seam Forge is heating up Java Web Development
It's been a few months since their last release, but they have a lot of goodies for you this time, and for those of you who haven't taken a look, or seen it at all, Seam Forge is really starting to pick up steam. Since this is the third release of "Angry Kitten," they decided it was time to let out a whole pack of excited, ill tempered little furballs. Continue Reading
-
Tip
15 Mar 2011
Dependency Injection in Java EE 6 (Part 6)
In this last article of the series, we will cover portable extensions, available implementations as well as CDI alignment with Seam, Spring and Guice. Continue Reading
-
Feature
01 Feb 2011
Scala and the cloud
As the cloud becomes more popular, so does the functional programming language Scala. Don't worry though, it's Java compatible and it runs on a JVM. So why are people using it? Perhaps because it's so functional. Continue Reading
-
Feature
30 Nov 2010
Applying control theory concepts in software applications
Control theory is a discipline originated in mathematics and engineering science but was adopted also in psychology, social sciences and other research domains. It deals with influencing the behaviour of dynamical systems. In this article it is shown that concepts of control theory can also be applied to software architectures that have a need for controlling dynamical behaviour. Software applications that react to external input in form of GUI requests, batch input or service calls are in deed dynamical systems whose behaviour depends on current event, environment and actual system state. Continue Reading
-
News
08 Mar 2010
Part 3 of dependency injection in Java EE 6
In this article we will discuss interceptors, decorators, stereotypes and events. In the course of the series, we will cover conversations, CDI interaction with JSF, portable extensions, available implementations as well as CDI alignment with Seam, Spring and Guice. Continue Reading
-
News
03 Nov 2009
Dependency Injection in Java EE 6 - Part 1
Contexts and Dependency Injection for Java EE (CDI), a key part of the soon to be finalized Java EE 6 platform. Standardized via JSR 299, CDI is the de-facto API for comprehensive next-generation type-safe dependency injection for Java EE. Continue Reading
-
News
01 Feb 2009
Java EE 6 Overview
The details of Java EE 6 have been getting hashed out for quite a few months in the JSR 316 expert group, which I am part of. The goal of this article is to give you an overview of the changes in Java EE 6 as well as encourage your feedback. Besides the work of the JSR 316 expert group itself, I'll also discuss the JSRs that are likely to comprise this release of the platform. Continue Reading
-
News
01 May 2007
The Working Developer's Guide to Java Bytecode
In this article, we're going to examine the JVM bytecode set, disassemble some code to see how it works, and play with some tools that allow us to manipulate bytecode directly. Continue Reading
-
News
01 Feb 2006
Migrating JDBC Data Access Objects to use EJB3
In this article, we'll discuss what you need to do to migrate your DAO-based application to the EJB3 Java Persistence API. Continue Reading
-
News
01 Aug 2005
Under the Hood of J2EE Clustering
More and more mission-critical and large scale applications are now running on Java 2, Enterprise Edition (J2EE). Those mission-critical applications such as banking and billing ask for more high availability (HA), while those large scale systems such as Google and Yahoo ask for more scalability. Continue Reading
-
News
01 Apr 2005
BPEL and Java
The idea and motivation behind almost each new technology and platform for enterprise application development is to provide an environment where better business applications can be developed with less effort –business applications which should closely align to the business processes, which should not be too complex, and which can be adapted to the changing nature of business processes without too much effort. Continue Reading
-
News
12 Dec 2004
Internationalized Data in Hibernate
We've seen a few people using internationalized reference data where labels displayed in the user interface depend upon the user's language. It's not immediately obvious how to deal with this in Hibernate, and I've been meaning to write up my preferred solution for a while now. Continue Reading
-
News
24 Jun 2004
Implementing Caching with AspectJ
Often in talks we give examples of common aspects, such as caching, pooling, auditing, security, persistence, and so on. Learn how to implement them using AspectJ. Continue Reading
-
News
01 May 2002
Understanding J2EE Application Server ClassLoading Architectures
The packaging mechanisms defined in Chapter 8 of the J2EE 1.3 specification provide a framework for pulling together all the pieces of a J2EE application. However, application server vendors are free to design a proprietary class loading hierarchy for obtaining the classes and resources found in an application. A class loading hierarchy is typically used to enable features such as hot redeployment and application independence. Continue Reading