Главная » soft, programming » Programming » java exp.2 experience

java exp.2 experience

Java’s low-level concurrency primitives (synchronized()(гарантирует- 1 поток выполняет секцию кода)
в (mutex — взаимоисключение)
, volatile(исправялет минуя кэш — все процессы видят)
, wait()
, notify(),
and notifyAll()

java.util.concurrent(.atomic .lock .executor) contains high-level utility types that are commonly used in concurrent programming. Examples include semaphores, barriers, thread pools, and concurrent hashmaps.

создать поток:
1. Создать объект класса Thread, передав ему
implements Runnable
содержит метод run(),
который будет выполняться в новом потоке. Поток закончит выполнение, когда завершится его метод run().
1a. Для укорочения кода можно передать в конструктор класса Thread объект безымянного внутреннего класса, реализующего интерфейс Runnable:

2. Создать потомка (extend)класса Thread и переопределить его метод run():

Дело в том что поток может быть «убит» во время выполнения операции, обрыв которой на полуслове оставит некоторый объект в неправильном состоянии

——
notify Метод notify() пробуждает один случайно выбранный поток из данного набора.
notyfyall —взаимодействие межд потоками
wait поток может вызвать метод wait() любого объекта и таким образом попасть в его набор потоков исполнения

2 semaphore- кому ждать
3 CountDownLatch напоминает стартовый барьер на скачках. Этот класс задерживает все потоки до тех пор, пока не будет выполнено определенное условие
executor — создать новые потоки не надо
4. ScheduledExecutorServices

static — одна для всех, нет экземпляров классов или много классов, не сериализуется в отличие от singleton. Это только вложенные классы. Нет создания через new!Решает задачи с множественным наследованием, нет связи с внешним классом
final — запрет ан изменение,расширения класса, переопределение метода(и нет смысла переопределять)
————————————————————————————

http://habrahabr.ru/post/164487/

pic unrelated
2014-11-10-234519_1004x265_scrot

offtop:
dead horse
http://www.sciencegnus.com/Dead%20Horse%20List.pdf

http://www.cheewa.com/balance_article.shtml
=========================================================================================================
=========================================================================================================
The job of the DispatcherServlet is
to take an incoming URI
and find the right combination of handlers (generally methods on Controller classes) and views (generally JSPs)
that combine to form the page or resource that’s supposed to be found at that location.
====================================================================================

Вопрос
Что такое класс Object?
Какие в нем есть методы?
Ответ
Object это базовый класс для всех остальных объектов в Java. Каждый класс наследуется от Object. Соответственно все классы наследуют методы класса Object.
Методы класса Object:
public final native Class getClass()
public native int hashCode()
public boolean equals(Object obj)
protected native Object clone() throws CloneNotSupportedException
public String toString()
public final native void notify()
public final native void notifyAll()
public final native void wait(long timeout) throws InterruptedException
public final void wait(long timeout, int nanos) throws InterruptedException
public final void wait() throws InterruptedException
protected void finalize() throws Throwable
====================================================================================
================================================================

FORCE GC: Since JDK 7 you can use the JDK command tool ‘jcmd’ such as:

jcmd <pid> GC.run:
http://stackoverflow.com/questions/3523837/how-do-you-force-garbage-collection-from-the-shell

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s