-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Jacek Radzikowski <j...@s...die.die.die.piranet.org>
Newsgroups: pl.misc.elektronika
Subject: Re: Android
Date: Thu, 10 Feb 2011 02:45:08 -0500
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 69
Message-ID: <ij0524$lia$1@inews.gazeta.pl>
References: <iio2dt$58r$1@opal.futuro.pl> <iipqur$fq$2@news.onet.pl>
<iipufp$bf3$1@opal.futuro.pl> <iisd8q$6td$1@news.onet.pl>
<iish8c$8um$1@opal.futuro.pl>
<o...@4...com>
<s...@b...pl>
<1...@v...googlegroups.com>
<iiuo70$cpv$1@opal.futuro.pl> <iivdpv$o2u$1@inews.gazeta.pl>
<iivhjf$6l0$1@opal.futuro.pl> <iivmnj$f55$1@inews.gazeta.pl>
<ij02dc$crn$1@opal.futuro.pl>
NNTP-Posting-Host: pool-71-241-238-52.washdc.fios.verizon.net
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1297323908 22090 71.241.238.52 (10 Feb 2011 07:45:08 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Thu, 10 Feb 2011 07:45:08 +0000 (UTC)
X-User: piranha32
In-Reply-To: <ij02dc$crn$1@opal.futuro.pl>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.15) Gecko/20101027
Fedora/3.0.10-1.fc12 Thunderbird/3.0.10
Xref: news-archive.icm.edu.pl pl.misc.elektronika:604574
[ ukryj 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
- Głośnik piezoelektryczny
- Mala autonomiczna kamera monitoringu
- czas na emeryturę i EB
- Generowanie sumy kontrolnej z fragmentu pliku bin
- Re: Mala autonomiczna kamera monitoringu
- HDMI
- Re: Mala autonomiczna kamera monitoringu
- Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
- skąd my to znamy
- Re: Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
- antena gsm
Najnowsze wątki
- 2024-06-27 SAMOCHODY ELEKTRYCZNE: EKOLOGICZNA HIPOKRYZJA CZY EKONOMICZNA GŁUPOTA? | GOSPODARCZE ZERO #21
- 2024-06-27 Głośnik piezoelektryczny
- 2024-06-23 Mala autonomiczna kamera monitoringu
- 2024-06-26 czas na emeryturę i EB
- 2024-06-26 Wyjścia video kart graficznych (NVIDIA)
- 2024-06-27 Warszawa => Key Account Manager <=
- 2024-06-27 Bażanowice => Expert Migration Architect (Azure) <=
- 2024-06-27 Ulm => IT Netzwerktechniker (m/w/d) <=
- 2024-06-27 Warszawa => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-06-27 Warszawa => Head of International Freight Forwarding Department <=
- 2024-06-26 Kraków => International freight forwarder <=
- 2024-06-26 Częstochowa => Marketing Specialist (E-Commerce) <=
- 2024-06-26 Warszawa => Fullstack Java Developer <=
- 2024-06-26 Warszawa => React Native Developer <=
- 2024-06-26 Rzeszów => Frontend Developer (React) <=