Java Technology Home Page
A-Z Index

Java Developer Connection(SM)
Question of the Week

Downloads, APIs, Documentation
Java Developer Connection
Tutorials, Tech Articles, Training
Online Support
Community Discussion
News & Events from Everywhere
Products from Everywhere
How Java Technology is Used Worldwide
Print Button
 


Sat Sep 02 13:22:52 PDT 2000
[Member not logged in]
Thank You for Adding one more new topic to my JDBC Knowledge..
Your Efforts to make others More Knowlegeble about JAVA is Great..
Keep helping the java people..

Regards..

Sreeni Yetchina s_yetchina@yahoo.com

Sat Sep 02 21:09:23 PDT 2000
[Member not logged in]
Is there any way without iterating through the resultset to know the number of records in a resultset.

Sat Sep 02 21:21:40 PDT 2000
bchilakapati
Though we have a method for finding number of columns or fields in a result set, we don't
have a similar method for finding the number of rows in that result set without actually
reading the result set record by record(Excepting that we have a sequence of steps ....
that too only as a part of jdbc 2.... last(), getRow()).

Sun Sep 03 03:44:33 PDT 2000
vasu_srinivasrao
Thanks ajuez1, you are absolute correct, thanks verymuch

Sun Sep 03 21:01:04 PDT 2000
[Member not logged in]
by select * from tab
then it gives the total no of rows in the table as in oracle.
then simlary if you affected any arbtrirry coloum then at the end you got to total no of coloum
this is hit& trial

Mon Sep 04 02:28:45 PDT 2000
sbpalli
How to know the amount of memory used by a class or object?

Mon Sep 04 22:51:14 PDT 2000
tejisingh
I SHALL LIKE YOU THE FOLLOWING QUESTIONS
1. WHAT IS THE IMPLICATION OF DECLARING A PARAMETER AS FINAL IN THE DECLARATION OF A METHOD EVEN THOUGH I AM ABLE TO CHANGE IT .FOR EX.
IF I HAVE A CLASS BOX WITH INSTANCE VARIABLES X AND Y AND HAVE THE FOLLOWING METHOD IN THE SAME CLASS BOX TAKING BOX OBJECT AS THE PARAMETER
void CHANGE(final BOX BB)
{
bb.x=10;
bb.y=20;
}
THIS METHOD HAS CHANGED THE VALUES OF INSTANCE VARIABLES X AND Y OF BOX BB WHICH WERE ORIGINALLY SET IN THE DECLARATION AS SAY X=5,Y=5.

2. WHY IS THE METHOD getCanonicalPath() IN THE FILE CLASS THROW AN I0EXCEPTION.

Mon Sep 04 22:52:09 PDT 2000
tejisingh
I SHALL LIKE YOU THE FOLLOWING QUESTIONS
1. WHAT IS THE IMPLICATION OF DECLARING A PARAMETER AS FINAL IN THE DECLARATION OF A METHOD EVEN THOUGH I AM ABLE TO CHANGE IT .FOR EX.
IF I HAVE A CLASS BOX WITH INSTANCE VARIABLES X AND Y AND HAVE THE FOLLOWING METHOD IN THE SAME CLASS BOX TAKING BOX OBJECT AS THE PARAMETER
void CHANGE(final BOX BB)
{
bb.x=10;
bb.y=20;
}
THIS METHOD HAS CHANGED THE VALUES OF INSTANCE VARIABLES X AND Y OF BOX BB WHICH WERE ORIGINALLY SET IN THE DECLARATION AS SAY X=5,Y=5.

2. WHY IS THE METHOD getCanonicalPath() IN THE FILE CLASS THROW AN I0EXCEPTION.
KINDLY IF POSSIBLE POST THE REPLY TO THE QUESTIONS TO MY EMAIL ADDRESS WHICH IS
singh_teji74@hotmail.com
YOUR REPLY SHALL BE HIGHLY REGARDED

Tue Sep 05 00:56:11 PDT 2000
Anonymous
IS there any way to know the no of rows in a resultset directly?

Tue Sep 05 12:37:10 PDT 2000
[Member not logged in]
hello

Tue Sep 05 17:50:43 PDT 2000
[Member not logged in]
And how do you find out the number of records in a result set ??

Tue Sep 05 19:30:41 PDT 2000
[Member not logged in]
How to regiser an Image to recieve mouse Events, so that it can be dragged from one place to another(any one can be used MouseMotionListener interface or MouseAdapter class) ?





Wed Sep 06 03:33:21 PDT 2000
s_nithy
Columns ok, but how could you find the no of rows in a resultset ?
if i use while(rs.next()){} where rs is the object of ResultSet interface,

again i will have to execute the query, is there any other way other than using a scrollable result set ?

Wed Sep 06 06:05:49 PDT 2000
[Member not logged in]
i think thers is faster way
int count = resultSet.getRow();
System.out.println("Number of Fields is "+ count);
but you may have exception called unSupported feature...

Wed Sep 06 06:30:24 PDT 2000
[Member not logged in]
How to count the number of records in the ResultSet, without trying to enumerate them?

Wed Sep 06 11:40:42 PDT 2000
Anonymous
muh

Thu Sep 07 02:42:19 PDT 2000
[Member not logged in]
Is it possible to run a program with out the key word class?
You may think no but i did it.It gave me a error but the class file was generated and i was able to run on it.

Thu Sep 07 02:42:38 PDT 2000
Anonymous
Is it possible to run a program with out the key word class?
You may think no but i did it.It gave me a error but the class file was generated and i was able to run on it.
If possible reply to me at naveen_ganesan@hotmail.com

Thu Sep 07 04:44:31 PDT 2000
frazur
How can I save a BufferedImage as a jpeg file?

Thu Sep 07 08:13:21 PDT 2000
[Member not logged in]
I'm having troble when changing the mouse cursor. The function call "setcursor()

Thu Sep 07 13:22:59 PDT 2000
[Member not logged in]
How can a servlet build an html page in order to keep on top within a Netscape browser? There are javascript hacks (onload, onblur) and of course digital signing for Netscape, but specifically for Netscape how can this be done without the headache of the Netscape signing tool??

Thu Sep 07 13:25:54 PDT 2000
javaguy
How can a servlet build the appropriate html page in order to insure that that page stays on top within a Netscape browser? The Netscape signing tool is too much work!

Fri Sep 08 05:48:48 PDT 2000
[Member not logged in]
can any one suggest me syllabus of sun certification programmer exam.please reply on
mannu23_100@hotmail.com

Fri Sep 08 21:17:40 PDT 2000
Anonymous
Why was the Servlet API designed such that my servlets need to implement SingleThreadModel or else have a bunch of synchronized blocks around code in the servlet? This design decision was made for performance reasons, WHY!? Where else in Sun's Java related designs do speed considerations take precedence over the "it works, easy as pie" tack? What a bloody annoying "black magic" design! Many J2EE defaults are like this: they look all bad-ass and academic in white papers, but when you get down to PRODUCING something with it you get bug-bitten till you're wishing the whole thing just ended up in the circular filing cabinet. Suggestion for Sun: Make a commercial app server and make it yesterday, I guarantee your designs will be less "pure" and more pragmatic as they should be.

Sat Sep 09 01:38:59 PDT 2000
[Member not logged in]

atPos = callStack.indexOf( "at" , atPos );

This line should be


atPos = callStack.indexOf( "at" , atPos+2 );

to get the class name from which ur calling .

Sat Sep 09 08:26:23 PDT 2000
[Member not logged in]
That was a good tip. But, the output is B and not A. The reason being,
<CODE>
atPos = callStack.indexOf( "at" , atPos );
</CODE>
should have been
<CODE>
atPos = callStack.indexOf( "at" , (atPos + 1));
</CODE>


Sat Sep 09 11:07:55 PDT 2000
[Member not logged in]
Y java does not offer simple random(int seed) function to get random values in the range 0-seed-1.

Sat Sep 09 14:56:08 PDT 2000
[Member not logged in]
Dear vaibhavr,

I looked at your answer to this question and I must say that it is innovative.
However, there seems to be a slight problem.
Your code should have been:
****************************************
int atPos = callStack.indexOf( "at" );
atPos = callStack.indexOf( "at" , atPos + 1);
int dotPos = callStack.indexOf( "." , atPos );
System.out.println( "name of the class that called this method - " + callStack.substring( atPos + 2 , dotPos ) );
****************************************
instead of:
****************************************
int atPos = callStack.indexOf( "at" );
atPos = callStack.indexOf( "at" , atPos );
int dotPos = callStack.indexOf( "." , atPos );
System.out.println( "name of the class that called this method - " + callStack.substring( atPos + 2 , dotPos ) );
****************************************

Sat Sep 09 14:59:00 PDT 2000
vbkumar
Dear vaibhavr,

I looked into your solution to this question and I must say that it is innovative.
However, your code has a small bug.
You have written that it should be:
***************************************
int atPos = callStack.indexOf( "at" );
atPos = callStack.indexOf( "at" , atPos );
int dotPos = callStack.indexOf( "." , atPos );
***************************************
It should actually be:
***************************************
int atPos = callStack.indexOf( "at" );
atPos = callStack.indexOf( "at" , atPos+1);
int dotPos = callStack.indexOf( "." , atPos );
***************************************



Sun Sep 10 08:40:04 PDT 2000
[Member not logged in]
what about event handling

Sun Sep 10 17:39:21 PDT 2000
[Member not logged in]
I would request a correction in the above program. The program returns the calling class as B when I tried to run it on sun jdk1.2.2-001.

However, I got the correct answer as A when I changed the line
atPos = callStack.indexOf( "at" , atPos );

to
atPos = callStack.indexOf( "at" , atPos + 1 );

This I believe is because the indexOf() method in the String class starts searching from the specified position, hence the value of atPos remained the same as before.

But asking the method to search from one position after gives you the next position.

Hope this helps !!!

Sameet

Sun Sep 10 21:41:50 PDT 2000
[Member not logged in]
The answer is great.
I think the line
"atPos = callStack.indexOf( "at" , atPos );"
should be changed to
"atPos = callStack.indexOf( "at" , atPos+1);"

for getting the correct output.





Mon Sep 11 00:50:22 PDT 2000
[Member not logged in]
The solution is Ok. but there is a small mistake.

atPos = callStack.indexOf( "at" , atPos );
int dotPos = callStack.indexOf( "." , atPos );

The above two lines have to be replaced by

atPos = callStack.indexOf( "at" , atPos+1 );
int dotPos = callStack.indexOf( "." , atPos+1 );

Otherwise it was still finding the first "at"

Regards
Anup

Mon Sep 11 01:39:37 PDT 2000
[Member not logged in]
This session is really good. I would like to know where can i get the sample questions for java certification test for programmers or for developers. please send the information to av_n_rao@rediffmail.com

Mon Sep 11 01:44:43 PDT 2000
[Member not logged in]
In the above code sample the answer that will be obtained is B, which should have been A because methodB() has been invoked from class A and that is what is the question as well.is there any change required in the code?

Mon Sep 11 01:46:41 PDT 2000
njrajesh
In the above code sample the answer that will be obtained is B, which should have been A because methodB() has been invoked from class A and that is what is the question as well.is there any change required in the code?

Mon Sep 11 05:21:48 PDT 2000
[Member not logged in]
This is rather a workaround then a real answer. I understand that this is the only possiblity to do it, but in this case the software design really lacks the desired functionality. IMHO there should be an API (say a part of the Reflection API) that returns a reference to a java.lang.reflection.Method and/or Class that called the method.

Mon Sep 11 06:16:34 PDT 2000
[Member not logged in]
As I read somewhere in java docs, stacktrace format is not a part of standard,
would this works in all java-compatible environments?


Mon Sep 11 06:32:06 PDT 2000
[Member not logged in]
As long as NOT objects but threads call method,
question seams to be ambigouos enought. Espetially
in case of recursion and calls from newly created thread.
The stack of the thread which created currentThread()
may be unavailable!
So the question must be: whather call trace
passed throwgth some method of class A in current
thread?
If so , only some exception printStackTrace() and,
Thread.dumpStack() Thread.countStackTrace() are available
to solve the problem.

Mon Sep 11 06:45:06 PDT 2000
[Member not logged in]
ONE RELATED QUESTION:
Sometimes it is needed to make a fiew (nodescendant or even descended) classes
with almost the same action in static method,
how to make procedure inside this static method
know the name of class where it defined with out
"hardcoding" it and without expicetely creating
an instance of the class?
(If we use copy/paste method to make a fiew classes
once may forget to change hardcoded name)
Does java reflection have some static analog
of getClass() method (realy it could be a compiling-time macros)? The last question is almost
full analog of disursed one: can current thread
make out in what class's method does currently
VM instruction pointer located?
So the probleam seams to be the matter related to Java Debugging Interface Spec.

Mon Sep 11 07:07:30 PDT 2000
Anonymous
OK

Mon Sep 11 07:10:57 PDT 2000
[Member not logged in]
yes, but thats a horrible way to do so, not future-safe and prone to errors. I wish there were a real Stack class in java.lang


Mon Sep 11 07:33:52 PDT 2000
[Member not logged in]
This is just a small example of a big hole in the Java Development environment -
classes can inherit and import from other classes but there is no common facility
for finding WHICH classes have inherited or imported from yours. There is no "where-used".
This seems much more important for developers (at programming time) than it is at run-time.

Mon Sep 11 07:57:03 PDT 2000
ssankara
Is there anyway, we can use reflection on the called object ?

Mon Sep 11 09:30:46 PDT 2000
dwette
This doesn't work correctly. First of all, it prints the callee, not the caller; and secondly, it only works for classes in the default package. Try the following code instead:

package test;
import java.io.*;

public class Caller {
public static void main(String args[]) {
Callee.callMe();
}
}

class Callee {
public static final String AT_STR = "at";
public static void callMe() {
StringWriter sw = new StringWriter();
new Throwable().printStackTrace(new PrintWriter(sw));
String callStack = sw.toString();

int atPos = callStack.indexOf(AT_STR);
atPos = callStack.indexOf(AT_STR, atPos + AT_STR.length());
int funcCallOpPos = callStack.indexOf("(", atPos);
String callingMethod = callStack.substring(atPos + 2, funcCallOpPos);
System.out.println("Calling method: " + callingMethod);
String callingClass
= callingMethod.substring(0, callingMethod.lastIndexOf("."));
System.out.println("Calling class: " + callingClass);
}
}


Mon Sep 11 09:45:31 PDT 2000
dwette
I wouldn't rely on this technique in production code since it depends on the format of the stack trace, which may vary among different implementations of the jdk; i.e. your code will probably break at some point. If you really feel you need this facility, I'm more inclined to believe your design needs to be reconsidered.

Dean Wette (wette_d@ociweb.com)

Mon Sep 11 12:15:39 PDT 2000
bmckeever
Why would you need to know the name of the class that called you? This is contrary to encapsulation. In addition, won't this incur a non-negligeable performance hit?

Mon Sep 11 16:10:24 PDT 2000
Surendra Jambe
I tried the above code exactly as shown.
The output is as follows.
"name of the class that called this method - B".
I wonder if this is the expected result. Isn't it should be,
"name of the class that called this method - A".
Also if the request is from a nested class then where would be the pointer for 'at'?
Thanks,
Surendra

Mon Sep 11 18:48:34 PDT 2000
Anonymous
This has gotta be the worst hack I've ever seen. Sure, it's a party trick, but are you actually advising that this kind of programming be used in the real world?

-Adam Selene

Tue Sep 12 02:46:49 PDT 2000
[Member not logged in]
cxd

Tue Sep 12 05:28:28 PDT 2000
[Member not logged in]
This doesn't work quite correctly...

Change "atPos = callStack.indexOf( "at" , atPos );" to read "atPos = callStack.indexOf( "at" , atPos + 2 );"

Otherwise, searching for the second "at" returns the index of the first again and you get the answer "B", not "A"

Tue Sep 12 06:53:03 PDT 2000
[Member not logged in]
this code doesn't work correctly

Tue Sep 12 06:55:52 PDT 2000
[Member not logged in]
this code doesn't work correctly and therefore its PANTS

Tue Sep 12 07:01:29 PDT 2000
Anonymous
hi it is a nice one..

plz. give the option of sending this as an attachment to a friend on this page.

thanks
rajesh

Tue Sep 12 09:31:48 PDT 2000
Anonymous
What is the definition of a constructor? Is its main function to initialise variables?

Tue Sep 12 10:37:25 PDT 2000
[Member not logged in]
Just a style comment - since the published Java coding conventions state that a
method should be formatted with the opening curly brace at the end of the method
declaration line, should not the examples follow this convention?

Tue Sep 12 12:28:38 PDT 2000
[Member not logged in]
Does this method works with RMI too?

Tue Sep 12 14:07:41 PDT 2000
Anonymous
I assume you mean this to return "A". However, it does not. It returns "B". The second assignment to "atPos" returns the same value as the first assignment because you have not advanced past that point in the string. The line of code should be:

atPos = callStack.indexOf( "at" , atPos + 1 )

this will then correctly return "A".

Tue Sep 12 14:41:13 PDT 2000
[Member not logged in]
how businesses can migrate
mission-critical and business applications to Java. What are the benefits,
drawbacks, costs of using Java. Why do businesses what to do this?"

Tue Sep 12 16:11:48 PDT 2000
[Member not logged in]
Dan,

Unfortunately the answer has a bug

Instead of

int atPos = callStack.indexOf( "at" );
atPos = callStack.indexOf( "at" , atPos );
int dotPos = callStack.indexOf( "." , atPos );

Should be

int atPos = callStack.indexOf( "at" );
atPos = callStack.indexOf( "at" , atPos +1 );
int dotPos = callStack.indexOf( "." , atPos );

in the second line second argument should have +1 otherwise the search starts from the same position and you get the same class in this case B, but my guess is that what you want is A.

otherwise it is pretty cool solutions.

oleg_shteynbuk@yahoo.com

Tue Sep 12 22:22:33 PDT 2000
Anonymous
atPos = callStack.indexOf( "at" , atPos ); form of indexOf does not seem to work properly in JDK 1.3.0 for Windows

Tue Sep 12 23:30:28 PDT 2000
[Member not logged in]
It was an intelligent answer.Well i think that there is a small glitch in the above answer to find the calling class. I tried running the above code. And when i ran it ,i got the name of the "called" class rather than the "calling class".The problem lies with the piece of code
int atPos = callStack.indexOf( "at" );
atPos = callStack.indexOf( "at" , atPos );
This code intends to find the second index of the string "at". However u'll find that it fails to do so. To get the correct answer replace
atPos = callStack.indexOf( "at" , atPos );
with
atPos = callStack.indexOf( "at" , atPos + 1);




Tue Sep 12 23:47:13 PDT 2000
Stoycho
I think a programmer shouldn't use such a tricks.
If you need to know the calling class - pass it from caller with "this". The code will be just as have to be.

PS. I needed such a trick once, and now i see it's possible to do this. Thanks to the author.:)

Wed Sep 13 01:16:09 PDT 2000
Anonymous
beautiful!!!

Wed Sep 13 09:01:44 PDT 2000
[Member not logged in]
How can we run an applet using the worldwide web

Wed Sep 13 10:28:22 PDT 2000
[Member not logged in]
Hi, when i run this sample, i got the name of the class - B. Should it be A? it is really A calling this B method. I changed the code a little:

atPos = callStack.indexOf("at", atPos +1);

then the program printed the name of calling class - A.

Wed Sep 13 11:24:17 PDT 2000
Anonymous
This question and answer is about learning the "class" that called the method. Is there a way to find the "object" that called the method?

Wed Sep 13 12:46:19 PDT 2000
[Member not logged in]

I think it can be also be done by using

super.getClass();

Saurabh

Wed Sep 13 12:48:32 PDT 2000
[Member not logged in]
good

Wed Sep 13 12:49:39 PDT 2000
[Member not logged in]
It's correct

Wed Sep 13 12:50:04 PDT 2000
[Member not logged in]
Hello world

Wed Sep 13 15:10:17 PDT 2000
[Member not logged in]
There's a little bug in the code here. The second call to callStack.indexOf() needs to
begin the search at position 'atPos + 1', not 'atPos'. As specified, the same index position
will be returned, so what I get with the unmodified example is 'B', not 'A' as expected.

Wed Sep 13 15:35:59 PDT 2000
[Member not logged in]
I have about 500 shares with Sun. In the past five days, my stock has been dropping like crazy. I have been lost about 20,000 dollars up to date. Please explain to me what have all of you been doing ? Please make the stock going up.

Wed Sep 13 18:58:56 PDT 2000
[Member not logged in]
I appriciate the Question and the Answer but..,

It doesn't give me the desire Answer isn't it..?
It gives "B" instead of "A". am i correct..?
So the correct Answer May be ...

int atPos = callStack.indexOf( "at" );
atPos = callStack.indexOf( "at" , atPos + 1 );

The funda is u have to find the position of second "at" so i think u have to use atPos + 1 instead of atPos. Am i right..?

Any way it's a nice Answer...
Thanks
Prasad


Wed Sep 13 19:57:15 PDT 2000
[Member not logged in]
This is a pretty cheesy technique -- good for debugging info only.

Thu Sep 14 00:14:57 PDT 2000
[Member not logged in]
The illustrations/examples are so simple and alementary but effective and very relevant.

Thu Sep 14 01:32:44 PDT 2000
[Member not logged in]
Excellent method using which we can have a better interaction between classes which are callig a mehod on other classes

Thu Sep 14 01:40:21 PDT 2000
[Member not logged in]
fucking

Thu Sep 14 01:44:34 PDT 2000
[Member not logged in]
The code contains an error.
--
int atPos = callStack.indexOf( "at" );
atPos = callStack.indexOf( "at" , atPos );
--
In order to locate the 2nd "at" line 2 here should increment the atPos argument by 2.
--
atPos = callStack.indexOf( "at" , atPos + 2);

Thu Sep 14 02:01:56 PDT 2000
Anonymous
help regarding the java help creation

Thu Sep 14 04:58:51 PDT 2000
[Member not logged in]
What is the difference between a constructor and method

Thu Sep 14 07:16:30 PDT 2000
jai_verma
I had run the above program. I got the answer "B".
I think still the question is at the same place.
If I want to find out from which class it was invoked in that case I expect answer as A.

On the other side if you look at this solution definetly you will always get the name of same class as your answer of which the method is.

best Regards,

-Jai

Thu Sep 14 09:33:01 PDT 2000
[Member not logged in]
haven't you pretty much given up on portability if you rely on the format of a stack trace that a particular JVM yields?

--p

Thu Sep 14 10:59:11 PDT 2000
[Member not logged in]
Did not work !

Thu Sep 14 13:48:21 PDT 2000
[Member not logged in]
When I did this it is printing incorrect class
name
'name of the class that called this method -
classB'

I think it should print name the class which
calling the method in classB i.e. ClassA.

BTW I am new to Java, I am from smalltalk world

Thu Sep 14 14:13:10 PDT 2000
[Member not logged in]
Isn't there a way to find out this by using the reflection package?

Thu Sep 14 14:21:05 PDT 2000
Anonymous
With regard to question 104, do you guys actually check these answers?
If the class that called the method was called com.foo.bar.something,
then the supplied code would return that the class was called 'com'.

Real helpful! Some of us actually use packages. Try checking for '('
and then find the last '.' before it.

Thu Sep 14 14:28:55 PDT 2000
[Member not logged in]
i think line number 24 should be
atPos = callStack.indexOf( "at" ,atPos+2);
instead of

atPos = callStack.indexOf( "at" , atPos );

as we should start from the first occurence of at Plus the length of "at" .. presently the code starts it from the previous occurence of " at" bcoz of that it throws B as the answer which is wrong output

---
jaya krishna reddy



Thu Sep 14 15:14:08 PDT 2000
Mocampo
To get the atPos the 2nd time, you need to do this through:

atPos = callStack.indexOf("at", atPos++);

Otherwise you'll get the same atPos all the time.

Fri Sep 15 04:15:27 PDT 2000
Anonymous
Hi!!

A minor correction to the answer.

1. int atPos = callStack.indexOf( "at" );
2. atPos = callStack.indexOf( "at" , atPos );
3. int dotPos = callStack.indexOf( "." , atPos );

Line 1 would return th index of the first occurrence of the String "at" in callStack. Now, line 2 would also return the same index, since we are searching from the same position. Thus, it would print the name 'B' in the result.

The code works properly if we replace line 2 with:

atPos = callStack.indexOf( "at" , atPos + 1);

Now, the NEXT occurrence of "at" is assigned to atPos. Thus the caller's class name is displayed correctly.

Keep up the good work!!

Best Regds,
Pilson.

Fri Sep 15 05:40:00 PDT 2000
Anonymous
Hi!!

This solution does work, but its a terrible one, neverheless!!

1. The stack trace may not always have the same format across JVM versions.

2. If my main java file has the string "at" in it, its gonna bomb. For example, if my java file name is Boat.java, then the stack trace looks like this: at B.method(Boat.java:17)

Now when I search for the 2nd occurrence of "at", I'll get no output at all. This is bcoz there's nothing between the "at" and the ".".

I also think that, from an OOPS point-of-view

Keep the faith!!

Best Regds,
Pilson.

Fri Sep 15 05:58:09 PDT 2000
[Member not logged in]
When I execute the above code it's compiling but it through

"Exception in thread "main" java.lang. NoClassDefFoundError "

Please suggest me how to go about?

Fri Sep 15 08:50:52 PDT 2000
[Member not logged in]
Hello, see also this way:
public class Test
{
public static void main(String[] args)
{
new Test();
Class cls = new CallStack().getCaller();
System.out.println(cls);
}
public Test()
{
Class cls = new CallStack().getCaller();
System.out.println(cls);
}
}

class CallStack extends SecurityManager
{
public Class getCaller()
{
Class[] cls = getClassContext();
if (cls.length > 2) {return cls[2];}
if (cls.length == 2) {return cls[1];}
return null;
}
}

Enjoy !

Fri Sep 15 11:56:40 PDT 2000
[Member not logged in]
Well,
The program is good. But it has a bug. This program prints the name of the current class which is B. To print the class name from where the method was invoked, the following code can be used.

int atPos = callStack.indexOf( "at" );
atPos = callStack.indexOf( "at" , atPos+2 );
int dotPos = callStack.indexOf( "." , atPos );


Fri Sep 15 14:46:51 PDT 2000
[Member not logged in]
I think there is a problem with this because the output is name of the class
that called this method B

and not A(the calling class. as it should be.

Fri Sep 15 15:01:49 PDT 2000
[Member not logged in]
There's also getClassContext in SecurityManager. Advantage is you can distinguish between classes with the same name (but different ClassLoaders). Disadvantage is there's no method name at all. Of course, rooting through the stack trace won't help distinguishing between overloaded methods.

Fri Sep 15 17:42:52 PDT 2000
bhaskar_bhatt
Well Solution above Seems nearly Correct Only one point to note here as i have tested the stuff at my end

If the calling class is a part of a package

say "myPackage" ( currently looking at on step class meaning there by our class in question class A can be refered directly under mypackage like maypackage.A)

or it might be a part of a package like mypack1.mypack2.comp.A

in both the cases the above code would just return the name of first part of package

i.e, mypackage in case 1 and
mypack1 in case2

this is because the value of callStack comes as "java.lang.Throwable

at mypackage.B.methodB(A.java:27)

at mypackage.A.main(A.java:19)
"

and what the code does is substring after second "at" and the next "." which would return as mentioned in the cases above and as should be expected

to get the name of the class calling instead we should look for the first "(" after second "at" and then pick the String between preceeding two dots..

I hope this helps


Fri Sep 15 23:16:58 PDT 2000
[Member not logged in]
fuck

Sat Sep 16 01:01:11 PDT 2000
[Member not logged in]
I want to have a resume buider in java using jdbc and wants a lots of suggestion.
somesh_k@123india.com

Sat Sep 16 11:52:47 PDT 2000
[Member not logged in]
I want to get the size of a component, say a swing component JButton, without actually creating it.
I have tried
Dimension d=b.getMinimumPreferredSize
but how do i do this without creating the 'b'?

Sun Sep 17 00:51:34 PDT 2000
[Member not logged in]
How can one make an applet (that contains textfields for login name and password) and check if the login name and password are valid by making use of SQL Server7.0.(Like the main page of Hotmail) Please reply as soon as poss. at namrata_014@hotmail.com

Sun Sep 17 05:09:02 PDT 2000
[Member not logged in]
I want to know the technology of accessing a network from a hand-telephone (Ex: a Motorola or an Ericson)



Sun Sep 17 06:23:46 PDT 2000
[Member not logged in]
I Wanted to use the Clipboard class to do the cut,copy and paste events.So for cutting a string i used the getselected() to catch the string to cut but to transfer the string to the Clipboard is creating the problem as the object it take's is of transferable type so if any one who knows the solution plese do help me out.

Sun Sep 17 10:24:59 PDT 2000
Anonymous
Why is Jikes complier faster than javac in JDK package?

is there any faster interpreter than java..

please mail me at stephen21india

Sun Sep 17 10:28:17 PDT 2000
Anonymous
Why is Jikes complier faster than javac in JDK package?

is there any faster interpreter than java..

please mail me at stephen21india@yahoo.com

Sun Sep 17 10:28:45 PDT 2000
stephen21india
Why is Jikes complier faster than javac in JDK package?

is there any faster interpreter than java..

please mail me at stephen21india@yahoo.com

Mon Sep 18 01:26:26 PDT 2000
[Member not logged in]
In the subdirectory C:\jswdk-1.0.1\examples\WEB-INF\jsp\beans\test, I have the following
two files
1. parent.java
2. chld.java

The code for the parent.java is

package test;

public abstract class parent
//public class parent
{
int i;
protected int j;
public int k;

public parent(int a, int b, int c)
{
i=a;
j=b;
k=c;
}
public void meth_parent()
{
System.out.println("Within Meth Parent");
}
public abstract void hello();
}

The code for chld.java is

package test;

public class chld extends parent
{

public chld(int m, int n, int p)
{
super(m,n,p);
}

public void meth_child()
{
System.out.println("Within Method Child");
}

public void hello()
{
System.out.println("within implementation og method hello");
System.out.println(j);

}

}

On compiling chld.java compilation error occurs stating that the parent class can not be found




Mon Sep 18 01:57:54 PDT 2000
SoumyaSuvraMitra
In the subdirectory C:\jswdk-1.0.1\examples\WEB-INF\jsp\beans\test, I have the following
two files
1. parent.java
2. chld.java

The code for the parent.java is

package test;

public abstract class parent
//public class parent
{
int i;
protected int j;
public int k;

public parent(int a, int b, int c)
{
i=a;
j=b;
k=c;
}
public void meth_parent()
{
System.out.println("Within Meth Parent");
}
public abstract void hello();
}

The code for chld.java is

package test;

public class chld extends parent
{

public chld(int m, int n, int p)
{
super(m,n,p);
}

public void meth_child()
{
System.out.println("Within Method Child");
}

public void hello()
{
System.out.println("within implementation og method hello");
System.out.println(j);

}

}

On compiling chld.java compilation error occurs stating that the parent class can not be found

Mon Sep 18 01:59:40 PDT 2000
SoumyaSuvraMitra
In the subdirectory C:\jswdk-1.0.1\examples\WEB-INF\jsp\beans\test, I have the following
two files
1. parent.java
2. chld.java

The code for the parent.java is

package test;

public abstract class parent
//public class parent
{
int i;
protected int j;
public int k;

public parent(int a, int b, int c)
{
i=a;
j=b;
k=c;
}
public void meth_parent()
{
System.out.println("Within Meth Parent");
}
public abstract void hello();
}

The code for chld.java is

package test;

public class chld extends parent
{

public chld(int m, int n, int p)
{
super(m,n,p);
}

public void meth_child()
{
System.out.println("Within Method Child");
}

public void hello()
{
System.out.println("within implementation og method hello");
System.out.println(j);

}

}

On compiling chld.java compilation error occurs stating that the parent class can not be found

Pls mail your reply/solutions at soumya@city4u.com

Mon Sep 18 20:30:06 PDT 2000
tyxhello
why i always get a error saying"java.lang.NoClassDefFoundError: javax/mail/internet/AddressException" when i run the servlets sending mail:?

i set the classpath correctly(add the activation.jar and mail.jar) and compiled normally.

Tue Sep 19 00:18:15 PDT 2000
mustafaid
It was very informative

Tue Sep 19 01:24:27 PDT 2000
Julliye
When I use follow statement ,throw runtime exception(java.lang.ClassCastException):
count=this.getThreadGroup().activeCount();
Thread[] threads=new Thread[count];
this.enumerate(threads);
for(int i=0;i<count;i++)
if(threads[i]!=this)//exception appear
{}

Tue Sep 19 06:28:51 PDT 2000
[Member not logged in]
Can I have 2 or more jvms connected to each other so that they work hand in hand
like passing events, exceptioons etc ?

Tue Sep 19 06:33:47 PDT 2000
[Member not logged in]
Very Good. But if instead of String[0] as the argument to the array function you could specify the exact size by getting the list size first.


Tue Sep 19 06:48:49 PDT 2000
sofistek
This suggestion only applies to a list that has one element in it.
The questioner did only imply that the list had a single element but the
answer should be more general, as in:

List objectList; // your linked list
String [] items = (String [])objectList.toArray(new String[objectList.size()]);

Tue Sep 19 10:10:40 PDT 2000
Anonymous
A more efficient way to do (avoiding a useless memory allocation) is:

List list; // your linked list
String [] items = (String [])list.toArray(new String[list.size()]);

Tue Sep 19 11:43:25 PDT 2000
[Member not logged in]
I though you could cast Object[] to String[].
<br>
Java Language Specification says: there is a narrowing reference conversion from any array type SC[] (let it be in our case Object[]) to any array type TC[] (let this be in our case String[]), provided that SC and TC are reference types and there is a narrowing conversion from SC to TC.

<br>
What am I missing?

Wed Sep 20 07:15:49 PDT 2000
[Member not logged in]
this is my question:
Can I use java applets create animation back ground for power point ? if yes and how to bring in to power point. Thank you

Wed Sep 20 08:42:17 PDT 2000
Riyaz313
Please, send me your email address where I can send my questions and comment to JDC.

My email address is: riyaz@england.com

Wed Sep 20 08:53:38 PDT 2000
Riyaz313
Please, send me your email address where I can send my questions and comment to JDC.

My email address is: riyaz@chickmail.com

Wed Sep 20 11:24:22 PDT 2000
[Member not logged in]
How can I declare a superclass to use in the extends statements of a subclass?

For example, I have the class A, and I need to do this :

public class B extends A {

}

when I compile my code, it returns an error. The compiler cannot find the class A, to extends.

TIA

Wed Sep 20 21:04:54 PDT 2000
gjsrinivas
Hi,

Yeh, Mr Vaibhavr answer is exactly right and i support it...
In the API it was given clear in List interface methods that List.toArray(Object[] a)
returns Object[] .

Wed Sep 20 22:42:18 PDT 2000
[Member not logged in]
How to assign color dynamically on selecting an item from my List as color?

Thu Sep 21 03:04:35 PDT 2000
[Member not logged in]
how to change applet status

Thu Sep 21 03:35:22 PDT 2000
Anonymous
how to get send header information while making connection through URLCONNECTION

Thu Sep 21 06:03:45 PDT 2000
[Member not logged in]
Is it better to use
String[] items = (String[])l.toArray(new String[l.size()]);

I think that less objects are created that way. In your example, system will throw away zero size array and create a new one. This example creates an array with sufficient size.

Thu Sep 21 08:36:46 PDT 2000
bedha
i like to know about how session tracking is working if so please tell me

Thu Sep 21 10:32:20 PDT 2000
[Member not logged in]
fuck

Thu Sep 21 12:34:30 PDT 2000
[Member not logged in]

String[] items = (String[])l.toArray(new String[0]);
From a performance point of view this is not the best solution.

A better solution for this conversion is:
String[] items = (String[])l.toArray(new String[l.size()]);

I made a few performance measurements and the second approach
is about 50 % faster.

That's easy to explain, when we have a look at the source code
of the toArray method. The method first checks the length of
the array (parameter), when it's smaller than the ArrayList size
it creates a new array object. That's the reason
why the first approach is slower. It creates two String arrays.

public Object[] toArray(Object a[]) {
if (a.length < size)
a = (Object[])java.lang.reflect.Array.newInstance(
a.getClass().getComponentType(), size);

System.arraycopy(elementData, 0, a, 0, size);

if (a.length > size)
a[size] = null;

return a;
}



Fri Sep 22 02:00:12 PDT 2000
[Member not logged in]
How do i right Align the text in the text field

Fri Sep 22 04:09:48 PDT 2000
sjarvind
what is the difference between interface and abstract class

Fri Sep 22 05:31:34 PDT 2000
Anonymous
class For_eg{
public static void main(String args[])
{
double a=0.6;
for(double i=0.0;i<=2;i+=0.2)
System.out.println(i);

for(float i=0.0f;i<=2;i+=0.2)
System.out.println(i);
System.out.println(a);

}
}
please look atthe above programmes result, they r not as expected please reply at sumitsing@hotmail.com

Fri Sep 22 08:28:41 PDT 2000
Anonymous
Why do answers to this question, always construct an array of zero?
a better (faster) way...

List l; // your linked list
String[] items = (String[])l.toArray(new String[l.size()]); // notice NOT zero !!

This saves on the overhead of
1) constructing two string arrays when only one is required
2) reflection - used by the toArray if the supplied array is not large enough

Sukhdev

Fri Sep 22 08:58:00 PDT 2000
[Member not logged in]
How can I delete a figure from appletviewer?

Fri Sep 22 13:12:43 PDT 2000
[Member not logged in]
whats is the best way to start learning Java?

Fri Sep 22 16:12:42 PDT 2000
[Member not logged in]
i am a beginer.and the problem is that when i try to compile java applet in JBuilder.i got a error message.i have tried all the possible solution given at the site of java.
plz if any one know.

email
sherree@mailexcite.com
thanx


Sat Sep 23 03:37:02 PDT 2000
[Member not logged in]
sir,
if i create object for string i couldn't able to print the address. why?
send mail to natrajramesh@rediffmail.com



Sat Sep 23 10:36:33 PDT 2000
[Member not logged in]
getItems() method on List object would return String[] containing all the elements in the list

Sat Sep 23 17:20:22 PDT 2000
[Member not logged in]
xhunterx 's reply was most erudite. I was stuck, and now I understand fully. once again thank you xhunterx

Sat Sep 23 17:25:17 PDT 2000
Col.Masterson
xhunterx incredibly erudite reply was exceedingly helpful.
[ why do i use example variable 'fred' - must have something to do with keyboard layout ]

Sat Sep 23 22:58:56 PDT 2000
[Member not logged in]


stupid don't ask me again

Sun Sep 24 02:17:50 PDT 2000
[Member not logged in]
how can we make .exe files in java, so that they can be directly run without having jvm on the machine.

my jdc id is:
madan18

Sun Sep 24 20:21:41 PDT 2000
yellowfour
How about this if you need to sort once:

...
public static void main( String[] args){
Fred[] freds = new Fred()...
Arrays.sort( freds, new Comparator(){
public int compare(Object o1, Object o2){
Fred fred1 = (Fred)o1, fred2 = (Fred)o2;
//do your < = > stuff
}
}
...
}

Sun Sep 24 23:29:23 PDT 2000
Anonymous
Is there any way that I can represent the entire alphabet(lower and upper case) in an if statement.
Like this:

if(INPUT != alphabet)



Mon Sep 25 07:26:21 PDT 2000
TWO
The code
...
if(fred1.getX() == fred2.getX()) {
return fred1.getY() - fred2.getY();
} else {
return fred1.getX() - fred2.getX();
}
..
should be changed, because there may be overflow errors in the integer subtraction.
Therefore IMHO the following code would be better
(the following code is not tested and only provided as an example):

private int compare(int i, int j) {
if (i == j) {
return 0;
}
return (i > j) ? 1 : -1;
}

...
if(fred1.getX() == fred2.getX()) {
return compare(fred1.getY(), fred2.getY());
} else {
return compare(fred1.getX(), fred2.getX());
}
...

Mon Sep 25 08:40:34 PDT 2000
Anonymous

EXCELLENT

Mon Sep 25 09:56:48 PDT 2000
[Member not logged in]
The XYComparator here should have an additional else-clause:

else {
return 0;
}


Mon Sep 25 10:41:27 PDT 2000
xhunterx
The potential for int overflow here is quite corectly pointed out and should be accounted for (a simple comparison is best for this tpe of Comparator, as suggested). The compare() method need remain specified public in accordance with its signature in the Comparator interface, however.

Another 'else' in the XYComparator is not needed in this case as equivalent values will return 0 from the subtractions.

Mon Sep 25 10:49:26 PDT 2000
xhunterx
Disregard the first part of (my) previous post.

The compare() presented as part of the overflow alternative is an adjunct to the compare(Object,Object) method specified by the Comparator interface, not a replacement, as I had (prematurely and without examining it closely) assumed it to be.

It is meant (if the context is not immediately apparent) to be called FROM that method. Its signature (taking two int primitives) of course has nothing to do with the signature specified by the Comparator interface...

Mon Sep 25 20:36:00 PDT 2000
Anonymous
what is the difference between running a servlet through a servletrunner and a web server

Tue Sep 26 04:59:51 PDT 2000
[Member not logged in]
I created table emptab using stmt.createStatement of JDBC, now I want to alter
the same table emptab , how do I do that programmatically, Is it possible to do it? If yes, How?

Tue Sep 26 05:05:02 PDT 2000
[Member not logged in]
How to capture the mouseevents ?
Similar to the scrolling effect ; that after mouse pressed further moving the mouse is concerned with the scroll thumb only.

Tue Sep 26 07:30:50 PDT 2000
[Member not logged in]
I want to add data from RecordSet to Multiple Column List, but I don't know. (I write in Java WorkShop 2.0).

Tue Sep 26 10:07:22 PDT 2000
[Member not logged in]
kjhg

Thu Sep 28 21:55:38 PDT 2000
Anonymous
Can you use Linked-Lists in Java, in order to
save a series of data?
Is there a LinkedList Class already in the Java Library?


Fri Sep 29 04:53:26 PDT 2000
[Member not logged in]
Hello!
I have no comments, but have questions.
I needed some help about jdk1.3 version. I got the program downloaded and installed, but
it does not work on my windows95 and I don't know why????

Fri Sep 29 13:29:21 PDT 2000
giriM
I think above solution is wrong. Runtime.totalMemory() gives the total memory available to the JVM. It gets incremented as needed. So, if the system is loaded with lots of objects, JVM will probably get larger. Either way, the above method is not correct.
Correct one would be
start = Runtime.totalMemory - Runtime.freeMemory;

.
.
end = Runtime.totalMemory - Runtime.freeMemory;

Thanks,


Fri Sep 29 14:22:16 PDT 2000
Anonymous
If Runtime.getRunTime.gc() is executed(if garbage collector executes!!) before the
'end' is calculated, wouldnt it clean up everything and
give an 'end' value of zero? I think the correct way to go about would be not to
execute Runtime.getRunTime.gc() before 'end' is calculated.


Fri Sep 29 22:07:46 PDT 2000
[Member not logged in]
how to create an object of a class which has private constructer

Fri Sep 29 22:23:44 PDT 2000
[Member not logged in]
how to create an object of a class which has private constructer?

Sat Sep 30 02:57:29 PDT 2000
[Member not logged in]
pl send me email add where I can get answer of all
question.
by
manishpatna@hotmail.com

Sat Sep 30 10:51:15 PDT 2000
[Member not logged in]

//The code below provides an interface to know the object size.

import java.lang.reflect.Method;

class Employee {

private String name;
private float salary;

public Employee(String name, float salary) {
this.name = new String(name);
this.salary = salary;
}

public long getEmployeeBytes() {
return 2*(name.length()) + 4/*size of float type*/;
}

}

public class Manager extends Employee {

private String desig;

public Manager(String name, float salary, String desig) {
super(name, salary);
this.desig = new String(desig);
}

public long getManagerBytes() {
long bytes = 0L;

// get bytes from properties
bytes += 2*(desig.length());

// get bytes from super class
String currentClassName = "Manager";
for(;;) {
try {
Class currentClass = Class.forName(currentClassName);
Class superClass = currentClass.getSuperclass();
String superClassName = superClass.getName();
if(superClassName.equals("java.lang.Object"))
return bytes;
else {
Method superClassMethod = superClass.getDeclaredMethod("get" + superClassName + "Bytes", null);
bytes += ((Long)(superClassMethod.invoke(this, null))).longValue();
currentClassName = superClassName;
}
}
catch(Exception e) {
e.printStackTrace();
}
}
}

public static void main(String[] argv) {
Manager mgr = new Manager("Shavinder", 2000, "Developer");
System.out.println("Size: " + mgr.getManagerBytes());
}

}

Sat Sep 30 10:53:27 PDT 2000
shavinder_singh
// the code below provides an interface to know size of the object

import java.lang.reflect.Method;

class Employee {

private String name;
private float salary;

public Employee(String name, float salary) {
this.name = new String(name);
this.salary = salary;
}

public long getEmployeeBytes() {
return 2*(name.length()) + 4/*size of float type*/;
}

}

public class Manager extends Employee {

private String desig;

public Manager(String name, float salary, String desig) {
super(name, salary);
this.desig = new String(desig);
}

public long getManagerBytes() {
long bytes = 0L;

// get bytes from properties
bytes += 2*(desig.length());

// get bytes from super class
String currentClassName = "Manager";
for(;;) {
try {
Class currentClass = Class.forName(currentClassName);
Class superClass = currentClass.getSuperclass();
String superClassName = superClass.getName();
if(superClassName.equals("java.lang.Object"))
return bytes;
else {
Method superClassMethod = superClass.getDeclaredMethod("get" + superClassName + "Bytes", null);
bytes += ((Long)(superClassMethod.invoke(this, null))).longValue();
currentClassName = superClassName;
}
}
catch(Exception e) {
e.printStackTrace();
}
}
}

public static void main(String[] argv) {
Manager mgr = new Manager("Shavinder", 2000, "Developer");
System.out.println("Size: " + mgr.getManagerBytes());
}

}

Sat Sep 30 17:18:20 PDT 2000
[Member not logged in]
The code listed above is buggy and it gives compilation error .

Here is the code which I modified to compile and run successfully.

===============================================
class MemoryTest {

protected static final int COUNT = 100;

public static void main(String[] arg) {
long start, end, difference;
Object[] array = new Object[COUNT];
int i;


Runtime.getRuntime().gc(); // let's hope the
// garbage collector runs
start = Runtime.getRuntime().totalMemory();
for (i = 0; i < COUNT; i++) {
array[i] = new Object();
}
Runtime.getRuntime().gc();
end = Runtime.getRuntime().totalMemory();

difference = (end - start) / COUNT;

System.out.println("Approximately " + difference +
" bytes used by 1 java.lang.Object with default constructor");
}

}
=================================================

Sat Sep 30 19:57:39 PDT 2000
ashwink2
garbage collector

Sat Sep 30 22:08:43 PDT 2000
[Member not logged in]
good

Sun Oct 01 08:52:23 PDT 2000
[Member not logged in]
How to set the output stream pointed by System.out.println statement to a printer ?

Sun Oct 01 09:43:56 PDT 2000
[Member not logged in]
The programe is helpful.
But please make sure the java program compiles when it is put up there. The above did not.

Sun Oct 01 10:39:44 PDT 2000
[Member not logged in]
But after running this there is no difference in
memory consumption before instantiating and after instantiating of objects in the program. What is that???

Sun Oct 01 10:54:54 PDT 2000
[Member not logged in]
can you help me how to download the java1.2.2 from www.java.sun.com

Sun Oct 01 13:29:15 PDT 2000
[Member not logged in]
One can't get the Exact amount of Memory occupied
by a JObject. Isnt' it?

Because in a multithreaded OS, the amount of memory is being shuffled all the time specially when more thean one apps. are running.

Although it can be calculated via the
(Total-Current) bytes logic but it's still an approximation.

I want give a sugestion that

What's the big deal in providing an extra
'sizeof()' operator?




"THE INFORMATION PROVIDED IN THE JAVA DEVELOPER'S CONNECTION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR, AND NON-INFRINGEMENT.

THIS INFORMATION IS PROVIDED AT NO CHARGE. BY USE OF THE INFORMATION YOU AGREE THAT NEITHER SUN MICROSYSTEMS, INC. NOR ITS LICENSORS WILL BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF SUN OR ITS LICENSORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

THIS INFORMATION COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN. SUN MICROSYSTEMS, INC. MAY MAKE IMPROVEMENTS AND OTHER CHANGES IN THE PRODUCTS AND THE PROGRAMS DESCRIBED HEREIN AT ANY TIME WITHOUT NOTICE."


Print Button
[ This page was updated: 21-Sep-2000 ]
Products & APIs | Developer Connection | Docs & Training | Online Support
Community Discussion | Industry News | Solutions Marketplace | Case Studies
Glossary | Feedback | A-Z Index
For more information on Java technology
and other software from Sun Microsystems, call:
(800) 786-7638
Outside the U.S. and Canada, dial your country's AT&T Direct Access Number first.
Sun Microsystems, Inc.
Copyright © 1995-2000 Sun Microsystems, Inc.
All Rights Reserved. Terms of Use. Privacy Policy.