357 Lotus blogs updated hourly. Who will post next? Home | Downloads | Events | Pods | Blogs | Search | myPL | About 
 
Latest 7 Posts
IceBucketChallenge solved
Tue, Sep 2nd 2014 35
Improve the Performance of the ASF Tomcat Server on the IBM i
Thu, Aug 28th 2014 52
Document Spy: Admins little helper
Wed, Aug 27th 2014 159
IBM i Disk Performance
Tue, Aug 26th 2014 49
Dell U2713HM 68,6 cm (27 Zoll) LED-Monitor ein Traum für den Entwickler
Thu, Aug 21st 2014 78
How to fix "Bootmgr is missing" error in Windows 7
Sun, Aug 10th 2014 116
AFP Workbench Viewer fails with "The program can't start because icuuc44.dll ismissing"
Fri, Aug 8th 2014 84
Top 10
Motorola kündigt gerade das neue Moto G Smartphone zu einem wirklichen Hammerpreis an.
Wed, Nov 13th 2013 700
Show pictures in emails from iPhones as attachments and not as inline images
Wed, Aug 14th 2013 569
Domino/Notes 9.0.1 FP1 has been postponed to April.
Tue, Mar 25th 2014 564
Force the Notes client to refresh policies from the server
Thu, Aug 8th 2013 525
IBM i V7R2 has been announced today.
Mon, Apr 28th 2014 495
IBM rolls out a new design for the lotus developerworks website
Fri, Mar 21st 2014 480
A deep look under the hood of the Notes Standard client.
Sun, Jun 29th 2014 421
IBM Notes/Domino 8.5.3 FP6 is available on Fix Central
Wed, Dec 11th 2013 392
Become an expert in TCP/IP networking
Sun, Mar 23rd 2014 370
Rational Developer for System i 9 is available
Fri, Jun 28th 2013 355


"equal" vs "==" in Java
   

Ein typischer Anfängerfehler in Java ist, zwei Objekte in einer if Klausel mit "==" statt mit .equals() zu vergleichen. Dies ist aber in den meisten Fällen grundfalsch. Das tückische dabei ist, dass der Fehler nicht immer sofort auffällt, da unter manchen Umständen der Vergleich mit "==" auch funktioniert.

Um zu verstehen warum die beiden Vergleiche unterschiedlich sind, muss man zuerst wissen, wie Java eigentlich Objekte verwaltet. Wenn mit new ein neues Objekt erzeugt wird und einer Variable zugewiesen wird, wird nicht das Objekt in der Variable gespeichert, sondern das Objekt wird am Heap (Hauptspeicher) erzeugt und ein Zeiger auf die Stelle im Heap an der das Objekt gespeichert ist, wird der Variable zugewiesen. Man kann sich sozusagen die Variable als einen primitiven Datentyp vorstellen, der eine Referenz auf den Heap speichert. Mehrere Variablen können die selbe Referenz auf das selbe Objekt im Heap zugewiesen haben. Wenn nun mit "==" verglichen wird, wird das Objekt im Heap gar nicht angeschaut, sondern es wird nur verglichen, ob die Variable die gleiche Referenz enthält. Wenn ja wird true zurückgeliefert und wenn nein wird false zurückgeliefert. Ganz anders verhält es sich beim equals(). Hier müssen die Objekte nicht einmal vom gleichen Typ sein, sondern es kommt auf die Implementierung der "equals" Methode an, ob das Ergebnis true oder false ist. Im Normalfall wird man immter mit equals() vergleichen, da ich im Normalfall wissen will, ob es sich um ein logisch gleiches Objekt handelt und nicht um das selbe Objekt. Wenn alles so klar ist, warum funktioniert dann folgender Code:


String test1="Test";
String test2="Test";
System.out.println(test1==test2); //Bitte auf keinen Fall so machen
System.out.println(test1.equals(test2); //So vergleicht man richtig.
Im Normalfall würde man erwarten, da man zwei String Literale hat, dass der erste Vergleich false ergeben würde. Doch die JVM verwendet für Stringliterale einen Cache und so wird der zweite Literal wegoptimiert und beide Variablen verweisen auf das selbe Objekt im String Cache. Nur sollte man sich auf keinen Fall auf das verlassen, da eine andere JVM Implementierung auf diesen Cache eventuell verzichtet, oder der Cache bereits voll ist und dann hat man plötzlich zwei unterschiedliche Objekte und der erste Vergleich ergibt false.

---------------------
http://petterralf.blogspot.com/2012/12/equal-vs-in-java.html
Dec 14, 2012
55 hits



Recent Blog Posts
35


IceBucketChallenge solved
Tue, Sep 2nd 2014 9:46a   Ralf Petter
Jetzt hat es mich auch erwischt und ich wurde von meinem Schwager für die IceBucketChallenge nominiert. Normalerweise halte ich ja nichts von diesen Selbstdarstellungen auf den Sozialen Plattformen, aber weil es um die Erforschung einer Behandlung für die schreckliche Krankheit ALS (Amyotrophe Lateralsklerose) geht habe ich auch mitgemacht. Ich hoffe wirklich, dass die Aktion dazu beiträgt eine Behandlung für ALS zu finden und dass zumindest eine der vielen seltenen Krankheiten an denen die [read] Keywords: wiki
52


Improve the Performance of the ASF Tomcat Server on the IBM i
Thu, Aug 28th 2014 7:13a   Ralf Petter
There is a new article on developerworks which contains a bunch of tips how to improve the performance and security of the ASF Tomcat server on the IBM i. Performance and security are two important key points when running Tomcat on IBM i. This article introduces how to improve Tomcat’s performance and security by tuning IBM i, Java virtual machine (JVM), Tomcat, HTTP Server for i and specific applications. more... [read] Keywords: ibm applications java security server
159


Document Spy: Admins little helper
Wed, Aug 27th 2014 11:13a   Ralf Petter
When i should choose one thing, that i really hate about Notes i am sure that i will choose the property box with the document items. Not only that the box is not resizable and really very small on todays big screen, the biggest problem is that you can not switch to Designer and still see the items of the document in the notes client. So i have developed the Document Spy which overcomes some of the limitations of the Notes property box. It will show you all items of the current document in a [read] Keywords: domino notes notes client database profile widget
49


IBM i Disk Performance
Tue, Aug 26th 2014 5:38a   Ralf Petter
One of the most important components of a server is the Disk subsystem. If you need information's how to optimize or analyze the IO performance of your Power System with IBM i, i recommend to watch the presentation "IBM i Disk Performance" from Satid Singkorapoom. Abstract: This presentation provides technical performance information on Power Systems' internal disk HW subsystem when managed by IBM i and OS/400. You can learn about how IBM i manages disk allocation for data and memory faulti [read] Keywords: ibm server
78


Dell U2713HM 68,6 cm (27 Zoll) LED-Monitor ein Traum für den Entwickler
Thu, Aug 21st 2014 12:12p   Ralf Petter
Lange habe ich überlegt, ob ich meinen alten 24" Samsung Monitor gegen einen neuen Monitor austauschen sollte. Jetzt habe ich mich endlich überwunden und mir einen neuen Dell U2713HM 27 Zoll LED Monitor geleistet. Wichtig war für mich eine hohe Pixeldichte für schärfere Schriftdarstellung und ein mattes Display um störende Spiegelungen zu vermeiden. Beides erfüllt der Dell U2713HM mit Bravour. Auch die Blickwinkelunabhänigkeit und die homgene Ausleuchtung sind um vieles besser als bei m [read] Keywords: eclipse
116


How to fix "Bootmgr is missing" error in Windows 7
Sun, Aug 10th 2014 6:12a   Ralf Petter
A friend of mine called me this morning that her Windows 7 does not start and that she got the error message "Bootmgr is missing press any key to restart" She was able to fix this by following the steps in this video tutorial i suggested to her. [read] Keywords:




84


AFP Workbench Viewer fails with "The program can't start because icuuc44.dll ismissing"
Fri, Aug 8th 2014 7:12a   Ralf Petter
After installing 7.1 service pack SI50567 the AFP Workbenchviewer which is used in the System i Navigator to view spool files fails on startup with the error "The program can't start because icuuc44.dll ismissing" It does not help to reinstall the program as the error message says. After some search i found APAR SE57569 which describes the problem and there is also an Hotfix which correct the error. So if you have installed 7.1 with service pack SI50567 i strongly recommend to install the h [read] Keywords: ibm system i
278


Die Cloud und der Browser sind für Enterpriseanwendungen vielleicht doch keine so gute Idee
Mon, Aug 4th 2014 11:26a   Ralf Petter
Alle großen Player sei es IBM, Microsoft oder Google hätten unsere Daten gerne in der Cloud und am Besten soll alles in Zukunft nur noch über den Browser gemacht werden. Sie versprechen uns eine strahlende Zukunft in der wir auf egal welchen Geräten und von wo auch immer aus mit unseren Daten arbeiten können. Ich für meinen Teil war aber schon bisher immer ziemlich skeptisch, gegenüber Cloud und browserbasierenden Lösungen eingestellt. Zu viele Dinge an der Cloud wie Backup and Restore u [read] Keywords: ibm inotes firefox google microsoft server
80


Network layer name resolution in Wireshark
Fri, Aug 1st 2014 6:17a   Ralf Petter
Normally Wireshark does not make a reverse lookup for network layer addresses, which makes it sometime hard to find out to which communication a IP packet belongs. Fortunately there is an option to enable the name resolution for the network layer. Just select the "View->Name Resolution->Enable for Network Layer" option. Now every IP Address which has a DNS name assigned, will be automatically resolved in your network trace. [read] Keywords: network
111


Easy packet filtering with Wireshark
Thu, Jul 31st 2014 10:12a   Ralf Petter
Wireshark the ultimate tool to solve network problems have so many filter possibilities, that it is often very difficult to find the correct one for your need in the Filter expression dialog. But fortunately there is an easy way to create a filter. Simply click on the field in the packet trace detail for which you want to create a filter with the right mouse button and choose the correct "Apply as Filter" context menu. If you have already set a filter and want to add the field as an addition [read] Keywords: network




Created and Maintained by Yancy Lent - About - Blog Submission - Suggestions - Change Log - Blog Widget - Advertising - Mobile Edition