Java Mailing List Archive

http://www.junlu.com/

Google
Google
Mailing List
Home
Forum Home
JBoss - Java Application Server
Tomcat - JSP/Servlet container
Struts - A MVC web framework
iText - An open source PDF Java Library
JDOM - JDOM XML Parser
J2EE - A mailing list for Java(tm) 2 Platform, Enterprise Edition
J2EE Pattern - An interest list for Sun Java Center J2EE Pattern Catalog
JSP - A mailing list about Java Server Pages specification and reference
Servlet - A mailing list for discussion about Sun Microsystem's Java Servlet API Technology
Struts & Hibernate
Subjects
JSP editor plugin for eclipse ?
org apache jasper JasperException: Unable to compile class for JSP
Tomcat: Connection reset by peer: socket write error
Cannot retrieve definition for form bean null
Struts Tiles Tutorial (free Struts training)
Where do I download Tomcat 4 0 6?
Data Access Object (DAO) pattern, example DAO 's
Where to download Tomcat v 4 1 24 from?
Tomcat 5 0 16 Requested resource not available
Oracle Connection Pooling in 3 2 2
Servlet : Session invalidate
Servlet action is currently unavailable
Tomcat/Struts Unicode Encoding/Decoding problems
Tomcat and webapplication specific java library path
Running a Simple JMS Example
Mapping in workers2 properties
org apache jasper JasperException
Cannot find message resources under key org apache struts action
   MESSAGE
problem with html:text bean throwing exception
Cannot find message resources under key org apache struts action MESSAGE
invalid direct reference problem with solution
Tool for jsp debug Try Sysdeo Eclipse Plugin
Tomcat 5 Cannot load JDBC driver class 'null ' SQL state: null
weblogic ejbc
java properties file
Jboss 3 2 3 Coyote Can 't re
Tomcat 5, Apache2 and mod jk2 integration problem
JBoss example problem new to J2EE
url string for connecting jboss to oracle
Value attribute of <html:checkbox
javax servlet ServletException: BeanUtils populate
HTTP Status 404 The requested resource is not available
5 0 18: Windows XP Pro vs Windows 2000
 
Re: How do I ........?

Re: How do I ........?

2006-11-15       - By Christopher Schultz

 Back
Reply:     1     2  

-- --BEGIN PGP SIGNED MESSAGE-- --
Hash: SHA1

Martin,

Wow. More drivel. SS and DS? I see you're familiar with x86 assembly. I
weep for you, Martin.

Martin Gainty wrote:
> This is one of those SS!=DS discussions which means that variables
> placed/alloc'ed on the stack are NOT the same as variables alloc'ed
> from heap so when using a variable which is  alloced  on the stack
> AND initialised to some known value (null) feel free to test that
> pre-allocated stack variable as with if(stack_variable == null)

Where to begin....

In Java, all reference types (which includes all object types as well as
arrays) are allocated on the heap. All. All all all.

All /references/ (those are the names that you give to them in your
functions, like "foo" are allocated on the stack. All. All all all.

Non reference types (also called primitives) may never have a null value
in Java. Never never never.

If a reference is equal to null, and you try to dereference it, you will
get a NPE.

The solution is simple: do not dereference null references. Duh!

> If you dont know how this variable is alloc'ed or you know that the
> variable is alloc'ed from heap use try / catch(NullPointerException
> npe)

The variable is always a reference variable because we're talking about
nulls. Reference types always go on the heap, therefore you are getting
heap allocation. The reference itself is always local, on the stack.

Catching NPE is just sloppy coding.

> to do otherwise you're risking your webapp causing 'an unhandled
> exception' when referencing a unalloc'ed variable..

There is no such operation as "referencing" a variable. Simply
mentioning a variable name in an expression (even if it is null) is not
enough to throw an NPE. You have to dereference it.

The definition of "dereference" is an exercise left to the reader, if
his eyes haven't bled so much he can no longer see, which is about where
I am.

Let's kill this thread. Dead thread dead.

- -chris

-- --BEGIN PGP SIGNATURE-- --
Version: GnuPG v1.4.5 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFW67q9CaO5/Lv0PARAi1tAJ4xqphcj0AdwpjFV8lj/RVnXpphhACfes+x
alSUKSwZFLIiMOL/9sDNNZU=
=7ZZy
-- --END PGP SIGNATURE-- --

-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------
To start a new topic, e-mail: users@(protected)
To unsubscribe, e-mail: users-unsubscribe@(protected)
For additional commands, e-mail: users-help@(protected)


©2008 junlu.com - Jax Systems, LLC, U.S.A.