Showing posts with label Java 8. Show all posts
Showing posts with label Java 8. Show all posts

Saturday, January 23, 2016

Java Optimierung


In diesem Post stelle ich euch die wichtigsten Techniken zur optimierung von Java Quellcode vor. Natürlich auch unterstzützt durch Beispiele.
Wie es zu diesem Post kam ist eigentlich leicht zu erklären. Niemand schaut mehr auf die Optimierung von Programmen, da wir doch solche Monstermaschienen produzieren können. In jedem alten Programmierbuch fand man zumindest am Schluss eine Rubrick für Optimierung. Heutzutage wird das gar nicht mehr praktieziert.
Es hat aber schon seine Vorteile. Zum einen ist es besser programmiert und zum anderen spart man dadurch viel Geld. Wenn wir uns mal eine Business Applikation vorstellen die viel Daten verarbeiten muss. Wenn Sie plötzlich in der gleichen Zeit doppelt so viel verarbeiten kann, rendiert sie viel mehr.
Jetzt aber zu den Top Ten Tipps:

  1. Arbeite immer nur mit den Daten welche du auch im Moment brauchts. Das heisst, dass zum Beispiel Referenz Objekte welche nur die benötigten Attribute haben oft einen klaren Performance Vorteil schaffen können, vor allem wen es um Grosse Datenmenge geht, wie das der Fall bei Datenbanken ist.
  2. Vermeide wenn möglich Methodenaufrufe in einer Schleife. Achte immer ob du nur die nötigsten Dinge in einer Schleife erledigs, dieser Programmcode wird X mal ausgeführt. Durch Veränderungen in dieser Materie kann man vieles bewirken.
  3. Achte bei Verzweigungen, dass du die wahrscheinlichsten Fälle zuerst behandelst.
  4. Eliminiere jegliche Redundanz in deinem Quellcode.
  5. Benutze Cache oder das Clonen von Objekten für bessere Performance.
  6. Achte immer auf die DatenTypen welche du brauchts. Erföllen Sie genau nur das, was gebaurcht wird. Oder noch vieles mehr. Und fall du mit Arrays arbeiten solltest, ist arraycopy viel schneller als eine selbstprogrammierte Schleife für diesen Zweck.
  7. Wenn dies möglich ist solltest du Konstanten verwenden. Dies gilt so auch für guten Code standart.
  8. Verwende wenn möglich lieber if -else statt switch -case. Das letztere ist unter Java langsammer.
  9. Verwende ArrayList statt Vektor und StringBuffer statt String.
  10. Vermeide wenn möglich Rekursionen

Gute Bücher zu diesem Thema:
  • Performant Java programmieren von Hendrik Schreiber

Saturday, February 21, 2015

Coding challenge Pong

I made a little Pong game, in Java and Slick2D



Info:
A very basic application every programmer knows. Originally developed by a swiss student in the 20th century. I wrote it in java 8 under Netbeans with slick2D a child library of lightweight java game library.

Coding challenge Tetris

I made a little Tetris game in Java and Slick2D




Info
Propably the most famous computer game in the world. Tetris.
I needed about one day to write it.
Heere are my Tipps:

  • Strukturize the background in rows and comlumns with coordinates.
  • Write a class for one Cube. This is necessary, beacause after your figures are at the bottem the app should count only the cubes per row.
  • Use a Timer for the pseudo gravity.
  • To rotate the figures , please remember that you should do it centered.
For me it was a lot of fun, and only about 400 rows of java code. So when you have a fiew minutes, then do it. It will be great.

used: Java 8 and Slick 2D