gnu.gcj.runtime

Class SharedLibHelper


public class SharedLibHelper
extends Object

Method Summary

void
finalize()
Called on an object by the Virtual Machine at most once, at some point after the Object is determined unreachable but before it is destroyed.
Class
findClass(String name)
Core
findCore(String name)
static SharedLibHelper
findHelper(ClassLoader loader, String libname, CodeSource source, boolean tryParents)
static SharedLibHelper
findHelper(ClassLoader loader, String libname, CodeSource source, ProtectionDomain domain, boolean tryParents)
static SharedLibHelper
findHelper(String libname)
URL
findResource(String name)
String
toString()
Convert this Object to a human-readable String.

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Method Details

finalize

public void finalize()
Called on an object by the Virtual Machine at most once, at some point after the Object is determined unreachable but before it is destroyed. You would think that this means it eventually is called on every Object, but this is not necessarily the case. If execution terminates abnormally, garbage collection does not always happen. Thus you cannot rely on this method to always work. For finer control over garbage collection, use references from the java.lang.ref package.

Virtual Machines are free to not call this method if they can determine that it does nothing important; for example, if your class extends Object and overrides finalize to do simply super.finalize().

finalize() will be called by a Thread that has no locks on any Objects, and may be called concurrently. There are no guarantees on the order in which multiple objects are finalized. This means that finalize() is usually unsuited for performing actions that must be thread-safe, and that your implementation must be use defensive programming if it is to always work.

If an Exception is thrown from finalize() during garbage collection, it will be patently ignored and the Object will still be destroyed.

It is allowed, although not typical, for user code to call finalize() directly. User invocation does not affect whether automatic invocation will occur. It is also permitted, although not recommended, for a finalize() method to "revive" an object by making it reachable from normal code again.

Unlike constructors, finalize() does not get called for an object's superclass unless the implementation specifically calls super.finalize().

The default implementation does nothing.

Overrides:
finalize in interface Object

findClass

public Class findClass(String name)

findCore

public Core findCore(String name)

findHelper

public static SharedLibHelper findHelper(ClassLoader loader,
                                         String libname,
                                         CodeSource source,
                                         boolean tryParents)

findHelper

public static SharedLibHelper findHelper(ClassLoader loader,
                                         String libname,
                                         CodeSource source,
                                         ProtectionDomain domain,
                                         boolean tryParents)

findHelper

public static SharedLibHelper findHelper(String libname)

findResource

public URL findResource(String name)

toString

public String toString()
Convert this Object to a human-readable String. There are no limits placed on how long this String should be or what it should contain. We suggest you make it as intuitive as possible to be able to place it into System.out.println() and such.

It is typical, but not required, to ensure that this method never completes abruptly with a RuntimeException.

This method will be called when performing string concatenation with this object. If the result is null, string concatenation will instead use "null".

The default implementation returns getClass().getName() + "@" + Integer.toHexString(hashCode()).

Overrides:
toString in interface Object
Returns:
the String representing this Object, which may be null

Copyright (C) 2001, 2003, 2004, 2005 Free Software Foundation This file is part of libgcj. This software is copyrighted work licensed under the terms of the Libgcj License. Please consult the file "LIBGCJ_LICENSE" for details.