24 Apr 2019

feedDZone Java Zone

The State of Kotlin: Using Jakarta EE/MicroProfile in Traditional Applications

Recently, I had the opportunity to catch up with some R&D tasks in my main job. In short, I had to evaluate the feasibility of using Kotlin in regular Jakarta EE/MicroProfile projects including:

TL;DR Version

Kotlin is a great language and plays well with Maven. While I'm able to use many of the EE API for "services," however, the roadblock is not the language or libraries but the tooling support.

24 Apr 2019 4:01am GMT

23 Apr 2019

feedDZone Java Zone

Want to Get a Job at Google? Learn Kotlin

In the world of Android app development, Kotlin is kind of a big deal. Created by JetBrains back in 2010 to do away with Java's numerous "pain points" - like 'null pointer exceptions' - Kotlin has now become the go-to language for some of the biggest players in the industry.

Here are five reasons why it should also be yours:

23 Apr 2019 7:58pm GMT

Why the Constant Interface Pattern Should Be Discouraged

It has been an age old practice to place commonly used constants in an interface, and classes implementing it can directly access those constants without prefixing the interface name.

Advantages of This Practice

Advantage Remarks
No need to worry about instantiating a class Constant classes are meant not to be instantiated and hence has a private constructor
Access the constants directly with out prefixing a namespace Java static import can be used with classes

Disadvantages of This Practice

Constant Interface Does Not Define a Type

It is considered good practice to segregate the contract (interface defining the type and behavior) from the implementation, and this brings us lots of benefit. Let's consider some examples.

23 Apr 2019 4:02pm GMT

Adapter Design Pattern

In the video below, we take a closer look at examples of the adapter design pattern in Java. So, let's get started!

Check out the links below to download the code:

23 Apr 2019 10:01am GMT

JDK 12 – JEP 325 Switch Expressions

JDK 12 went GA on March 19, 2019, keeping its word on shorter release cycles and frequent releases. The features part of the release can be found here. One of the interesting features for developers is the "JEP 325 Switch Expressions," which is available as a preview feature.

A preview feature, as defined here, is:

23 Apr 2019 7:01am GMT

Architecture of Spring Framework: Modularity and Spring Modules

One of the most important features of the Spring Framework is modularity - it is not one big monolith framework. Let's take a closer look at the architecture of the Spring Framework, Spring modules, and how they are organized.

Spring Architecture and Modules

Let's look at the modules that are present in a typical Spring project. image info

23 Apr 2019 4:01am GMT

22 Apr 2019

feedDZone Java Zone

Decorator Design Pattern for Beginners

In the video below, we take a closer look at the decorator design pattern in Java. Let's get started!

22 Apr 2019 10:01am GMT

Introduction to Spring Batch

Spring Batch is a lightweight, comprehensive batch framework that is designed for use in developing robust batch applications. In this article, you will learn:

What Is Spring Batch?

Spring Batch is a lightweight, comprehensive batch framework designed for use in developing robust batch applications.

22 Apr 2019 7:01am GMT

IntelliJ Themes Contest 2019: Add More Color to Your IDE!

We are thrilled to announce IntelliJ Themes Contest 2019! Create the community's most-loved theme plugin for any IntelliJ-based IDEs: IntelliJ IDEA, PhpStorm, PyCharm, RubyMine, WebStorm, DataGrip, GoLand, CLion, Rider, or AppCode, and win a prize!

IntelliJ IDEA 2019.1 arrived last month with official support for color customization of the IDE appearance, which means it's up to you to decide what your IDE looks like! You can customize the colors of most of its parts, from toolbars, windows, buttons and icons, to the background, the editor scheme, and much more.

22 Apr 2019 4:01am GMT

19 Apr 2019

feedDZone Java Zone

Java Is Not Dying (Yet)

I'm a Java/Scala/Groovy guy, that's not a mystery. Some people, especially the youngsters, roll their eyes when they learn about it. Old fashioned, ineffective when compared to modern languages, and doomed - that's basically what I hear all the time. But is that really the case?

Old Fashioned

Yes, the base constructs and constraints that Java offers are old fashioned and rely on how code was written 20 years ago. Programming languages are not created in a sterilized bubble. Developers' habits and needs are central to language design, and while inventors try to infuse innovation into it, it'd be dumb to ignore how people will actually use it. The first milestone for Java dates back in 1995, and while some of its foundational blocks looked visionary for at least 10 years, it is pretty obvious that 29 24 years later… not so much.

19 Apr 2019 5:06pm GMT

Thoughts on Quarkus

Quarkus, the new "supersonic, subatomic" Java framework is currently getting a lot of attention. The ideas behind this build and runtime tool are indeed more than interesting for the future of enterprise Java. What are the benefits and shortcomings of using Quarkus? Let's find out.

Getting Rid of Dynamics

Quarkus takes the reasoning that most of the dynamics of an enterprise Java runtime is not really required in a containerized world. Once you build your application to a container image, the functionality is usually not supposed to change. All of the dynamics that an enterprise container brings allows for very powerful and flexible programming and deployment models, but once our applications have been started inside containers, they typically don't change anymore.

19 Apr 2019 4:01pm GMT

Spring Cache Tutorial With EhCache

In the video below, we take a closer look at Spring Cache with EhCache. So, let's get started!

Check out the links below to download the code:

19 Apr 2019 10:01am GMT

Java Annotated Monthly — April 2019

March was a big month! A new release of Java and a new release of IntelliJ IDEA. It was also a huge month for news, tutorials, articles, and so on, I didn't have to do any searching for new articles - I picked up so many great ones just from being part of the community.

Java News

Java 12 came out! Wow, Java's Annotated Monthly is getting easy (boring?) to write, two issues every year are about a new Java release

19 Apr 2019 7:01am GMT

Introduction to Android App Development With Kotlin: Room Database (Part 7)

This is a continuation of tutorial series on Android development with Kotlin. The previous tutorial can be found here.

With the basic structure of our MVVM app in place, we can now look at implementing the persistence layer, i.e. the database. Lucky for us, Google came out with its own persistence library built on top of SQLite; it's called Room. Previously, there were many independent libraries which were a cause of major headaches for Android developers who maintained multiple projects.

19 Apr 2019 4:01am GMT

18 Apr 2019

feedDZone Java Zone

SKP's Java / Java EE Gotchas: Revisiting Java SE 5 Features!

So, preparing for an interview? Want to revisit some Java SE 5 features? Trying to recall or revise a Java SE programming construct? Let me take you back in time to what was introduced first in Java SE 5! This progression and tutorial series on Java, as we all eagerly await the official release of Java SE 9!

Java SE 5 Release Date: 04-10-2004

18 Apr 2019 8:22pm GMT

SKP's Java / Java EE Gotchas : Java SE 9 Features: What's New?

Below, I have provided some of the most important core language enhancements for JDK 9.0.The objective of this article is to introduce you to the new features of Java SE 9. This includes mostly conceptual introduction of the features. These are the almost finalized features, that have been accepted and officially announced by Oracle. Java 9 is scheduled for release by about the end of July 2017.


18 Apr 2019 8:21pm GMT

10 Nov 2011


OSDir.com - Java: Red Hat's top secret Java Killer/Successor: The Ceylon Project

From the Ceylon dept.:

Gavin King of Red Hat/Hibernate/Seam fame recently unveiled the top secret project that he has been working on over the past two years, a new language and SDK designed to replace Java in the enterprise. The project came out of hiding without much fanfare or publicity at QCon Beijing in a keynote titled "The Ceylon Project - the next generation of Java language?".

10 Nov 2011 6:01am GMT

OSDir.com - Java: Oracle Introduces New Java Specification Requests to Evolve Java Community Process

From the Yet Another dept.:

To further its commitment to the Java Community Process (JCP), Oracle has submitted the first of two Java Specification Requests (JSRs) to update and revitalize the JCP.

10 Nov 2011 6:01am GMT

OSDir.com - Java: No copied Java code or weapons of mass destruction found in Android

From the Fact Checking dept.:

ZDNET: Sometimes the sheer wrongness of what is posted on the web leaves us speechless. Especially when it's picked up and repeated as gospel by otherwise reputable sites like Engadget. "Google copied Oracle's Java code, pasted in a new license, and shipped it," they reported this morning.

Sorry, but that just isn't true.

10 Nov 2011 6:01am GMT

OSDir.com - Java: Java SE 7 Released

From the Grande dept.:

Oracle today announced the availability of Java Platform, Standard Edition 7 (Java SE 7), the first release of the Java platform under Oracle stewardship.

10 Nov 2011 6:01am GMT

OSDir.com - Java: Java SE 7 Passes JCP

From the Jitters dept.:

The next edition of Java has been approved by a Java Community Process executive committee, but not without some acrimony.

10 Nov 2011 6:01am GMT

OSDir.com - Java: JDK 7 RC1 Released

From the JDK dept.:

After an initial round of testing we've declared build 147 to be the first Release Candidate of JDK 7.

There are only thirteen changes in this build. Over half of them are administrivial updates that don't affect the actual code; the remainder are true showstoppers, including several hard VM crashes and a JIT correctness bug identified by an Eclipse unit test.

10 Nov 2011 6:01am GMT

OSDir.com - Java: Google Files Sizzling Answer to Oracle's Amended Java Complaint

From the Counter dept.:

Google has filed its answer to Oracle's amended complaint and its memorandum opposing Oracle's Motion to Dismiss. And we find out why Google didn't just roll over and pay Oracle for a license. Oracle asked in its motion to dismiss that the counterclaims alleging that Oracle's patents are invalid be dismissed. So Google explains more thoroughly why it believes they are in fact invalid. First, Google asserts:

Each of the Patents-in-Suit is invalid under 35 U.S.C. § 101 because one or more claims are directed to abstract ideas or other non-statutory subject matter.

10 Nov 2011 6:01am GMT

OSDir.com - Java: Apache loses Java showdown vote to Oracle

From the Dis Harmony dept.:

The Apache Software Foundation - one of tech's most influential open-source groups - is closer to quitting Java's governing body after losing a stand-off vote against Oracle on Java.

The Reg has learned that with 75 per cent of qualifying Java Community Process (JCP) members having voted on whether to ratify Oracle's proposed roadmap for Java 7 and 8, Oracle's plan has been accepted.

10 Nov 2011 6:01am GMT

OSDir.com - Java: Apache Software Foundation Resigns from Java Community Process

From the So Long dept.:

The Apache Software Foundation has resigned its seat on the Java SE/EE Executive Committee. Apache has served on the EC for the past 10 years, winning the JCP "Member of the Year" award 4 times, and recently was ratified for another term with support from 95% of the voting community. Further, the project communities of the ASF, home to Apache Tomcat, Ant, Xerces, Geronimo, Velocity and nearly a 100 mainstay java components have implemented countless JSRs and serve on and contribute to many of the JCPs technical expert groups.

We'd like to provide some explanation to the community as to why we're taking this significant step.

The recent Java SE 7 vote was the last chance for the JCP EC to demonstrate that the EC has any intent to defend the JCP as an open specification process, and demonstrate that the letter and spirit of the law matter. To sum up the issues at stake in the vote, we believe that while continuing to fail to uphold their responsibilities under the JSPA, Oracle provided the EC with a Java SE 7 specification request and license that are self-contradictory, severely restrict distribution of independent implementations of the spec, and most importantly, prohibit the distribution of independent open source implementations of the spec. Oracle has refused to answer any reasonable and responsible questions from the EC regarding these problems.

10 Nov 2011 6:01am GMT

OSDir.com - Java: Apache Discontinues Independent Java Implementation 'Harmony'

From the DisHarmony dept.:

After the resignation of Apache from the Java SE/EE Executive Committee, the time has now come for Harmony to be added to the Apache Attic. Harmony was 'the project to produce an open source cleanroom implementation of Java.' An open vote was taken within the Project Management Committee, which resulted in a 20-2 majority to discontinue development.

10 Nov 2011 6:01am GMT

Javable: YourKit Java Profiler 7.0 released

The major update to YourKit Java Profiler has been released. Version 7.0 includes

10 Nov 2011 6:01am GMT

Javable: Sun phases out mobile Java

Sun will gradually phase out mobile Java (Java Micro Edition) and move respective services to Standard Edition. "We're trying to converge

10 Nov 2011 6:01am GMT

Javable: Google Android SDK is available

The development kit and API for Google mobile platform, Android, has been released.

10 Nov 2011 6:01am GMT

Javable: Consumer JRE Early Access

Sun has started an early access program to Java SE 6 Update N (formerly known as the "Consumer

10 Nov 2011 6:01am GMT

Javable: NetBeans 6.0 released

New version of pure Java IDE has been released, with support for many new

10 Nov 2011 6:01am GMT

Javable: Happy New Year!

We wish a Happy New Year to all our readers and contributers. Hope to see you all in 2008.

10 Nov 2011 6:01am GMT