Java Platform, Enterprise Edition

Java EE Journal

Subscribe to Java EE Journal: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Java EE Journal: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Top Stories

A Practical Guide to Java Remote Debugging By Eugen Paraschiv Introduction to Debugging Troubleshooting a problem on a remote server, especially in production, is not an easy task. Sometimes it involves debugging the application code directly on the server. But the production servers are usually run in a strict environment, where not all convenient developer tools are available. In this article, you'll discover how to configure a running web server and debug your application using standard facilities provided by the Java platform. Caveats First off, if you try to connect to a remote running Java server which you did not specifically configure for debugging, you'd most likely fail. This means that the configuration steps should be taken in advance. On the other hand, you wouldn't want to always keep the production server running with debugging configuration enabled, a... (more)

Java Heap Space vs. Stack Memory | @CloudExpo #JVM #JRE #Java #AI #DX

Java Heap Space vs. Stack Memory: How Java Applications Allocate Memory By Angela Stringfellow Java applications need a certain amount of RAM on a computer to run. Each time an object or variable is declared, it needs more RAM. Simply designating enough memory to hold every value declared and run each method would lead to a bloated application. To keep application memory requirements lean, it is partitioned in ways that require less memory and allows the application to run more quickly. The Java Virtual Machine (JVM) divides memory between Java Heap Space and Java Stack Memory in a way that only uses memory that's needed. What Is Java Heap Space It is created by the Java Virtual Machine when it starts. The memory is used as long as the application is running. Java runtime uses it to allocate memory to objects and Java Runtime Environment (JRE) classes. When an object i... (more)

Jogl and Java 3D | @CloudExpo #Java #Linux #IoT #IIoT #AI #SmartCities

Deployment Methodology 1. Problem Statement We are given a desktop platform with Java 8 or Java 9 installed and seek to find a way to deploy high-performance Java applications that use Java 3D and/or Jogl without having to run an installer. We are subject to the constraint that the applications be signed and deployed so that they can be run in a trusted environment (i.e., outside of the sandbox). Further, we seek to do this in a way that does not depend on bundling a JRE with our applications, as this makes downloads and installations rather long. The novel javapackager command (included in the JDK versions 8 and 9), produces the program installation packages in the range of sizes from 57 to 202 Megabytes approximately. 2. Motivation We have a long history of making use of Java 3D applications in the software engineering community. Since the introduction of Java 3D i... (more)

Factory Design Pattern - An Effective Approach

As you know the Factory Method Pattern or popularly known as the Factory Design Pattern is one the design patterns under the category of "Creational Design Pattern". The basic principle behind the pattern is that at runtime we get an object of similar type based on the parameter we pass. There are many articles on this pattern and developers implement in various ways to achieve it. In this article I will show you how to create a better and most effective way of designing factory design pattern. Technicalities As I have told you we will get a similar type object at run-time in the case of a factory design so that the underlying implementation of an object will be behind the screen. Let us consider a simple approach. Let's consider a Person object that can be either Male or Female. At runtime we should only consider the behavior of the person but not the gender. As the... (more)

The i-Technology Right Stuff

Related Links: Wanted: 19 More of the Top Software People in the World Sung and Unsung i-Technology Heroes Who's Missing from SYS-CON's i-Technology Top Twenty?" Our search for the Twenty Top Software People in the World is nearing completion. In the SYS-CON tradition of empowering readers, we are leaving the final "cut" to you, so here are the top 40 nominations in alphabetical order. Our aim this time round is to whittle this 40 down to our final twenty, not (yet) to arrange those twenty in any order of preference. All you need to do to vote is to go to the Further Details page of any nominee you'd like to see end up in the top half of the poll when we close voting on Christmas Eve, December 24, and cast your vote or votes. To access the Further Details of each nominee just click on their name. Happy voting!   In alphabetical order the nominees are:   Tim Berner... (more)

Secrets Of The Masters: Core Java Job Interview Questions

JDJ's Enterprise Editor, Yakov Fain (pictured) writes: If you are planning to hit the job market,  you may need to refresh some of the Java basic terms and techniques to prepare yourself for a technical interview. Let me offer you some of the core Java questions that you might expect during the interviews.  For  most questions  I’ve provided only  short  answers to encourage further research.  I have included only  questions for mid (*) and senior level (**) Java developers. These sample questions could also become handy for people who need to interview Java developers (see also the article "Interviewing Enterprise Java Developers"). Disclaimer. This article has been originally published three or four years ago, hundreds of thousands Java developers have read it, but I still use some of these questions while interviewing Java developers. Guess what? Every other Jav... (more)

i-Technology's All-Time Top 100?

Gene Amdahl: Implementer in the 60s of a milestone in computer technology: the concept of compatibility between systems Marc Andreessen: Pioneer of Mosaic, the first browser to navigate the WWW; co-founder of Netscape John Vincent Atanasoff: Inventor of an electronic computer in the late 1930s not for fun or glory, but because he had problems for it to solve Charles Babbage: Lucasian Professor of Mathematics at Cambridge in 1828; inventor of the 'calculating machine' John Backus: Inventor (with IBM) of FORTRAN (FORmula TRANslator) in 1956 Ralph Baer: "The man who invented video games" (Pong) Kent Beck: Creator of JUnit and pioneer of eXtreme Programming (XP) Bob Bemer: One of the developers of COBOL and the ASCII naming standard for IBM (1960s) Tim Berners-Lee: "Father of the World Wide Web" and expectant father of the Semantic Web D J Bernstein: Author of qmail Jos... (more)

Who Are The All-Time Heroes of i-Technology?

I wonder how many people, as I did, found themselves thrown into confusion by the death last week of Jean Ichbiah (pictured), inventor of Ada.  Learning that the inventor of a computer programming language is already old enough to have lived 66 years (Ichbiah was 66 when he succumbed to brain cancer) is a little like learning that your 11-year-old daughter has grown up and left home or that the first car you ever bought no longer is legal because it runs on gasoline in an age where all automobiles must run on water. How can something as novel, as new, as a computing language possibly already be so old-fangled that an early practitioner like Ichbiah can already no longer be with us? The thought was so disquieting that it took me immediately back to the last time I wrote about Ichbiah, and indeed about Ada Lovelace for whom his language was named. It was in the context ... (more)

Where's i-Technology Headed in 2008?

2007 was undoubtedly the year of Social Networking, but what of 2008? Will '08 be the year of "Unified Communications" or the year when CMS comes to stand for "Community Management System" - or even "Collaboration Management System"? Or will it be the year of the giga-merger, to beat the mere mega-mergers of 2007? At the end of each year, SYS-CON informally polls its globe-girdling network of software developers, industry executives, commentators, investors, writers, and editors. As always, the range and depth of their answers is fascinating, throwing light not just on where the industry is going but also how it's going to get there, why, because of who, and within what kind of time-scale. Enjoy! RIAs Versus AJAX o Ruby on Rails o PHP o Facebook Competitors Tim Bray Director of Web Technologies Sun Tim Bray managed the Oxford English Dictionary project at the Univers... (more)

The Great Oracle v Google Java Suit Splits into Two Trials

Oracle and Google may not get to go at each come Halloween depriving onlookers of a real treat. District Court Judge William Alsup told the pair Monday that the trial may have to be postponed. It all depends on whether a "large criminal" trial starts, as scheduled, on October 17. If it doesn't then Oracle v Google will pick a jury on October 19 and the trial will start October 31. Then on Tuesday the judge said there were going to be two Java trials: one on liability, one on damages and that he's appointed Brigham Young University professor of economics James R. Kearl as an independent damages expert. Dr. Kearl, who'll be paid by the court using Oracle and Google's money, needs "more time" to prepare so if any trial starts October 31 it'll be just the liability part with the damages part beginning in the first half of December at the earliest. Both would have the s... (more)

Java Virtual Machine | @CloudExpo @Stackify #DX #JVM #Java #Virtualization

A Deep Dive into the Core Metrics of the Java Virtual Machine By Eugen Paraschiv Overview of JVM Metrics In this article, we'll cover how you can monitor an application that runs on the Java Virtual Machine by going over some of the critical metrics you need to track. And, as a monitoring tool, we'll use Stackify Retrace, a full APM solution. The application we'll monitor to exemplify these metrics is a real-world Java web application built using the Spring framework. Users can register, login, connect their Reddit account and schedule their posts to Reddit. How JVM Memory Works There are two important types of JVM memory to watch: heap and non-heap memory, each of these with its own purpose. The heap memory is where the JVM stores runtime data represented by allocated instances. This is where memory for new objects comes from, and is released when the Garbage Colle... (more)