Tobias Nebel
24. Nov, 2008
Analyse, Generierung oder auch Manipulation von Java-Programmen zur Laufzeit sind nützliche Technologien in der Java-Softwareentwicklung. Durch diese Funktionen können beispielsweise Programmier-Paradigmen wie die Aspekt-orientierte Programmierung (AOP) realisiert werden. Der Vorgang des Veränderns von Bytecode wird in der Softwaretechnologie auch als Bytecode-Engineering oder Instrumentierung bezeichnet. Eine sinnvolle Erweiterung in Java 5 stellt das Package java.lang.instrument dar, welches eine einfache Integration von Bytecode-Engineering-Mechanismen ermöglicht.
Weiterlesen »
Schlagworte: Bytecode •
Bytecode-Engineering •
Instrumentierung •
Java •
java.lang.instrument
Falk Hartmann
11. Jul, 2008
Persistence is to the character of man as carbon is to steel. (Napoleon Hill)
For our second JUG Saxony meeting, we were in the comforable position of being one station of a little tour of Mr Shaun Smith from Oracle, project lead of the EclipseLink project and product manager of TopLink. Actually, we have to be grateful to the JUG Berlin-Brandenburg for their mediation…Ralph, thank you very much again!
The meeting took place at the Faculty of Computer Science. This time, the meeting has been organized by ubigrate in cooperation with Torsten from Communardo and Kristian from PlanConnect. Thank you again for your support! Jürgen from ubigrate started the meeting and presented the results of the survey we conducted at the first meeting. Interestingly, we followed almost all of the proposals made by the participants of the first meeting - especially we hit the 2nd most requested topic for a talk, which was “Java Persistence Frameworks”. As last time, the hosting company was presented (this time by myself).
Weiterlesen »
Schlagworte: EclipseLink •
Java •
JAXB •
JCA •
JPA •
JSON •
JUG Saxony •
MOXy •
ORM •
ubigrate
Tobias Nebel
27. Jun, 2008
Welches Kind träumt nicht vom eigenen Roboter? Spätestens durch Film und Fernsehen und die darin erfundenen Blech-Menschen ist doch in jedem einmal der Wunsch nach einem eigenen elektronischen Helferlein gewachsen.
Lego bietet nun in zweiter Generation die Grundlage für den Roboter im Kinderzimmer an: den Lego Mindstorms NXT. Elektronisches Herzstück ist der so genannte NXT Brick - ein Steuer-”Baustein”, in welchem ein ARM-Prozessor sein Werk verrichtet. Als markante technische Eckdaten sind eine USB 2.0 Schnittstelle und das integrierte Bluetooth-Funkmodul zu erwähnen. Weiterhin sind grafische Ausgaben auf einem 100×64 Pixel LCD und das Abspielen von 8-bit Sounds möglich.
Weiterlesen »
Schlagworte: Bluetooth •
iCommand •
Lego •
leJOS •
Mindstorms •
NXT •
SPP
Tobias Nebel
19. Mai, 2008
Viele objektorientierte Programmiersprachen wie Java behandeln Daten als Objekte, welche ihrerseits Instanzen von Klassen darstellen. Jedes Objekt ist dabei eindeutig über seine Referenz identifizierbar. Beim Aufruf einer Methode werden nicht die Objekte selbst übergeben, sondern nur deren Referenzen. Eine Zugriff auf das Objekt mittels der übergebenen Referenz ist daher von überall aus durchführbar.
Dennoch kennt Java aufgrund seiner Abstammung aus der C-Familie auch primitive Datentypen wie int, long, float, double etc. Wird einer Methode ein Argument eines primitiven Datentypens übergeben, erhält diese jedoch keine Referenz, sondern nur den Wert der Variablen (call-by-value). Primitive Datentypen können mit der Hilfe spezieller Klassen wie Integer, Long , Float, Double usw. in Objekte verwandelt werden. Diese Klassen werden Wrapper genannt. Den Vorgang des Ein- und Auspackens der primitiven Variablen in Wrapper bezeichnet man als boxing bzw. unboxing. Boxing und unboxing sind z.B. erforderlich, wenn primitive Datentypen in einer Liste gespeichert werden sollen, da die von Java zur Verfügung gestellten Containerklassen nur Objekte unterstützen. Weiterlesen »
Schlagworte: Java
Falk Hartmann
12. Mai, 2008
Interessante Dinge haben sich in den letzten Jahren im JAXB-Umfeld getan. Während diese Technologie 2004 noch nahezu unbrauchbar recht hakelig war, ist mit JAXB 2.0 (aka JSR-222) bzw. JAXB 2.1 ein Entwicklungsstand erreicht, welcher zusammen mit nicht-standardisierten Features (z.B. innerhalb der Referenzimplementierung JAXB RI) den Einsatz von JAXB in industriellen Anwendungen erlaubt. Im folgenden soll speziell auf XJC, den XML-to-Java-Compiler der Referenzimplementierung, eingegangen werden. Im Zusammenhang mit allen JAXB-Fragen sollte stets Kohsuke Kawaguchi’s Blog besucht werden - Herr Koshuke ist sicher der Hauptentwickler der Referenzimplementierung. Weiterlesen »
Schlagworte: Codegenerierung •
Java •
JAXB •
XJC •
XML Schema