Android 1.5 NDK

Wyszukiwarkowy gigant Google wydał wersję 1.5 pakietu Android NDK (Native Development Kit). Android jest zestawem narzędzi podobny do pakietu Android Software Development Kit (SDK). Za jego pomocą programiści Androida mogą pisać elementy aplikacji w językach kodowania takich jak C czy C++, które odwołują się bezpośrednio do sprzętu. Kod taki będzie mało przenośny na inne platformy sprzętowe, dlatego też deweloperzy Google’a zalecają rozważenie, czy szybsze działanie kodu okupione brakiem przenośności ma w danym przypadku sens. NDK działa jednak tylko w połączeniu z SDK i został upubliczniony w wersjach dla Windows, Mac OS-a X i Linuksa (dla wariantów 32- oraz 64-bitowy).

NDK posiada narzędzia i pliki Build do tworzenia dostosowanych do sprzętu bibliotek kodu ze źródeł w C i C++. Tak stworzone biblioteki można później osadzać w pakietach aplikacji, które mają być zainstalowane na systemie Android. Pakiet jest zorientowany na architekturę ARMv5TE. Należy podkreślić, że NDK nie nadaje się do zastosowania we wszystkich scenariuszach działania. Warto dodać, że standardowym środowiskiem czasu rzeczywistego pozostaje bazujący na Javie silnik Dalvik Virtual Machine.

Java 6 update 14

Pojawiło się update do kolejnej wersji platformy Java 6.

Do update 14 dodano uprawnienia.

  • Alokacja obiektów na stosie za pomocą EscapeAnalysis (EA) – do niedawna EA pozwalała tylko na usuwanie niepotrzebnych blokad, co przekładało się na większą wydajność aplikacji korzystających intensywnie z synchronizacji wątków. Obecnie dołożono do tego możliwość alokacji na stosie obiektów, do których referencje nie są przekazywane poza lokalny kontekst wywołania metody. Dzięki temu obiekty te mogą być usunięte natychmiast podczas zwijania stosu przy wychodzeniu z metody, co odciąża odśmiecacz, zmniejsza zużycie pamięci i poprawia efektywność wykorzystania cache procesora. Wszystko nie wymaga jakiejkolwiek ingerencji w kod źródłowy – wystarczy dodać przełącznik -XX:+DoEscapeAnalysis do argumentów wywołania JVM.
  • Pakowanie referencji (wskaźników) na maszynach 64-bitowych dla aplikacji, które nie potrzebują większej przestrzeni adresowej niż 64 GB. Wskaźniki są reprezentowane wewnętrznie w postaci 32-bitowej, co może zaoszczędzić znaczne ilości pamięci i poprawić efektywność wykorzystania cache procesora.
  • Nowy, eksperymentalny odśmiecacz G1 przeznaczony do aplikacji interaktywnych, mający na celu zminimalizowanie przestojów spowodowanych odśmiecaniem przy równoczesnym zachowaniu dużej przepustowości i niewielkiego narzutu pamięciowego. Istotą działania jest podział dostępnej pamięci na wiele małych fragmentów, które mogą być “sprzątane” niezależnie, przy czym fragmenty zawierające najwięcej “martwych” obiektów są przetwarzane w pierwszej kolejności.

Szczegółowa lista wprowadzonych zmian znajduje się pod adresem http://java.sun.com/javase/6/webnotes/6u14.html
Java 6 update 14 można pobrać pod adresem http://java.sun.com/javase/downloads/?intcmp=1281

Google App Engine trzyma z Salesforce.com

Google wraz z Salesforce.com udostępniły usługi Force.com wszystkim deweloperom wykorzystującym platformę Google App Engine.

Programiści otrzymają do dyspozycji „zestaw narzędzi i usług do budowania nowych rodzajów aplikacji webowych i biznesowych, całkowicie w obrębie chmury”. Google i Salesforce.com dostarczą moce obliczeniowe i inne zasoby „w czasie rzeczywistym”.

Istnieje również możliwość wykorzystania korporacyjnych danych przechowywanych przez Force.com. Wszystko dzięki zestawowi bibliotek Javy, które współpracują z interfejsami programowania aplikacji Salesforce’a. Jak do tej pory dostęp do elementów Salesforce.com można było mieć tylko poprzez własnościowego, zamkniętego języka APEX. Programiści mają również dostęp do stworzonego w SOAP interfejsu sieciowego wraz z dokumentacją.

Poprzez współpracę Google Salesforce uzyskał dostęp do pozwalającej na hosting aplikacji Javy platformy, która uzupełni pakiet usług.

Java 2 Runtime Environment (JRE) 5 Update 19

Sun Microsystems, Inc. wydał Java 2 Runtime Environment (JRE) 5 Update 19. Java jest  środowiskiem-interpreterem nazywany również wirtualną maszyną Java (Java Virtual Machine). Pozwala na uruchamianie na komputerze i przeglądarce internetowej tzw. apletów (programów) napisanych w języku Java. W praktyce jest niezbędnym elementem do uruchamiania programów napisanych w języku Java (np. OpenOffice / StarOffice) oraz np. korzystania z internetowych chatów.