Aktywne Wpisy
wilkCaly +65
No cześć Mirki, mam sąsiadów Azjatów i zaraz mnie coś strzeli. Zwracałem im już uwagę że motorycznie zaśmiecają korytarz ale jak krew w piach. Jak dzwoni do nich ochrona to nie otwierają. Cała klatka jednak jak na załączonym obrazku. Stoją rowery, buty, wózki, zabawki.... Myślałem nawet żeby im nasrać do tych butów ale pomyślałem, że zapytam was o jakieś rady... Co z tym zrobić?
#deweloperka #wynajem #mieszkanie
#deweloperka #wynajem #mieszkanie
źródło: 1000010911
Pobierz
kimunyest95 +22





Jakiś przykład?
no chyba, że final double x = 2.0; przy odczycie może dawać różne wyniki? no chyba nie...
A inicjacja obiektów, które mają atrybuty np. int te nie jest atomowe se, jeśli atrybuty nie sá final?
https://docs.oracle.com/javase/tutorial/essential/concurrency/atomic.html
#java #programowanie
tak jak napisałem se:
i jakby to był int to sytuacja by wyglądała tak samo se
Jeśli chodzi o pola finalne, to po ich zainicjalizowaniu wszystko będzie ok. Czytanie pól finalnych przed zainicjalizowaniem to kolejny przepis na burdel.
Obczaj klasę AtomicLong i pokrewne.
class MyClass {
private long
@aczutuse: Właśnie między innymi dlatego trzeba używać synchronized albo volatile. To jest jeden z przypadków kiedy niepoprawnie napisany program może się skaszanić w spektakularny sposób. Zwróć uwagę że nie dość że możesz otrzymać nieaktualną wartość to co więcej możesz uzyskać
@aczutuse: Jak napisałem wyżej, w przypadku inta dostaniesz nieaktualną wartość, w przypadku longa możesz dostać część bitów ze starszej wartości i część z nowszej - czyli coś co nigdy nie zostało zapisane.
@Waffenek: dokladnie
Wątek 1 zapisuje x=0x1111111111111111
Wątek 2
@vytah: A jak to się robi?( ͡° ͜ʖ ͡°)
– wywołania metod w konstruktorze, zwłaszcza jeśli są to metody nieprywatne niefinalne, bo nie kontrolujesz ich nadpisań
– dla pól statycznych, cykliczne zależności między klasami
Weź np. taki kod: class A { final int x; A(){ foo(); x = 1; } void foo()