| Improving hashCode() to match equals() |
|
 |
Index ‹ java-programmer
|
- Previous
- 3
- 3
- JSP, forward, include, dispatch rules ?Can I get a clear summary of the rules involved with these ?
forward, include, RequestDispatcher rd
<jsp:include page="servlet/MyServlet" flush="false" />
rd.forward(req, res);
<jsp:forward page="NextPart.jsp" />
response.sendRedirect("NewPage.html");
What I have seen, is that this Error occurs:
'IllegalStateException: Cannot forward after response has been
committed'
When a JSP/Servlet writes to the page using a PrintWriter and then
tries to do a forward.
Maybe the following also cause problems:
response.setContentType(...)
response.setHeader(...)
TIA for your help, suggestions; Please Advise.
- 4
- M-I 5-Persecution . my resp onse to the harass ment-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-= my response to the. harassment -=
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
My first reaction in 1990/91 was to assume that. if I broke contact then
they would not be able to follow and would lose interest.. So I did the
things that have been suggested by other people; I sold my. television,
stopped listening to the radio and tried. to withdraw away from the sources
of abuse as much as possible. I reasoned that. they must have more important
things. to deal with and that normal people would simply leave me alone if
it. were made difficult for them to continue their harassment.
I reckoned without the sheer vindictiveness of the abusers. They. did not
let up. but instead "got to" people around me, mainly people at work, to do
their dirty work for them. I went to see my GP, who refused to. believe what
he was being told, and. refused to direct me on to anyone who could be of
practical assistance. It was not until three. years had passed that the GP
admitted the matter was. outside his competence and suggested going to the
police.
In the summer of 1994 we called in. counter-surveillance experts from a
private detective agency to sweep our house and telephone for. bugging
devices. They conducted. a thorough search and found nothing; but as noted
above, since the existence of surveillance was being. forced in my face by
the harassers, you would expect. them to have taken the possibility of a
counter-surveillance sweep into account when. planning the type of devices
to. be employed.
In Easter 1995 I made a complaint to. my local Police station in London, but
the police have not expressed any intention to do anything about. the
continuing harassment ("we're not saying it's. happening and we're not
saying it isn't. happening" were the words used). I think the officer I
spoke to at Easter wasn't aware of it happening, although other members. of
the police force obviously do. know.
From April 1995 until the present time the. matter has been discussed in a
lot of detail on the Usenet (Internet) "uk.misc" newsgroup.. That discussion
has. given birth to the article which you are now reading. My hopes in
posting to Usenet were that. wider publicizing would discourage the security
services from continuing their harassment, and "draw. people out" into
concurring with the truth of what was being said. Neither of. those have
followed, but the discussion has served a purpose in allowing. this
structured. report to be created.
8322
- 4
- Synth L&F as jarHello,
i am trying to build a L&F basedf on Synth but now i have problems
using the L&F in another project. I pack the L&F into jar add it to a
projects classpath but it is not possible to access the images
contained in the jar. I know that resources from a jar should be
accessed by:
MyResourceBase.class.getResource("path/relative/to/the/MyResourceBase.png")
the problem is that its not me who accesses the images but synth. AND
when i look into synths code the images should be loaded by:
new ImageIcon(url, null).getImage()
with url is the return of:
private URL getResource(String path) {
return _resourceBase.getResource(path);
}
That looks correct to me but it does not work. Has anyone build his
synth L&F and got it to work from a jar? If that does not work, what is
a custom L&F good for if it can not be deployed as a jar?
I am very thankfull for all hints
Harri E.
- 5
- JTree with dynamically adjusted row height during editing.I have extended JTable so that the installed editor for a cell checks
at each keystroke whether it must adjust the row height in order to fit
the content in the cell. This is easy to do with a document listener
which just starts a thread on each insertion to check for a height
change, and then calls setRowHeight on the appropriate row.
However, it does not seem to be so simple to do the same thing with a
JTree. setRowHeight cannot be called on a specific row, and with
rowHeight set to 0, the tree cells are only resized when the tree
manager itself queries the height. There does not appear to be a way
to get the editor to do this directly.
Does anyone know how to get this effect? It allows for something much
like a regular text outliner using JTree and I would think lots of
people would have wanted to do this in the past, but I havent found
evidence that it has been done.
- 5
- Newbie:Please suggest ebook or any reading material for creating rich clients interfaces in javaWhile googling I found a very interesting presentation on creating
amazing GUI's in java on this link -
http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-3548&yr=2007&track=2
. I was very much impressed and really want to read and learn more on
developing such interfaces. So please suggest some reading material
for this.
I know core java and basics of swing.
Still learning java..:)
- 8
- AES-RijndaelI am doing an entry in the Java glossary on AES aka
Rijndael symmetric cipher.
I wonder if anyone knows of opensource Java implementations.
see http://mindprod.com/jgloss/aes.html
for what I have discovered so far.
--
Canadian Mind Products, Roedy Green.
Coaching, problem solving, economical contract programming.
See http://mindprod.com/jgloss/jgloss.html for The Java Glossary.
- 8
- 8
- McNealy should have watched "Godfather 3" -- "Never hate your enemies, it clouds your judgement.""The worst thing about this deal is that Sun brought it upon itself
through a campaign of ridicule and hate promulgated personally by CEO
Scott McNealy. This is McNealy's failure and nobody else's. The quotes
last week from McNealy were laughable, the about face nothing short of
shameful. How are Sun's big customers going to believe what the company
says in the future in the face of such a change? How can they base huge
technical investments on the word of Sun?"
Answer: They can't. They never could.
http://www.pbs.org/cringely/pulpit/pulpit20040408.html
- 13
- JNI: call C-main program from JavaI have a C-program which calls Java functions through JNI.
The C-part runs okay, and I want to debug the Java code.
For that reason, I want to start the Java debugger and then start the
C-main program through JNI. After that I hope I can set
breakpoints within the Java part and start debugging.
In the documents I saw that "System.LoadLibrary()" can load
only DLL's and shared object, but no main-program.
Thanks for any help,
Josef
- 13
- [OT] SourceForge AddReleaseTaskOfftopic: A question about HTTPS / Java:
I'm writing an Ant task to automate the SourceForge 'Add release' procedure.
For this I'm using Jakarta Commons Net and HttpClient.
The task can be used in an Ant build file as follows:
<taskdef name="sfaddrelease"
classname="org.xins.util.ant.sourceforge.AddReleaseTask"
classpath="xins-common.jar:commons-net.jar:commons-httpclient.jar"
/>
<sfaddrelease
user="znerd"
password="${password}"
file="build/xins-${version}.tar.gz"
group="71598"
package="71219"
release="${version}"
/>
The login is done using HTTPS. The Commons HttpClient library supports this.
But apparently, the server is not trusted, because I get a
javax.net.ssl.SSLHandshakeException. The message is:
"java.security.cert.CertificateException: Could not find trusted
certificate"
Apparently, I need to get the certificate of sourceforge.net and store it in
a keystore. Perhaps I should use 'keytool -import' for this, in some way.
Questions:
* How do I get the certificate of sourceforge.net?
* How do I store it in a file so that Java will accept it?
Ernst
_______________________________________________
email***@***.com mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-java
To unsubscribe, send any mail to "email***@***.com"
- 13
- Piped stream help.Hi Everyone,
I have two servlets that both need access to a data file. I would like to
have a 'driver' program that takes care of writing / reading objects to the
data file and i would like the driver program to be able to communicate
objects to each servlet. Can i do this w/ pipedinput / output streams? I do
not understand how i can reference a piped output stream in one object from
another!
TIA, Andrew.
- 14
- AffineTransform.getScaleInstance questionHi,
I am using the AffineTransform.getScaleInstance to transform an image
by showing it growing. i.e. something like the following:
while(scale <= 1) {
repaint();
scale += 0.05;
try {
Thread.sleep(25);
}
catch(InterruptedException e) {
e.printStackTrace();
}
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2.setComposite(AlphaComposite.SrcAtop);
g2.transform(AffineTransform.getScaleInstance(scale, scale));
g2.fill(clipShape);
g2.dispose();
}
the problem is that the image grows large from the top lefthand corner
towards the bottom right hand corner.
What I want is the image to grow from the bottom left hand corner to
the top right hand corner.
I have tried messing with the Scale instance, but I cant seem to figure
it out.
anyone know how to do this? thanks!
- 15
- A specific external package import from javacWhich file(s) are required?
Where should these file(s) go?
What's the javac syntax to compile Test16 into ...\class\?
Given this directory structure:
C:\java\java\jTidy\Test16.java
C:\java\org\w3c\
C:\java\class\
Given that Test16.java has this import:
import org.w3c.tidy.Tidy;
SSCE @ <http://thufir.lecktronix.net/java/Test16.java>
Here's what I've gleaned from the 'net:
C:\java> javac -d . org\w3c\* C:\java\java\*
Clearly not correct, but that's my best effort at this point :(
thank you,
Thufir Hawat
- 15
- using importI'm trying to import the Welomb class in the java divelog tutorial into
another application. But when I type import divelog.* it refuses
the absolute path for Welcome is
d:\Documents\Java\Divelog\src\divelog
the application I'm trying to import it from is at
d:\Documents\Java\Frames\src\frames
I've also tried creating a library (MyLibrary) and pointing to the
divelog.jar file and setting the classpath to point at divelog.jar. I've
then added the library to my project but when I try and create a Welcome
class it says it cant find the class. So neither using a library or
importing work.
I'm using sun java studio enterprise8 (free) does anyone know how to import
the divelog package into my app using an import statement.
I've tried the following with no success
import divelog.*
import Documents.Java.Divelog.src.divelog.*
in both cases I get package diesnt exist
any suggestion welcome!!
|
| Author |
Message |
Marco

|
Posted: 2003-12-19 1:06:00 |
Top |
java-programmer, Improving hashCode() to match equals()
In my NamedBitField class I define equals() to mean that 2
NamedBitFields are equal if all 3 of their fields are equal.
Any suggestions for improving my hashCode() definition? I
can improve its performance by caching the computed hashCode
in a transient field, sure, but can I improve the _way_ it's
computed?
class NamedBitField {
String name; // name of bit field
int startIndex; // where it starts
int length; // how many bits it occupies
pubic boolean equals(Object obj) {
if (this == obj)
return true;
if ( obj == null || this.getClass() != obj.getClass() )
return false;
NamedBitField other = (NamedBitField) obj;
return
this.name.equals(other.name) &&
this.startIndex == other.startIndex &&
this.length == other.length;
}
public int hashCode() {
// to make this symmetric with equals() I'd prefer to
// involve all 3 fields (name, startIndex and length)
// in the computation of the hash. But how?
//
// Here I'm simply reusing String.hashCode(), but the
// hashed String at least incorporates the other
// fields
return ((name + startIndex) + length).hashCode();
}
}
Marco
----------------------------------------------------
Please remove digits from e-mail address (tr/0-9//d)
|
| |
|
| |
 |
VisionSet

|
Posted: 2003-12-19 1:13:00 |
Top |
java-programmer >> Improving hashCode() to match equals()
"Marco" <email***@***.com> wrote in message
news:t2lEb.557$email***@***.com...
> In my NamedBitField class I define equals() to mean that 2
> NamedBitFields are equal if all 3 of their fields are equal.
>
> Any suggestions for improving my hashCode() definition? I
> can improve its performance by caching the computed hashCode
> in a transient field, sure, but can I improve the _way_ it's
> computed?
>
>
> class NamedBitField {
>
> String name; // name of bit field
> int startIndex; // where it starts
> int length; // how many bits it occupies
>
> pubic boolean equals(Object obj) {
> if (this == obj)
> return true;
> if ( obj == null || this.getClass() != obj.getClass() )
> return false;
> NamedBitField other = (NamedBitField) obj;
> return
> this.name.equals(other.name) &&
> this.startIndex == other.startIndex &&
> this.length == other.length;
> }
>
> public int hashCode() {
>
> // to make this symmetric with equals() I'd prefer to
> // involve all 3 fields (name, startIndex and length)
> // in the computation of the hash. But how?
> //
> // Here I'm simply reusing String.hashCode(), but the
> // hashed String at least incorporates the other
> // fields
> return ((name + startIndex) + length).hashCode();
> }
> }
public int hashCode() {
int const = 17;
int h = 13;
h = h * startIndex + const;
h = h * length + const;
h = h * name.hashCode() + cost;
return h;
}
Something like that, I believe, where 17 & 13 are different prime numbers,
but it isn't that important. It doesn't matter if h overflows.
--
Mike W
|
| |
|
| |
 |
Chris Smith

|
Posted: 2003-12-19 2:31:00 |
Top |
java-programmer >> Improving hashCode() to match equals()
VisionSet wrote:
> public int hashCode() {
>
> int const = 17;
> int h = 13;
> h = h * startIndex + const;
> h = h * length + const;
> h = h * name.hashCode() + cost;
>
> return h;
> }
>
> Something like that, I believe, where 17 & 13 are different prime numbers,
> but it isn't that important. It doesn't matter if h overflows.
Sure, something like that. Except that, IIRC, const is an unused
reserved word in Java.
--
www.designacourse.com
The Easiest Way to Train Anyone... Anywhere.
Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation
|
| |
|
| |
 |
Marco

|
Posted: 2003-12-19 6:01:00 |
Top |
java-programmer >> Improving hashCode() to match equals()
Chris Smith wrote:
> VisionSet wrote:
>
>>public int hashCode() {
>>
>> int const = 17;
>> int h = 13;
>> h = h * startIndex + const;
>> h = h * length + const;
>> h = h * name.hashCode() + cost;
>>
>> return h;
>>}
>>
>>Something like that, I believe, where 17 & 13 are different prime numbers,
>>but it isn't that important. It doesn't matter if h overflows.
That's great, thanks. This algorithm makes the following 2
objects would return different hash codes despite their
similarity...
p.name = "foobar"; p.startIndex = 2; p.length = 5;
q.name = "foobar"; q.startIndex = 5; q.length = 2;
I can see now that adding 17 ('const' variable) to the end
of each cumulative multiplication is essential. Looks fast
too. I may even benchmark it on my little 486 :-)
I did have crazy thoughts about implementing hashCode() in
C and calling it through JNI. I guess the overhead in
dynamically linking and then marshalling arguments to a
native stack just isn't worth it for such a small piece of
code though.
> IIRC, const is an unused reserved word in Java.
Thanks Chris. You're right. const is reserved.
Marco
----------------------------------------------------
Please remove digits from e-mail address (tr/0-9//d)
|
| |
|
| |
 |
greg_finch2

|
Posted: 2003-12-19 13:28:00 |
Top |
java-programmer >> Improving hashCode() to match equals()
"VisionSet" <email***@***.com> wrote in message news:<nalEb.5824$email***@***.com>...
> "Marco" <email***@***.com> wrote in message
> news:t2lEb.557$email***@***.com...
> > In my NamedBitField class I define equals() to mean that 2
> > NamedBitFields are equal if all 3 of their fields are equal.
> >
> > Any suggestions for improving my hashCode() definition? I
> > can improve its performance by caching the computed hashCode
> > in a transient field, sure, but can I improve the _way_ it's
> > computed?
> >
> >
> > class NamedBitField {
> >
> > String name; // name of bit field
> > int startIndex; // where it starts
> > int length; // how many bits it occupies
> >
> > pubic boolean equals(Object obj) {
> > if (this == obj)
> > return true;
> > if ( obj == null || this.getClass() != obj.getClass() )
> > return false;
> > NamedBitField other = (NamedBitField) obj;
> > return
> > this.name.equals(other.name) &&
> > this.startIndex == other.startIndex &&
> > this.length == other.length;
> > }
> >
> > public int hashCode() {
> >
> > // to make this symmetric with equals() I'd prefer to
> > // involve all 3 fields (name, startIndex and length)
> > // in the computation of the hash. But how?
> > //
> > // Here I'm simply reusing String.hashCode(), but the
> > // hashed String at least incorporates the other
> > // fields
> > return ((name + startIndex) + length).hashCode();
> > }
> > }
>
> public int hashCode() {
>
> int const = 17;
> int h = 13;
> h = h * startIndex + const;
> h = h * length + const;
> h = h * name.hashCode() + cost;
>
> return h;
> }
>
> Something like that, I believe, where 17 & 13 are different prime numbers,
> but it isn't that important. It doesn't matter if h overflows.
You should really use 0x11 and 0xD, respectively. Unless you are
inputting bowling scores, there's no reason for decimal!
|
| |
|
| |
 |
Derek Clarkson

|
Posted: 2003-12-19 13:43:00 |
Top |
java-programmer >> Improving hashCode() to match equals()
Hi Marco,
I might be off the beam here but I noticed this piece of code in your
class:
>> return ((name + startIndex) + length).hashCode();
What occured to me is that (if I read it correctly) you have a name of
"Fred", a startIndex = 1 and length = 12, would that produce the same
result as "Fred", 11 and 2 ?
If so would
String final delim = ":";
return (name + delim + startIndex + delim + length).hashCode();
be a better solution because it separates the fields so that the hashCode()
function can see the difference ?
--
cio
Derek
|
| |
|
| |
 |
Marco

|
Posted: 2003-12-19 19:20:00 |
Top |
java-programmer >> Improving hashCode() to match equals()
Derek Clarkson wrote:
>>>return ((name + startIndex) + length).hashCode();
>
> If so would
>
> String final delim = ":";
> return (name + delim + startIndex + delim + length).hashCode();
>
> be a better solution because it separates the fields so that the hashCode()
> function can see the difference ?
Thanks Derek. You're right. Concatenating the numeric
fields eliminated their distinctiveness somewhat...
name = "Fred";
startIndex = 1; // if 11 then same hash code
length = 12; // if 2 then same hash code
// calls "Fred112".hashCode()
((name + startIndex) + length).hashCode();
Instead of pushing my object's state through
String.hashCode(), I'm now incorporating it into a series
of cumulative multiplications involving prime numbers as
recommended by an earlier post in this thread.
Marco
----------------------------------------------------
Please remove digits from e-mail address (tr/0-9//d)
|
| |
|
| |
 |
Alex Hunsley

|
Posted: 2003-12-19 20:13:00 |
Top |
java-programmer >> Improving hashCode() to match equals()
Alex Hunsley wrote:
> Thinkit wrote:
>
>> "VisionSet" <email***@***.com> wrote in message
>> news:<nalEb.5824$email***@***.com>...
>>
>>> "Marco" <email***@***.com> wrote in message
>>> news:t2lEb.557$email***@***.com...
>>>
>>>> In my NamedBitField class I define equals() to mean that 2
>>>> NamedBitFields are equal if all 3 of their fields are equal.
>>>>
>>>> Any suggestions for improving my hashCode() definition? I
>>>> can improve its performance by caching the computed hashCode
>>>> in a transient field, sure, but can I improve the _way_ it's
>>>> computed?
>>>>
>>>>
>>>> class NamedBitField {
>>>>
>>>> String name; // name of bit field
>>>> int startIndex; // where it starts
>>>> int length; // how many bits it occupies
>>>>
>>>> pubic boolean equals(Object obj) {
>>>> if (this == obj)
>>>> return true;
>>>> if ( obj == null || this.getClass() != obj.getClass() )
>>>> return false;
>>>> NamedBitField other = (NamedBitField) obj;
>>>> return
>>>> this.name.equals(other.name) &&
>>>> this.startIndex == other.startIndex &&
>>>> this.length == other.length;
>>>> }
>>>>
>>>> public int hashCode() {
>>>>
>>>> // to make this symmetric with equals() I'd prefer to
>>>> // involve all 3 fields (name, startIndex and length)
>>>> // in the computation of the hash. But how?
>>>> //
>>>> // Here I'm simply reusing String.hashCode(), but the
>>>> // hashed String at least incorporates the other
>>>> // fields
>>>> return ((name + startIndex) + length).hashCode();
>>>> }
>>>> }
>>>
>>>
>>> public int hashCode() {
>>>
>>> int const = 17;
>>> int h = 13;
>>> h = h * startIndex + const;
>>> h = h * length + const;
>>> h = h * name.hashCode() + cost;
>>>
>>> return h;
>>> }
>>>
>>> Something like that, I believe, where 17 & 13 are different prime
>>> numbers,
>>> but it isn't that important. It doesn't matter if h overflows.
>>
>>
>>
>> You should really use 0x11 and 0xD, respectively. Unless you are
>> inputting bowling scores, there's no reason for decimal!
>
>
> Why difference, at all, does it make whether he writes 13 or 0xD? It's
> all the same to the bytecode that you end up with.
> Also, there actually *is* a reason to use decimal - other coders who
> come along later will more readily recognise 13 and 17 as prime numbers,
> as opposed to 0x11 and 0xD. I don't know of many people that make a
> habit of knowing what prime numbers are in hex.
> (And, yes, you could convert it in your head back to decimal, but that's
> just extra cognitive load and obfuscation.)
>
> Ah, hold on, I've come across you before! You're the dude who thinks hex
> is magically better than decimal somehow, and is on a mission to convert
> the world!
>
> http://makeashorterlink.com/?C2D351AD6
>
> alex
Sorry, make that
http://makeashorterlink.com/?P2C412AD6
alex
|
| |
|
| |
 |
Alex Hunsley

|
Posted: 2003-12-19 20:13:00 |
Top |
java-programmer >> Improving hashCode() to match equals()
Thinkit wrote:
> "VisionSet" <email***@***.com> wrote in message news:<nalEb.5824$email***@***.com>...
>
>>"Marco" <email***@***.com> wrote in message
>>news:t2lEb.557$email***@***.com...
>>
>>>In my NamedBitField class I define equals() to mean that 2
>>>NamedBitFields are equal if all 3 of their fields are equal.
>>>
>>>Any suggestions for improving my hashCode() definition? I
>>>can improve its performance by caching the computed hashCode
>>>in a transient field, sure, but can I improve the _way_ it's
>>>computed?
>>>
>>>
>>>class NamedBitField {
>>>
>>> String name; // name of bit field
>>> int startIndex; // where it starts
>>> int length; // how many bits it occupies
>>>
>>> pubic boolean equals(Object obj) {
>>> if (this == obj)
>>> return true;
>>> if ( obj == null || this.getClass() != obj.getClass() )
>>> return false;
>>> NamedBitField other = (NamedBitField) obj;
>>> return
>>> this.name.equals(other.name) &&
>>> this.startIndex == other.startIndex &&
>>> this.length == other.length;
>>> }
>>>
>>> public int hashCode() {
>>>
>>> // to make this symmetric with equals() I'd prefer to
>>> // involve all 3 fields (name, startIndex and length)
>>> // in the computation of the hash. But how?
>>> //
>>> // Here I'm simply reusing String.hashCode(), but the
>>> // hashed String at least incorporates the other
>>> // fields
>>> return ((name + startIndex) + length).hashCode();
>>> }
>>>}
>>
>>public int hashCode() {
>>
>> int const = 17;
>> int h = 13;
>> h = h * startIndex + const;
>> h = h * length + const;
>> h = h * name.hashCode() + cost;
>>
>> return h;
>>}
>>
>>Something like that, I believe, where 17 & 13 are different prime numbers,
>>but it isn't that important. It doesn't matter if h overflows.
>
>
> You should really use 0x11 and 0xD, respectively. Unless you are
> inputting bowling scores, there's no reason for decimal!
Why difference, at all, does it make whether he writes 13 or 0xD? It's
all the same to the bytecode that you end up with.
Also, there actually *is* a reason to use decimal - other coders who
come along later will more readily recognise 13 and 17 as prime numbers,
as opposed to 0x11 and 0xD. I don't know of many people that make a
habit of knowing what prime numbers are in hex.
(And, yes, you could convert it in your head back to decimal, but that's
just extra cognitive load and obfuscation.)
Ah, hold on, I've come across you before! You're the dude who thinks hex
is magically better than decimal somehow, and is on a mission to convert
the world!
http://makeashorterlink.com/?C2D351AD6
alex
|
| |
|
| |
 |
karl

|
Posted: 2003-12-20 0:22:00 |
Top |
java-programmer >> Improving hashCode() to match equals()
email***@***.com (Thinkit) wrote in message news:<email***@***.com>...
> "VisionSet" <email***@***.com> wrote in message news:<nalEb.5824$email***@***.com>...
> > Something like that, I believe, where 17 & 13 are different prime numbers,
> > but it isn't that important. It doesn't matter if h overflows.
>
> You should really use 0x11 and 0xD, respectively. Unless you are
> inputting bowling scores, there's no reason for decimal!
???
What an odd comment. As a long time aficionado of good programming
style, this is the first time I've ever heard this particular rule of
thumb. What's inherently better about using hex literals over decimal
literals in code? Personally, if I saw 0xD in that code, it would not
be immediately obvious that it was chosen for being prime.
In fact, for purely mathematical usage, I would say you should always
use decimal. I only use hex when dealing with low-level data concepts
such as bit masks and hardware flags; i.e. situations where knowing
the bit pattern of the data is more important than knowing its numeric
value.
|
| |
|
| |
 |
John

|
Posted: 2004-1-18 5:55:00 |
Top |
java-programmer >> Improving hashCode() to match equals()
Some guidance on implementing hashCode which may be useful :
http://www.javapractices.com/Topic28.cjp
>
|
| |
|
| |
 |
| |
 |
Index ‹ java-programmer |
- Next
- 1
- 2
- Confused with the ArrayListHello,
ArrayList main = new ArrayList();
ArrayList copy = new ArrayList();
copy.add("Test1");
copy.add("Test2");
main.add(copy);
copy = new ArrayList();
copy.add("Test3");
copy.add("Test4");
main.add(copy);
for(int i=0;i<main.size();i++)
{
ArrayList temp = (ArrayList)main.get(i);
for(int j=0;j<temp.size();j++)
{
System.out.println(temp.get(j));
}
}
for(int i=1;i<main.size();i++)
{
ArrayList temp = (ArrayList)main.get(i);
temp.set(0,"Test5");
temp.set(1,"Test6");
}
for(int i=0;i<main.size();i++)
{
ArrayList temp = (ArrayList)main.get(i);
for(int j=0;j<temp.size();j++)
{
System.out.println(temp.get(j));
}
}
}
- 3
- Java proxy server for IEHi,
I hope someone can help me (I am an inexperienced Java programmer).
What I'm trying to do is write a Java Application that acts as a proxy
server for Internet Explorer. The goal of the little Java application
is to be able to log HTTP requests and responses between IE and a web
server.
I've pasted my application as it exists so far. It only handles HTTP
GETs right now, which is fine for my purposes at the moment. It works
for simple HTML pages. The problem is that I can't get it to
read/write graphic information correctly, such as when a web page
requests a gif (the graphic appears messed up in IE). I have 2
questions for all the Java experts out there:
(1) How can I handle binary content so it's properly rendered in the
browser.
(2) Using writeBytes from the DataOuputStream class seems to write one
byte at time, even though I'm passing in a string. I'd like a method
that writes in batches to the socket endpoint. Is that possible?
Thanks for any and all help!
import java.io.*;
import java.net.*;
class SimpleProxy {
public static void main(String[] args) {
ServerSocket ss = null;
Socket s = null; // client socket connection with client (browser)
DataOutputStream os = null; //client (browser) output;
DataInputStream is = null; //client (browser) input
String sInput;
int iPosURLEnd;
String sURL;
Socket sServ = null; //client socket connection with server (web
server)
DataOutputStream osServ = null; //server (web server) output;
DataInputStream isServ = null; //client (web server) input
int iPosHostStart;
String sHost;
System.out.println ("Starting app...\r\n");
try {
ss = new ServerSocket(45678);
}
catch (Exception e) {
System.out.println ("Error establishing ServerSocket
connection.\r\n");
System.out.println ("Error: " + e.getMessage());
}
for (; ;) {
try {
s = ss.accept();
System.out.println("Connection established.\r\n");
os = new DataOutputStream(s.getOutputStream());
is = new DataInputStream(s.getInputStream());
}
catch (Exception e) {
System.out.println ("Error establishing connection.\r\n");
System.out.println ("Error: " + e.getMessage());
}
System.out.println("--------- Read REQUEST from client
--------\r\n");
for (; ;) {
try {
sInput = is.readLine();
if (sInput == null)
break;
System.out.println("Client: " + sInput);
if (sInput.startsWith("GET",0)) {
iPosURLEnd = sInput.indexOf(" ",4); // 4 = Len("GET ")
sURL = sInput.substring(4, iPosURLEnd);
iPosHostStart = sURL.indexOf("://") + 3; // 3 = Len("://")
sHost = sURL.substring(iPosHostStart,
sURL.indexOf("/",iPosHostStart+1));
try {
sServ = new Socket(sHost, 80); //assume port 80
osServ = new
DataOutputStream(sServ.getOutputStream());
isServ = new DataInputStream(sServ.getInputStream());
}
catch (Exception e) {
System.out.println ("Error establishing connection with
server.\r\n");
System.out.println ("Error: " + e.getMessage());
}
}
osServ.writeBytes(new String(sInput + "\r\n"));
if (sInput.compareTo("") == 0)
break;
}
catch (Exception e) {
System.out.println ("Error reading information from
client.\r\n");
System.out.println ("Error: " + e.getMessage());
}
}
System.out.println("--------- Write RESPONSE from server
--------\r\n");
for (; ;) {
try {
sInput = isServ.readLine();
if (sInput == null)
break;
System.out.println("Server: " + sInput);
os.writeBytes(new String(sInput + "\r\n"));
}
catch (Exception e) {
System.out.println ("Error reading information from
server.\r\n");
System.out.println ("Error: " + e.getMessage());
}
}
try {
isServ.close();
osServ.close();
sServ.close();
is.close();
os.close();
s.close();
}
catch (IOException e) {
System.out.println ("Error closing sockets.\r\n");
System.out.println ("Error: " + e.getMessage());
}
}
}
}
- 4
- Saving a BufferedImage as a JPEGI am saving a BufferedImage as a JPEG file under Windows XP.
I am using the JAI JPEGImageEncoder class.
The JPEG is saved as CMYK but I need RGB.
I cannot figure out how to get RGB. Any help?
- 5
- Correct use of ReadableByteChannelFor a piece of code intented to be rather
generic, I thought it would be a good idea
that it reads its input from a
ReadableByteChannel. The main reason to
choose it over an InputStream was that the
channel can be obtained for an InputStream as
well as for a RandomAccessFile.
Now the question:
How do you correctly perform a blocking read
from a ReadableByteChannel given that it does
not necessarily block?
I came up with
ReadableByteChannel source;
ByteBuffer inBuf;
...
int result;
while( 0==(result=source.read(inBuf)) ) Thread.yield();
In case the channel is blocking, the yield()
will never be called. If the channel is
non-blocking, the yield() may be called. But
on a machine without much load, I am afraid
it will generate load because no other thread
is interested in the processor.
Any ideas how this can be done better?
Harald.
- 6
- ObjectWebCon'06 - Call For Proposals CALL FOR PROPOSALS OBJECTWEBCON06 ObjectWeb Annual Conference 5th EDITION Paris France Januar 31st Februar 2nd 2006 http: ObjectWebCon06 object eb org SUBMISSION DEADLINE: No ember 21th 2005 ObjectWebCon06 the ne t ObjectWeb annual conference ill take place in Paris la D fense France from Januar 31st to Februar 2nd 2006 As ObjectWeb is mo ing in Anal st reports from a pure technical pla er in open source infrastructure soft are to a consortium of market pla ers its annual conferences strengthens as unique opportunit for professionals to disco er learn and e change on middle are and open source soft are technolog and Ecos stems As an e perienced professional of the domain ou are in ited to submit proposals in one or more of the follo ing sessions: Parallel sessions Best use case a ards Podium talks Please freel distribute this call to interested colleagues and friends We thank ou for making our submission online before No ember 21th and are looking for ard to reading our proposals Best regards Object ebCon06 Program Committee mailto:OWCon06 contact@object eb org Note: More information can be found on the eb at http: ObjectWebCon06 object eb org or belo in plain te t form ============================================================================ The ObjectWebCon06 program committee is seeking to recei ing proposals for the follo ing sessions: 1 Parallel sessions 45 minutes ================================== Sessions ill co er the three follo ing topics: T1 Using Open Source Middle are for : 3 presentations in each topic enterprise Ja a APS J2EE Webportal B2B BI SOA application integration ESB Clustering GRID autonomic management pro isioning large scale s stems Ad hoc net orked s stems telco mobilit RFID embedded T2 In the business of Open Source Middle are 6 presentations Business models legal aspects OSS Strateg public policies real orld cases go ernmental uses T3 Focus on ObjectWeb projects 10 presentations O er ie introduction primers guided tours getting started ith ObjectWeb projects Guideline to submit in Parallel sessions The title of the presentation A brief outline or abstract of the presentation not to e ceed 400 ords For each speaker the speaker name title compan professional street and email addresses phone and fa numbers Addresses phone and fa numbers are for organi ation purposes onl and ill not be distributed to third parties ithout prior agreement A short biograph of the proposed speaker s sho ing rele ant e perience and qualification to speak on the proposed subject matter not to e ceed 300 ords Submissions should be made online at http: ObjectWebCon06 object eb org iki bin ie Main CFP and should be ritten in English presentations are to be gi en in English Important dates for Parallel sessions: Abstract due: No ember 21th 2005 Notification: starting December 5th 2005 2 Best Use Cases A ards ======================== The ObjectWebCon06 Best Use Cases contest is a challenge for hich ou ma file one or se eral submissions about real orld use cases of ObjectWeb components and platforms Winners ill be nominated b ObjectWeb members through on line ote December 1st 15th A ards ill be offered in the follo ing categories: A1: Entreprise Ja a: production use of ObjectWeb enterprise Ja a components and platforms A2: ISV Integration: commercial offering or de elopment embedding some ObjectWeb components A3: Jur s Special Pri e: an use of ObjectWeb components and platforms Guideline to run for Use Cases A ards: A brief outline or abstract not to e ceed 150 ords ObjectWeb components that ha e been used a comment about this success h has it been a success according to ou? In option ou ma add: a complete description of the Use Case screenshots Submission should be made online at http: ObjectWebCon06 object eb org iki bin ie Main A ardsForm Important dates for Use Case A ards: Abstract due: No ember 21st 2005 Online ote: December 1 12 Notification: Starting December 15th 3 Podium talks =============== Podium talks intends to gi e all participants an opportunit to present ork the do relating to open source middle are Podium speaker ill ha e the floor for 10 minutes and ma use up to 5 slides Podium talks ill complement technical sessions on the follo ing topics: enterprise grid J2EE APS SOA ESB Telco Guideline for podium speakers: Podium talks are scheduled on a first come first ser ed basis Send an email to OWCon06 contact@object eb org in order to reser e a slot On behalf of the ObjectWebCon 06 Organi ation Committee Xa ier MOGHRABI ObjectWeb Consortium http: object eb org
- 7
- JDialog dispose and application window poppingHello!
I have an application where I show a JDialog (sort of as a status
indicator). During this time, I launch an application like Excel
(which comes up successfully). Once that other application is
launched, I take down my dialog by calling dlg.dispose(). Note that
the user did NOT interact with that dialog.
After the dialog disappears, my application pops itself to be
frontmost. I cannot figure out how to make my application stop this
behavior. I want the second application (Excel in this case), to
remain in front.
I have been searching all over and cannot find any solution to this
problem. I do know its tied up with the dispose() because not invoking
it leaves things the way I want (except that my modal dialog is still
up).
Any pointers would be appreciated.
Allan
- 8
- memory profiler recommendationJavameisters,
I have written an application for J2SE using the Netbeans IDE. I would
like to test it for memory leaks before releasing it, and would like a
recommendation as to what to use. I tried OptimizeIt some time ago,
and it seemed to do what I want, but I was just wondering if there are
better (or less expensive) alternatives.
Thanks much,
Matthew Fleming
email***@***.com
(please remove X before using this address)
- 9
- Struts JDO EJB Hibernate JFC - NUTS !The industry is in pure and utter chaos.
So many choices. How does one know which one is the popular one?
Is it Struts? Is it JFC? Is EJB unpopular (bloat)?
Personally, I find that xdoclet makes writing EJB's a total breeze,
dealing with the database that is. Are people using JDO now, or have
people been looking to see what JDO is all about but can't find any
solid examples so that people can't get rolling with it?
For the webgui, I wish more solutions would take the XMLC (enhydra) or
Tapestry approach. JSP / JSF / Struts all fail to separate design
from content.
Which framework handles form processing best? When I tried Struts I
lost days and days dealing with the uninformative errors it spits out.
Which one is better? What do people like these days? Or is everyone
else also in disarray, and keeps browsing site after site after blog
after blog and can't seem to get the scoop anymore?
- 10
- 11
- [Active Tags] Have the RefleX !hi,
People that are intersting in native XML programming can download the
RefleX engine freely here :
http://reflex.gforge.inria.fr
RefleX is available under the french license CeCILL, which is almost the
same as the well-known GNU GPL.
RefleX is a Java tool that allows people that have no particular
knowledge of Java to write smart programs entirely in XML ; however, the
most brave fellows could also design their own tags and plug them to the
engine ! Have a look at the "How-To" section to achieve this.
The concepts of native XML programming used in RefleX have been designed
separately, so that other implementations on other platforms/languages
can be considered.
Why programming in XML ?
At INRIA, we have experienced RefleX on a *real* operational project,
and it appears that :
-the code is very easy to produce
-the amount of code produced is very tiny
Despite the intrinsic verbosity of XML, the expressiveness of XPath
(which is used intensively in Active Tags) and the ability to declare
complex processes exposed as simple tags makes Active Tags programs very
efficient.
Active Tags has been designed like a programming language : it offers
several libraries (called modules) for different purpose : system
interactions, I/O, SQL, Web, etc and allow users to define simply their
own libraries, but Active Tags differs from other programming languages
in many ways... read more on the Active Tags website or on the RefleX
web site !
http://reflex.gforge.inria.fr
http://disc.inria.fr/perso/philippe.poulard/xml/active-tags/
You'll find on the RefleX web site some tutorials that are showing the
traditional "hello world" example, how to publish an entire XML
repository to HTML, how to map SQL to XML, how to design an MVC
architecture, and how to play with datatypes and PSVI ; most of them are
available in batch mode as well as in a Web application ready to run.
Don't say anymore that Santa Claus doesn't exists !
Enjoy !
--
Cordialement,
///
(. .)
-----ooO--(_)--Ooo-----
| Philippe Poulard |
-----------------------
- 12
- Bug#166370: Join our marketing teamWe are Looking for partners worldwide. The position is home-based. Our Company Head Office is located in UK with branches all over the world. We are looking for talented, honest, reliable representatives from different regions. The ideal candidate will be an intelligent person, someone who can work autonomously with a high degree of enthusiasm. Our Company offers a very competitive salary to the successful candidate, along with an unrivalled career progression opportunity.
If you would like to work with our active, dynamic team, we invite you to apply for employment. Preference will be given to applicants with knowledge of multiple languages.
Please send the following information to email***@***.com.
1. Full name
2 Address of residence
3 Contact Phone numbers
4 Languages spoken
5 Whether you are interested in part time job or full time employment.
Thank you. We look forward to working with you.
If you received this message in error, please send a blank email to: email***@***.com.
--
To UNSUBSCRIBE, email to email***@***.com
with a subject of "unsubscribe". Trouble? Contact email***@***.com
- 13
- Howto read newline characterHi,
I'm new to java and I'm writing a simple text editor using swt examples
from eclipse. The only problem I see is that my editor wont display the
text file correctly. It will display the whole text file in one line.
Here is the code I use to open file. I don't know where to start.
public class OpenFile extends SelectionAdapter {
public void widgetSelected(SelectionEvent event) {
FileDialog fileOpen = new FileDialog(shell, SWT.OPEN);
fileOpen.setText("Open");
String[] filterExt = { "*.txt", "*.ini", "*.*" };
fileOpen.setFilterExtensions(filterExt);
String selected = fileOpen.open();
if (selected == null) {
return;
}
FileReader file = null;
try {
file = new FileReader(selected);
} catch (FileNotFoundException e) {
MessageBox messageBox = new MessageBox(shell, SWT.ICON_ERROR | SWT.OK);
messageBox.setMessage("Could not open file.");
messageBox.setText("Error");
messageBox.open();
return;
}
BufferedReader fileInput = new BufferedReader(file);
String textString = null;
StringBuffer sb = new StringBuffer();
try {
do {
if (textString != null) {
sb.append(textString);
}
} while ((textString = fileInput.readLine()) != null);
} catch (IOException e1) {
MessageBox messageBox = new MessageBox(shell, SWT.ICON_ERROR |
SWT.OK);
messageBox.setMessage("Could not write to file.");
messageBox.setText("Error");
messageBox.open();
return;
}
text.setText(sb.toString());
}
}
Thanks in advance,
C
- 14
- paintComponent into a BuffereImage?It seems like I should be able to override the paintComponent method of
a class and have it do its paint into a BufferedImage something like
this:
public void paintComponent(Graphics g) {
BufferedImage image = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
Graphics2D g2D = image.createGraphics();
super.paintComponent( g2D );
.. etc ...
But all I get is a null pointer exception on super.paintComponent( g2D
); even though g2D is definitely NOT null. The exception actually comes
deep in the bowels of Java at:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at java.awt.Rectangle.intersects(Unknown Source)
at javax.swing.text.BoxView.paint(Unknown Source)
at javax.swing.plaf.basic.BasicTextUI$RootView.paint(Unknown Source)
at javax.swing.plaf.basic.BasicTextUI.paintSafely(Unknown Source)
at javax.swing.plaf.basic.BasicTextUI.paint(Unknown Source)
at javax.swing.plaf.basic.BasicTextUI.update(Unknown Source)
at javax.swing.JComponent.paintComponent(Unknown Source)
at TextPanel.paintComponent(TestClass.java:139) <--- the
super.paintComonent()
Any ideas on how to make this work?
Thanks,
--gary
- 15
- Doing one last thing to a WeakReferenceLew wrote:
> Paul J. Lucas wrote:
>> Lew wrote:
>>>
>>> This is not a flaw in Java.
>>
>> Yes it is.
>
> No, it isn't.
Real compelling argument there. Java programmers need to stop being in denial
and admit that Java has flaws just like every other language.
- Paul
|
|
|