Blog o Javě a javovských technologiích. Více informací o mně najdete na mé domovské stránce.
Blog: Zdeněk Troníček
Data race
V tomto článku se podíváme na data race. Data race je synchronizační chyba, která se objevuje ve vícevláknových programech. Řekneme si, kdy tato chyba nastává, ukážeme si pár příkladů a představíme si nástroj, kterým lze data race detekovat. Pokud dvě vlákna přistupují ke sdílené proměnné, alespoň jedno vlákno zapisuje a mezi přístupy není...
autor: Zdeněk Troníček (11.9.2012)
zařazení: články, blog /
Konference TOOLS 2012
V květnu 2012 proběhne na Fakultě informačních technologií ČVUT v Praze 50. ročník konference TOOLS (Conference on Objects, Models, Components, Patterns). Jde o vědeckou konferenci, která se koná každý rok někde jinde a jejímž hlavním tématem jsou softwarové technologie. Dalšími tématy jsou např. objekty, programovací techniky, programovací jazyky,...
autor: Zdeněk Troníček (11.11.2011)
zařazení: aktuality /
Učebnice jazyka Java
Jste na střední a chystáte se na techniku? Nebo začínáte s programováním a zajímá vás Java? Pak je tu pro vás zdarma učebnice tohoto programovacího jazyka. Výukový text je rozdělen do 24 kapitol a je doplněn 100 interaktivními cvičeními v JavaFX. Celá učebnice je k dispozici pod licencí Creative Commons (CC-BY-NC), která vám dává právo používat...
autor: Zdeněk Troníček (30.9.2011)
zařazení: články, blog /
Uklízíte po sobě?
V tomto článku se podíváme se na to, jak je možné pomocí nástroje BTrace sledovat vytváření a úklid oken v javovském programu. Budeme sledovat konstruktory a metodu dispose, která provádí úklid. Pokud programátor zapomene zavolat metodu dispose, nastává memory leak. Dále si ukážeme, jak sledovat otevřené soubory. BTrace nás bude...
autor: Zdeněk Troníček (25.6.2011)
zařazení: články, blog /
CZJUG webinář na téma Java 7
V dalším CZJUG webináři se podíváme na novinky v Javě 7, která je naplánována na konec července letošního roku. Během 60 minut se seznámíme se všemi novinkami v projektu Coin a jako vždy napíšeme pár příkladů. Pokud vás zajímá, co nového verze 7 přinese, nebo jste zvědaví, jak bude vypadat javovský kód v příštích letech, nenechte si tento webinář...
autor: Zdeněk Troníček (27.3.2011)
zařazení: aktuality /
Druhý Hackathon
V pátek 11.2. proběhl druhý český Hackathon na téma RefactoringNG. Stejně jako minule se konal v sídle společnosti JetBrains v Praze-Hodkovičkách. Pokud chcete vědět jaké to bylo, čtěte dál. Bylo nás celkem osm: Honza Novotný, Michal Bernhard, Michal Škrdla, Vlastimil Dolejš, Vašek Pech, Denis Stepanov, Pavel Jetenský (připojený přes...
autor: Zdeněk Troníček (12.2.2011)
zařazení: aktuality /
CZJUG webinář na téma Spring Framework
V dalším CZJUG webináři se podíváme na Spring Framework. Během 120 minut se seznámíme s injekcí závislostí, JDBC šablonami a aspektově orientovaným programováním a napíšeme pár příkladů.Záznam webináře je k dispozici na adrese http://www.webinare.cz/videozaznamy/videozaznam/94-spring-framework.aspx.Zdrojáky: SpringDemo.zip.
autor: Zdeněk Troníček (4.1.2011)
zařazení: aktuality /
Silvestrovská hádanka
Jsem přesvědčen, že všichni čtenáři mého blogu umějí sčítat a ovládají šestnáctkovou soustavu a věřím, že si poradí i se sčítáním v šestnáctkové soustavě. V tomto článku se na jedno takové sčítaní podíváme. Pro sčítání použijeme třídu Summator. Sčítance budou v atributech x a y a výsledek v atributu result. Samotné sčítání probíhá v...
autor: Zdeněk Troníček (29.12.2010)
zařazení: články, blog /
RefactoringNG: pohled pod kapotu
V tomto článku se podíváme na to, jak je implementován modul RefactoringNG, a vysvětlíme si syntaxi jeho refaktorizačních pravidel. Překladač javac Nejprve něco o tom, jak funguje překladač javac. Překladač zpracovává zdrojový kód v několika krocích. Nejprve se text převede na posloupnost lexikálních symbolů. Např. class Main { } se...
autor: Zdeněk Troníček (12.12.2010)
zařazení: články, blog /
RefactoringNG: evoluce rozhraní
V tomto článku si ukážeme použití RefactoringNG při evoluci rozhraní. Jde o problém, který popisuje Dagi.Dejme tomu, že ve verzi 1.0 našeho API máme rozhraní Plugin: public interface Plugin { ... }Ve verzi 2.0 přidáme do tohoto rozhraní metodu go: public interface Plugin { ... void go(); }Tato změna vyžaduje, aby každý klient, který chce...
autor: Zdeněk Troníček (25.11.2010)
zařazení: články, blog /
CZJUG webinář na téma Java Performance
Vyvíjíte aplikace v Javě a občas byste je rádi zrychlili? Nebo vás zajímá, co se děje v JVM, když v ní běží vaše aplikace? Pak si nenechte ujít CZJUG webinář na téma Java Performance. Během 120 minut se seznámíme s testováním výkonu, podíváme se na správu paměti a ukážeme si, jak monitorovat vlákna v aplikaci. A vy můžete být přitom, aniž byste...
autor: Zdeněk Troníček (2.11.2010)
zařazení: aktuality /
RefactoringNG: záměna metody
V tomto článku si ukážeme, jak lze pomocí RefactoringNG snadno zaměnit volání metody. Pro příklad se vydáme na cestu časem do doby JDK 1.1, kdy přibyla ve třídě java.awt.Component metoda setEnabled. Tato metoda nahradila metodu enable, která je od verze 1.1 Deprecated. Náhradu volání metody enable za volání metody setEnabled s parametrem true...
autor: Zdeněk Troníček (23.10.2010)
zařazení: články, blog /
RefactoringNG: továrna místo konstruktoru
V dnešním článku si ukážeme, jak lze pomocí nástroje RefactoringNG snadno v celém projektu nahradit volání konstruktoru voláním tovární metody. Mějme třídu Position:public class Position { private int x; private int y; public Position(int x, int y) { this.x = x; this.y = y; } ...}Doposud jsme vytvářeli instance třídy...
autor: Zdeněk Troníček (16.10.2010)
zařazení: články, blog /
Webinářová školení na téma JSF a JPA
Lákají vás technologie Java Server Faces a Java Persistence API, ale nemáte dost času na to, abyste je studovali sami? Pak jsou tu pro vás webinářová školení. Narozdíl od klasického školení nebudete celý den mimo firmu, protože školení se můžete účastnit odkudkoliv. Stačí vám počítač a připojení k Internetu.Školení Java Server Faces:...
autor: Zdeněk Troníček (8.10.2010)
zařazení: aktuality /
CZJUG webinář na téma JavaFX
Máte rádi grafiku a umíte trochu JavaScript? Jsou Rich Internet Applications vaším denním chlebem? Už několik let jste se nenaučili žádný nový programovací jazyk? Pokud alespoň na jednu z těchto otázek odpovíte kladně, pak si nenechte ujít další CZJUG webinář, tentokrát na téma JavaFX. Během 120 minut projdeme základní vlastnosti jazyka a napíšeme...
autor: Zdeněk Troníček (23.9.2010)
zařazení: aktuality /
CZJUG webinář na téma webové služby
Máme tu další CZJUG webinář, tentokrát na téma "webové služby". A co nás čeká? Podíváme se na technologii Java API for XML Web Services (JAX-WS), vysvětlíme si, co je to Representational State Transfer (REST), seznámíme se s Java API for RESTful Web Services (JAX-RS) a napíšeme pár příkladů.Záznam webináře:...
autor: Zdeněk Troníček (23.8.2010)
zařazení: aktuality /
Optimalizovat či neoptimalizovat?
Tento článek se zabývá otázkou zda a kdy optimalizovat javovský kód. Podnětem pro jeho napsání byla diskuze v javovské konferenci na java.cz a podobně zaměřený, avšak obsahově odlišný, článek na serveru interval.cz.Nejprve trochu historie: v začátcích byla Java často kritizována za to, že je pomalá. Rychlost Javy se tenkrát dala těžko...
autor: Zdeněk Troníček (15.8.2010)
zařazení: články, blog /
Evoluce API
Navrhli jste API, chcete v něm provést změny a děsí vás, co to způsobí s programy, které toto API používají? V tomto článku si na jednoduchém příkladu ukážeme, jak vám může pomoci RefactoringNG. Mějme třídu Ship s metodou dock: public class Ship { public void dock() { ... } ... } V rámci evoluce API metodu dock přesuneme do třídy...
autor: Zdeněk Troníček (19.7.2010)
zařazení: články, blog /
CZJUG webinář na téma EJB a JPA
Máte pocit, že Enterprise Java Beans je složitá technologie a že ke zvládnutí Java Persistence API je potřeba několik měsíců? Pak neváhejte a přihlaste se na druhý CZJUG webinář. Během 1,5 hodiny projdeme nejdůležitější vlastnosti těchto technologií a napíšeme jednoduchou aplikaci. A vy můžete být přitom, aniž byste někam jezdili. Zúčastnit...
autor: Zdeněk Troníček (16.7.2010)
zařazení: aktuality /
RefactoringNG
V dnešním článku se seznámíme s novým nástrojem pro refaktorování javovského kódu. Jmenuje se RefactoringNG a jde o modul do NetBeans 6.9.Ve srovnání s jinými nástroji nabízí RefactoringNG velkou flexibilitu, protože refaktorizační pravidla si zde definujeme sami. Každé refaktorizační pravidlo popisuje transformaci nějakého abstraktního...
autor: Zdeněk Troníček (19.6.2010)
zařazení: články, blog /
CZJUG webinář na téma JSF
Zajímají vás webové technologie? Chcete vědět, co je nového v Java Server Faces 2.0? Pak neváhejte a přihlaste se na první CZJUG webinář. Během 1,5 hodiny projdeme základní vlastnosti JSF a napíšeme jednoduchou aplikaci. A vy můžete být přitom, aniž byste někam jezdili. Zúčastnit webináře se totiž můžete např. z práce či domova. Stačí vám počítač a...
autor: Zdeněk Troníček (4.5.2010)
zařazení: aktuality / JavaServer Faces
(Ne)bezpečná Java
Pokud se zajímáte o Linux, nebude pro vás patrně akce InstallFest neznámá. Letošního ročníku, který byl zaměřen na sítě a bezpečnost, jsem se zúčastnil i jako přednášející. Záznam mojí přednášky "(Ne)bezpečná Java" můžete najít na stránkách InstallFestu.
autor: Zdeněk Troníček (17.4.2010)
zařazení: články, blog / J2SE
Java versus C
Položili jste si někdy otázku, jak by dopadlo výkonové srovnání Javy a C? V tomto krátkém článku si jedno výkonové srovnání ukážeme. Nepůjde však o komplexní srovnání Javy a C, protože budeme testovat jen jednu funkci: výpočet obsahu kruhu. V Javě bude obsah kruhu počítat metoda obsah: public static double obsah(double r) { ...
autor: Zdeněk Troníček (1.4.2010)
zařazení: články, blog /
Ostře sledovaná okna
K napsání tohoto článku mě inspiroval Ondra Medek svými maily v javovské konferenci v lednu 2010, v nichž se podivoval nad tím, že Java automaticky neuklízí zavřená okna. Pokud okno nemá nastaveno DISPOSE_ON_CLOSE, je při zavření pouze schováno a nadále zabírá paměť. K jeho dealokaci dojde až při zavolání metody dispose(). V tomto článku...
autor: Zdeněk Troníček (22.2.2010)
zařazení: články, blog / J2SE
Ukazatelová aritmetika
V tomto krátkém článku si ukážeme, že i v Javě (přesněji Sun JDK) můžeme používat ukazatelovou aritmetiku. Nehledejte v tom však něco praktického. Jde spíše o exkurzi do méně známých končin JDK. Celé kouzlo je schováno ve tříde sun.misc.Unsafe. Tato třída umožňuje např. přímý přístup do paměti, atomické operace s pamětí (Compare and...
autor: Zdeněk Troníček (30.12.2009)
zařazení: články, blog / J2SE
České řazení
Tento článek vznikl jako reakce na diskuzi v javovské konferenci konference@java.cz v listopadu 2009. Předmětem diskuze zde bylo řazení podle ČSN 97 6030. V dalším textu se nebudeme této normy striktně držet. Cílem článku není popsat implementaci řazení podle normy, ale spíše ukázat možnosti, které máme v Javě k dispozici pro abecední řazení...
autor: Zdeněk Troníček (28.11.2009)
zařazení: články, blog / J2SE
Enterprise Java Beans & Java Persistence API
Záznam mojí přednášky o EJB a JPA.
autor: Zdeněk Troníček (10.4.2009)
zařazení: články, blog / Enterprise JavaBeans
Žádný strach z JSF
Rozumíte servletům, umíte JSP a rádi byste se pustili do JavaServer Faces? Zkuste začít tímto videem. Bohužel, prvních pět minut jsem neměl mikrofon, takže to vypadá, jako kdyby záznam začínal v půlce. Ale je to téměř od začátku.
autor: Zdeněk Troníček (6.4.2009)
zařazení: články, blog / JavaServer Faces
Java Server Faces: vytváříme komponentu
JSF komponentaTento článek popisuje vývoj jednoduché komponenty v Java Server Faces (JSF) verze 1.2. Nejprve si ukážeme, co tvoří JSF komponentu a pak jednoduchou komponentu naimplementujeme. Technologie JSF je postavena nad Java Server Pages (JSP), jejichž znalost dále předpokládám.Ukázková komponenta bude generovat posloupnost náhodných čísel,...
autor: Zdeněk Troníček (11.2.2009)
zařazení: články, blog / JavaServer Faces
Dokáže tohle váš webový framework? (2.část)
Tento článek navazuje na článek "Dokáže tohle váš webový framework?". Tentokrát se podíváme na komponenty fileUpload, hotKey, inputNumberSpinner, insert, progressBar a tabPanel. FileUploadPro upload souborů na server je komponenta fileUpload: <rich:fileUpload fileUploadListener="#{fileUploadBean.listener}"...
autor: Zdeněk Troníček (22.11.2008)
zařazení: články, blog / JavaServer Faces
Dokáže tohle váš webový framework?
V tomto článku se podíváme na možnosti několika komponent knihovny RichFaces, která je postavena nad Java Server Faces (JSF). Článek není míněn jako tutorial, ale spíše jako seznámení s JSF a RichFaces, které dnes patří k tomu nejlepšímu, co je mezi webovými frameworky k dispozici. Pokud si chcete RichFaces vyzkoušet, doporučuji nainstalovat...
autor: Zdeněk Troníček (17.11.2008)
zařazení: články, blog / JavaServer Faces
strana 1/1 | 1 | celkem 31 položek |