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: 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)
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)
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)
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)
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)
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)
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)
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)
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)
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)