Vyhledávání
Text:
Informace o blogu

Zdeněk Troníček

Blog o Javě a javovských technologiích. Více informací o mně najdete na mé domovské stránce.

WebArchiv - archiv českého webu

 

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í...

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,...

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...

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...

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ář...

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...

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.

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...

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...

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...

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...

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...

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...

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:...

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...

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:...

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...

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...

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...

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...

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...

(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.

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) { ...

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...

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...

Č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í...

Enterprise Java Beans & Java Persistence API

Záznam mojí přednášky o EJB a JPA.

Žá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.

Java Server Faces: vytváříme komponentu

JSFCompParts
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,...

Dokáže tohle váš webový framework? (2.část)

FileUpload
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}"...

Dokáže tohle váš webový framework?

Tree
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...

 
strana 1/1celkem 31 položek