-
Data: 2011-02-10 07:45:08
Temat: Re: Android
Od: Jacek Radzikowski <j...@s...die.die.die.piranet.org> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 02/10/2011 01:59 AM, Lelek@ wrote:
>
> "Jacek Radzikowski" <j...@s...die.die.die.piranet.org> wrote in
> message news:iivmnj$f55$1@inews.gazeta.pl...
>>> To nie jest aż tak bez sensu, bo casting signed byte to sign integer
>>> kopiuje 8-my bit do 31-go a właściwie rozszerza np (int)0x80 -> FFFFFF80
>>> bo signed a nie 0x80 :-)
>> A fakt. Zasugerowałem się typem buf i przyjąłem że bfx też jest typu
>> byte :)
>
> Ta Java to jeden wielki shit :-) Jak się operuje na strumieniach danych
Shit bo nie umiesz się nią posłużyć. Napisałem w javie dobrych
kilkadziesiąt tysięcy linii i uważam że jest to całkiem przyjemny język.
Inne języki też znam, więc mam porównanie.
> binarnych to w kółko trzeba konwerować to co zwracają funkcje w byte
> signed do signed int ale wymaskowywać je. Idiotyzm.
Nie bardzo wiem o co chodzi, ale mam wrażenie że usiłujesz zrobić coś na
około.
> Nie wiem, na razie działa z tym testem czy len jest 0 czy nie, twoich
> rad nie umiem zastosować. Nie rozumiem jak mam deklarować ten sam bufor
> wiele razy :-) Przeglądam od 10 dni już to co ludzie piszący w javie
Jak powiesz czego nie rozumiesz, to może będę mógł Ci pomóc. Na razie
widzę że walczysz z samą ideą obiektów.
Bufora nie deklarujesz kilka razy. Samą zmienna buf deklarujesz raz, w
takim miejscu żeby była widoczna ze wszystkich miejsc w których musisz
się do niej odwoływać (ale bez przesady. Najprawdopodobniej wystarczy ze
zadeklarujesz ją lokalnie w funkcji).
Buf w twoim przypadku przechowuje nie sam obiekt, a referencję do niego
(referencja działa troszkę podobnie jak wskaźniki w C, choć to nie do
końca jest to samo). Funkcja FromEditText.getBytes() sama alokuje pamięć
na tablicę zawierającą wynik i zwraca Ci wskazanie na nią. Ta referencja
jest wpisywane do zmiennej buf. Jeśli przed wywołaniem funkcji było w
niej coś innego, poprzednia wartość jest tracona, a w jej miejsce jest
wpisywana wartość zwracana przez przez getBytes. Nie następuje tam żadne
przepisywanie tablic (dlatego nie trzeba wcześniej alokować pamięci).
Wszelkie operacje jakie wykonasz na zmiennej buf po wpisaniu do niej
wartości zwróconej przez getBytes będą wykonywane nie na twojej tablicy,
a na tablicy zaalokowanej wewnątrz funkcji.
Sprawdzanie warunku buf.length jest potrzebne po to, żeby nie tworzyć
tablicy o zerowej długości (przypisanej do bfx).
> wyprawiają. Dokładnie robia to jakby zaczynali progframować w bascomie i
> nie rozumieją co czynią :-)
Może to ci, którzy przesiadają się na jave z bascoma :) Ja też widziałem
dużo śmieci, ale też bardzo dużo kodu bardzo dobrej jakości.
> Z tego co się dowiedziałem to Java powstała bo ludzie nie rozumieli
> wskaźników i zapominali o zwalnianiu zaalokowanych zasobów :-)
Nie tyle zapominali, co woleli się skupić na rozwiązaniu problemu
zamiast babrać się z gospodarką pamięcią. Operując na wskaźnikach bardzo
łatwo z prostego programu stworzyć koszmarek - java stara się do tego
nie dopuścić (a przynajmniej nie przez jeżdżenie po pamięci). Mając do
dyspozycji dużo wolnego ramu, nie trzeba się martwić żeby jak
najszybciej zwolnić przydzielony a nieużywany obszar. Ręczna gospodarka
przydzielaną pamięcią w bardziej skomplikowanych projektach może
przypominać chodzenie po polu minowym. Nic dziwnego że nawet najlepszym
i najbardziej uważnym programistom zdarza się popełnić głupie błędy,
typu nie zwalnianie czegoś czy wielokrotne zwalnianie.
Mechanizm odzyskiwania nieużywaniej pamięci jest implementowany w wielu
językach wysokiego poziomu. Java jest tylko jednym z nich.
pzdr.
j.
Następne wpisy z tego wątku
- 10.02.11 13:41 Pszemol
- 11.02.11 13:01 Shaman
- 11.02.11 13:06 J.F.
- 11.02.11 13:27 Shaman
- 11.02.11 13:39 J.F.
- 11.02.11 14:04 Shaman
- 11.02.11 14:22 MoonWolf
- 11.02.11 14:32 J.F.
- 11.02.11 14:33 Michoo
- 11.02.11 18:48 Lelek@
- 11.02.11 19:10 Jacek Radzikowski
- 11.02.11 19:10 J.F.
- 11.02.11 22:52 Lelek@
- 11.02.11 23:31 Jacek Radzikowski
- 11.02.11 23:47 Lelek@
Najnowsze wątki z tej grupy
- Zawory termostatyczne
- Schemat automatyki
- Teoretyczne zagadnienie - ogrzewanie budynku
- Zagadka radiowa
- Prostownik
- Nowy akumulator Donut Lab
- Pilot do zamka/bramy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
- Skąd diody LED 1,5V?
- Apollo Comm
- PICkit3 mnie pokonał
- LEDy na choinkę zdechły
- Wtopa LED
- Miało być zniesienie abonamentu RTV, a jest podwyżka!!!
Najnowsze wątki
- 2026-01-15 Zawory termostatyczne
- 2026-01-15 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-15 Proces KARNY Braunowi (KPP) POLITYCZNIE służy? [+0.7% miesięcznie 2 razy]
- 2026-01-15 Białystok => Frontend Developer React <=
- 2026-01-15 Konto na zdalnym NAS - jak zabezpieczyc pliki?
- 2026-01-15 Myślenice => Junior SAP CO Consultant <=
- 2026-01-15 Wyjaśnienie patologii opisanej w art. pt. "Przeciw bezkarności biznesu"
- 2026-01-15 Wyjaśnienie patologii opisanej w art. pt. "Przeciw bezkarności biznesu"
- 2026-01-15 "deficyt budżetowy [na 2026r. -przyp. JMJ] jest prognozowany na poziomie 271,7"Gzł, czyli 74.52G$
- 2026-01-15 Miliardy z podatków znów popłynęły do TVP
- 2026-01-14 #Motodziennik test - Jaecoo E5 - słabe auto, słaby elektryk. A ZIMĄ NAWET BARDZO
- 2026-01-14 Piaseczno cd
- 2026-01-14 Robert do ciebie
- 2026-01-14 Prątki to zawalidrogi
- 2026-01-14 Naruszenie immunitetu ZP-RE Romanowskiego bezkarne (umorzenie śledztwa żurkotury)




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]