Články v rubrice Programovací jazyky
1 nalezený článek
Pohled pod kapotu JVM – detekce vstupu do metod s využitím rozhraní JDI
Pohled pod kapotu JVM – využití systémů událostí při sledování činnosti JVM s využitím rozhraní JDI
V dnešní části seriálu o programovacím jazyku Java si popíšeme využití systému událostí implementovaného v rozhraní JDI (Java Debugger Interface). Události – events – jsou totiž v JDI využívány při zkoumání mnoha činností prováděných v monitorovaném JVM, například při práci s breakpointy či při krokování programu.
Pohled pod kapotu JVM – získání informací o třídách ve sledované JVM s využitím rozhraní JDI
V dnešní části seriálu o jazyku Java si ukážeme způsob využití rozhraní JDI (Java Debugger Interface) pro získání všech informací o třídách načtených do sledovaného (monitorovaného) virtuálního stroje Javy. Přes JDI lze získat například všechny metody i atributy vybrané třídy, informace o parametrech metod atd.
Pohled pod kapotu JVM – čtení informací o parametrech i o lokálních proměnných metod s využitím rozhraní JDI
Pohled pod kapotu JVM – přístup k zásobníkovým rámcům vláken sledované JVM přes rozhraní JDI
Pohled pod kapotu JVM – připojení debuggeru k běžícímu virtuálnímu stroji přes rozhraní JDI (2)
Pohled pod kapotu JVM – připojení debuggeru k běžícímu virtuálnímu stroji přes rozhraní JDI
V dnešní části seriálu o programovacím jazyku Java i o virtuálním stroji Javy se již potřetí budeme zabývat rozhraním JDI (Java Debugger Interface). Řekneme si, jakým způsobem je možné toto rozhraní využít pro připojení debuggeru či jiného podobného nástroje k již běžícímu javovskému virtuálnímu stroji.
Pohled pod kapotu JVM – spuštění a monitorování virtuálního stroje Javy s využitím rozhraní JDI
V dnešní části seriálu o programovacím jazyku Java i o virtuálním stroji Javy se již podruhé budeme zabývat rozhraním JDI (Java Debugger Interface). Ukážeme si, jak lze přes JDI spustit a následně i sledovat JVM a především aplikace spuštěné v tomto virtuálním stroji – stejným způsobem pracují i debuggery.
Pohled pod kapotu JVM - architektura JPDA a rozhraní JDI
V dnešní části seriálu o jazyku Java i o virtuálním stroji Javy si řekneme základní informace o architektuře JPDA (Java Platform Debugger Architecture). Ukážeme si, jaký je vztah již popsaného rozhraní JVM TI k JPDA a taktéž si popíšeme základní vlastnosti javovského rozhraní JDI (Java Debugger Interface).
Pohled pod kapotu JVM - využití rozhraní JNI společně s rozhraním JVM TI
Pohled pod kapotu JVM - práce s parametry a lokálními proměnnými metod přes rozhraní JVM TI
Pohled pod kapotu JVM - předčasný výskok z metody s využitím rozhraní JVM TI
V šedesáté osmé části seriálu o jazyce Java i o vlastnostech JVM si řekneme, jakým způsobem je možné přes rozhraní JVM TI vynutit předčasné ukončení libovolné metody. Většinou se jedná o metody, na kterých je nastavený breakpoint, ovšem ve skutečnosti je možné si vynutit ukončení zcela libovolné metody.
Pohled pod kapotu JVM - nastavení breakpointů s využitím rozhraní JVM TI (dokončení)
Pohled pod kapotu JVM - nastavení breakpointů s využitím rozhraní JVM TI (pokračování)
Pohled pod kapotu JVM - nastavení breakpointů s využitím rozhraní JVM TI
Dnes se začneme zabývat další velmi důležitou funkcí nabízenou rozhraním JVM TI. Jedná se o funkci určenou pro nastavení breakpointů (bodů přerušení). Breakpoint je možné nastavit v libovolné metodě na zvolenou instrukci, takže v JVM TI je práce s breakpointy přesnější než ve většině debuggerů či IDE.
Pohled pod kapotu JVM - sledování čtení i zápisu do vybraného atributu třídy či atributu objektu (dokončení)
V dnešní části seriálu o jazyce Java a JVM dokončíme téma, jemuž jsme se začali věnovat minule. Na příkladu demonstračního JVM TI agenta si ukážeme, jakým způsobem lze zjistit všechny důležité informace o místech, v nichž dochází ke čtení či naopak k zápisu do vybraného atributu třídy či atributu objektu.
Pohled pod kapotu JVM - sledování čtení i zápisu do vybraného atributu třídy či atributu objektu
Pohled pod kapotu JVM - řetězce na haldě (dokončení) a využití JVM TI pro ladění
V dnešním článku o jazyce Java i o vlastnostech JVM nejprve dokončíme téma, kterým jsme se začali zabývat v předchozím díle – ukážeme si, jak jsou využívány (krátké) řetězce ve vybrané reálné javovské aplikaci. Ve druhé polovině článku si řekneme, jak lze využít rozhraní JVM TI pro ladění (debugging).
Velikost objektů v Javě
O Javě se říká, že je paměťově příliš náročná. Z části je to pravda, ale často jde jen o nešetrné programy, které nerespektují jak Java alokuje paměť. V článku si ukážeme jak spočítat velikost objektů a polí. To obvykle stačí k tomu, abychom psali aplikace, které si místo gigabajtů vystačí se stovkami megabajtů.
Pohled pod kapotu JVM - jak efektivně jsou uložena pole a řetězce na haldě?
Dnes si řekneme, jak získat informace o polích (primitivních typů) uložených na haldě a následně se budeme zabývat uložením řetězců. Jedná se o poměrně důležité téma, jelikož způsob práce JVM s řetězci může mnohdy významným způsobem ovlivnit jak výkonnost javovských aplikací, tak i jejich paměťovou náročnost.
Pohled pod kapotu JVM - průchod hodnotami atributů objektů uložených na haldě (heapu)
Pohled pod kapotu JVM - průchod objekty uloženými na haldě (heapu)
V dnešní části seriálu o jazyce Java i o vlastnostech JVM se seznámíme se způsobem práce s objekty uloženými na haldě s využitím rozhraní JVM TI. Agenti připojení k virtuálnímu stroji Javy přes JVM TI totiž poměrně často potřebují nějaké údaje (instance určitých tříd) z haldy přečíst a následně zpracovat.
Pohled pod kapotu JVM - práce se zásobníkem a haldou přes rozhraní JVM TI
V dnešní části seriálu o programovacím jazyce Java i o virtuálním stroji Javy si řekneme, jak je možné přes rozhraní JVM TI získávat informace ze zásobníkových rámců (stack frames) i z haldy (heap). Jedná se o informace, které jsou mnohdy velmi důležité zejména při ladění či při profilování javovských aplikací.
Pohled pod kapotu JVM - sledování činnosti virtuálního stroje Javy přes rozhraní JVM TI (5.část: detekce vzniku všech výjimek)
Dnes navážeme na část předchozí, v níž jsme si popsali, jak lze v JVM TI agentovi detekovat okamžik zachycení výjimky. Dnes si (naopak) ukážeme způsob zjištění okamžiku vzniku výjimek, a to jak výjimek zachycovaných (i prázdným blokem catch), tak i výjimek, které nejsou zachyceny a povedou k ukončení aplikace.
Pohled pod kapotu JVM - sledování činnosti virtuálního stroje Javy přes rozhraní JVM TI (4.část: práce s výjimkami)
Dnes si řekneme, jak je možné přes rozhraní JVM TI detekovat vznik libovolné výjimky a současně i zjistit další podrobnější informace o tom, na jakém místě programu bude výjimka zachycena a o jakou výjimku se vlastně jedná. Při tvorbě nových demonstračních příkladů si popíšeme i mnohé další možnosti JVM TI.
Pohled pod kapotu JVM - sledování činnosti virtuálního stroje Javy přes rozhraní JVM TI (3.část)
Dnes se již potřetí budeme zabývat popisem rozhraní JVM TI, které je možné využít pro tvorbu takzvaných agentů monitorujících, popř. ovlivňujících chování aplikace v JVM. Příklady uvedené v dnešní části budou velmi jednoduché, protože si ukážeme použití funkcí pro čtení a změnu obsahu systémových proměnných.
Pohled pod kapotu JVM - sledování činnosti virtuálního stroje Javy přes rozhraní JVM TI (2.část)
Dnes budeme pokračovat v popisu rozhraní JVM TI, které je možné využít pro tvorbu agentů monitorujících popř. ovlivňujících chování aplikace v JVM. Dnes se budeme zabývat převážně zjišťováním jmen i signatur volaných metod a sledováním správce paměti. Přitom se dozvíme další podrobnosti o rozhraní JVM TI.
Historie vývoje počítačových her (51. část - další vývojové nástroje dostupné pro mikropočítače Amiga)
Dnes budeme pokračovat v popisu vývojových nástrojů dostupných pro mikropočítače Amiga. Minule jsme se zabývali především různými interpretry a překladači různých variant Basicu a céčka. Dnes si popíšeme Amiga E, ASM-One assembler a v neposlední řadě i skriptovací jazyk ARexx a dva esoterické jazyky.
Pohled pod kapotu JVM - sledování činnosti virtuálního stroje Javy přes rozhraní JVM TI
V dnešní části seriálu o programovacím jazyce Java si popíšeme základní vlastnosti rozhraní JVM TI, pomocí něhož je možné sledovat a taktéž řídit činnost tohoto virtuálního stroje. S využitím JVM TI je například možné přečíst obsah celého heapu, detekovat volání metod, detekovat vzniklé výjimky atd.
Programovací jazyk Clojure 21: ClojureScript aneb překlad Clojure do JavaScriptu
Dnes se zmíníme o projektu ClojureScript. Zatímco původní implementace jazyka Clojure interně používá překlad funkcí do bajtkódu JVM, používá ClojureScript překlad do jazyka JavaScript. Je tedy jasné, kde může ClojureScript nalézt své oblasti použití: především na webu, popř. v oblasti mobilních aplikací.
1 nalezený článek

