Przejdź do głównej zawartości

Posty

Caused by: java.net.BindException: Address already in use: JVM_Bind

Pierwsze starcie z Eclipse

Ruszam z WebServlet App na Eclipse. Mave Build zwraca informacje ze port jest zajęty pod 8080



Caused by: java.net.BindException: Address already in use: JVM_Bind

Rozwiązanie

C:\>netstat -ano | find "8080" TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       26732
TCPView - dnjajdujemy PID i ubijamy dany proces


Najnowsze posty

Sorting algor

BubbleSort


// BubbleSort System.out.println("BubbleSort");for(int i=0; i<data.length-1; i++){for(int j=0; j<data.length-1-i;j++){if(data[j]> data[j+1]){int temp = data[j]; data[j]= data[j+1];//swap data[j+1]=temp;}}}

mało efektywny z uwagi na podwójny looptylko do małych data setsefektywność O(n^2)

SelectionSort


raczej wolny algorytm z uwagi na podwójny loopmałe data setefektywność O(n^2)

System.out.println("SelectionSort");int i,j,minV,minI,temp=0;for(i=0; i<data.length;i++){ minV = data[i]; minI = i;for(j=i;j<data.length;j++){if(data[j]<minV){ minV=data[j]; minI=j;}}//swap if(minV<data[i]){ temp=data[i]; data[i]=data[minI]; data[minI]=temp;}}
Insertion sort:

przesuwa key do momentu spełnienia warunku z whileraczej wolny algorytm z uwagi na podwójny loopmałe data setefektywność O…

Stream peak() metoda - Java

API Note: This method exists mainly to support debugging, where you want to see the elements as they flow past a certain point in a pipeline:



Stream.of("one", "two", "three", "four") .filter(e -> e.length() > 3) .peek(e -> System.out.println("Filtered value: " + e)) .map(String::toUpperCase) .peek(e -> System.out.println("Mapped value: " + e)) .collect(Collectors.toList());

Metoda pozwala wyprintować aktualny stan streamu.

Rodzaje operacji na strumieniach:

posredniczace tzw intermediate
kończące - tzw terminal
bezstanowe - np filter
stanowe - sort
redukcyjne - np max

WAZNE

Strumienie są wywoływane w sposób leniwy (lazy) tzn dane sa przetwarzane w momencie wywołania metody końcowej tj terminalTransformacje nie modyfikuja wejściowych danych z których strumień został stworzony 

https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html

Runnable and Call able - Java rekrutacja

Runnable - interfejs zawierający metode run() - obiekt implementujący tą metodę tworzy wątek thread

public interface Runnable

The Runnable interface should be implemented by any class whose instances are intended to be executed by a thread. The class must define a method of no arguments called run.

This interface is designed to provide a common protocol for objects that wish to execute code while they are active. For example, Runnable is implemented by class Thread. Being active simply means that a thread has been started and has not yet been stopped.

 In addition, Runnable provides the means for a class to be active while not subclassing Thread. A class that implements Runnable can run without subclassing Thread by instantiating a Thread instance and passing itself in as the target. In most cases, the Runnable interface should be used if you are only planning to override the run() method and no other Thread methods. This is important because classes should not be subclassed unless the…

wait and notify() Methods in Java - rekrutacja

Synchronizacja wątków. Procesor może wykonywać wiele zadań jednoczenśnie - concurrent software. Java wspiera współbieżność jest potrzebna synchronizacja ponieważ różne wątki threads mogą w tym samym czasie usiłować zmodyfikować ten sam zasób jeśli nie są zarządzane poprawinie.


Object.wait() - zawiesza wątek - thread suspensionObject.notify() - wznów wątek - thread wake upObject.notifyAll() - wznowienie wszystkich wątków





StringBuilder vs Stringbuffer

StringBuilder naleyży używać jesli zamierzamy concat wiele stringów, StringBuilder został wprowadzony od Javy5.  StringBuffer to starsza wersja StringBuildera. StringBuffer trobi to samo jednak z punktu widzenia performance jest wolniejszy gdzyż jest thread safe


Thread Safety in Java 
Thread safety in java is the process to make our program safe to use in multithreaded environment, there are different ways through which we can make our program thread safe.

 Synchronization is the easiest and most widely used tool for thread safety in java. Use of Atomic Wrapper classes from java.util.concurrent.atomic package. For example AtomicInteger Use of locks from java.util.concurrent.locks package. Using thread safe collection classes, check this post for usage of ConcurrentHashMap for thread safety. Using volatile keyword with variables to make every thread read the data from memory, not read from thread cache.
Język Java również posiada słowo kluczowe volatile, lecz ma ona nieco inną specyfikacj…

String Pool Java Core

Co to jest String Pool?

W profesjonalnej aplikacji az do 40% pamięci zajmują obiekty typu String. Dlatego w Javie mozliwe jest stworzenie specjalnej przestrzeni w pamieci do trzymania wszystkich unikalnych obiektów String które mogą być używane wieloktornie co zaoszczedza zasobów. Strin Pool a inaczej nazywane Intern Pool to miejsce w JVM któe zbiera stringi.

Obikety nie literalne trafiają do GC.