??? ?? 80? ??? ??? ??? ?? ?? ??? ??? ???? ?? ?? ?????.
1. CountDownLatch: ??? ??? ?? ??? ??
CountDownLatch? ???? ?? ??? ???? ?? ???? ???? ??? ??? ??? ??? ??? ? ????.
import java.util.concurrent.CountDownLatch; public class CountDownLatchExample { public static void main(String[] args) throws InterruptedException { int numberOfWorkers = 3; CountDownLatch latch = new CountDownLatch(numberOfWorkers); for (int i = 0; i < numberOfWorkers; i++) { new Thread(new Worker(latch, "Worker-" + i)).start(); } System.out.println("Waiting for workers to finish..."); latch.await(); // Aguarda todos os trabalhadores chamarem latch.countDown() System.out.println("All workers are done. Proceeding..."); } static class Worker implements Runnable { private final CountDownLatch latch; private final String name; Worker(CountDownLatch latch, String name) { this.latch = latch; this.name = name; } @Override public void run() { System.out.println(name + " is working..."); try { Thread.sleep((long) (Math.random() * 2000)); // Simula trabalho } catch (InterruptedException e) { Thread.currentThread().interrupt(); } System.out.println(name + " finished."); latch.countDown(); // Decrementa o contador } } }
2. ????: ?? ???? ?? ??? ??
????? ??? ???? ?? ???? ???? ?? ??? ??? ?????.
import java.util.concurrent.Semaphore; public class SemaphoreExample { public static void main(String[] args) { int permits = 2; // Número de permiss?es disponíveis Semaphore semaphore = new Semaphore(permits); for (int i = 1; i <= 5; i++) { new Thread(new Task(semaphore, "Task-" + i)).start(); } } static class Task implements Runnable { private final Semaphore semaphore; private final String name; Task(Semaphore semaphore, String name) { this.semaphore = semaphore; this.name = name; } @Override public void run() { try { System.out.println(name + " is waiting for a permit..."); semaphore.acquire(); // Adquire uma permiss?o System.out.println(name + " got a permit and is working..."); Thread.sleep((long) (Math.random() * 2000)); // Simula trabalho System.out.println(name + " is releasing a permit."); } catch (InterruptedException e) { Thread.currentThread().interrupt(); } finally { semaphore.release(); // Libera a permiss?o } } } }
3. CyclicBarrier: ??? ??? ?? ??? ???
CyclicBarrier? ?? ??(??)?? ?? ???? ??????. ?? ???? ?? ??? ??? ? ???? ? ????.
import java.util.concurrent.CyclicBarrier; public class CyclicBarrierExample { public static void main(String[] args) { int numberOfThreads = 3; CyclicBarrier barrier = new CyclicBarrier(numberOfThreads, () -> { System.out.println("All threads have reached the barrier. Proceeding..."); }); for (int i = 0; i < numberOfThreads; i++) { new Thread(new Task(barrier, "Thread-" + i)).start(); } } static class Task implements Runnable { private final CyclicBarrier barrier; private final String name; Task(CyclicBarrier barrier, String name) { this.barrier = barrier; this.name = name; } @Override public void run() { try { System.out.println(name + " is performing some work..."); Thread.sleep((long) (Math.random() * 2000)); // Simula trabalho System.out.println(name + " reached the barrier."); barrier.await(); // Aguarda todas as threads chegarem à barreira System.out.println(name + " passed the barrier."); } catch (Exception e) { Thread.currentThread().interrupt(); } } } }
4. Phaser: ?? ? ?? ??? ???
Phaser? CyclicBarrier? ????? ???? ???? ???? ??? ?? ?????.
import java.util.concurrent.Phaser; public class PhaserExample { public static void main(String[] args) { Phaser phaser = new Phaser(1); // Registra o "partida principal" for (int i = 0; i < 3; i++) { new Thread(new Task(phaser, "Task-" + i)).start(); } // Avan?a para a próxima fase após garantir que todas as threads registradas concluíram System.out.println("Main thread waiting for phase 1 completion..."); phaser.arriveAndAwaitAdvance(); System.out.println("All tasks completed phase 1. Main thread moving to phase 2..."); phaser.arriveAndDeregister(); // Desregistra a thread principal } static class Task implements Runnable { private final Phaser phaser; private final String name; Task(Phaser phaser, String name) { this.phaser = phaser; this.name = name; phaser.register(); // Registra a thread no Phaser } @Override public void run() { System.out.println(name + " is working on phase 1..."); try { Thread.sleep((long) (Math.random() * 2000)); // Simula trabalho } catch (InterruptedException e) { Thread.currentThread().interrupt(); } System.out.println(name + " completed phase 1."); phaser.arriveAndAwaitAdvance(); // Indica chegada na fase atual e aguarda System.out.println(name + " is working on phase 2..."); try { Thread.sleep((long) (Math.random() * 2000)); // Simula trabalho } catch (InterruptedException e) { Thread.currentThread().interrupt(); } System.out.println(name + " completed phase 2."); phaser.arriveAndDeregister(); // Indica chegada e desregistra } } }
??? ?? ? ??? ??? ?? ??? ???? ? ??? ???. ??? ??? ??? ??? ???? ?? ??? ?? ???? ???? ??? ? ????.
? ??? ??? ??? ?? ?? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

??? ??











?? ?? ?? ??? ??? ?? ??? ??, ? ? ?? ? ??? ?????. 1. ??? ?? ???? ?? ???? ???-????, ? ??? ??? ??? ? ????, Hashmap? ???-??? ?? ??? ??? ???? ????. 2. NULL ? ?? ???? HashMap? ??? NULL ?? ?? ? ?? ???? ?? HashTable? NULL ?? ?? ???? ??? NullPointerException? ?????. 3. ????? ??? ????? ?? ??? ?? ?? ? ????? HashTable? ? ??? ?? ?? ??? ????. ?? ConcurrenTashMap? ???? ?? ????.

Java? ?? ??? ??? ?? ??? ??? ?? ??? ??? ?? ??? ?? ?? ??? ???? ??? ?? ???? ?????. 1. ??? ???? ??? ?? ?? ? ???? ?? ??? ???? ?? ?? ??? ? ????. 2. ???? ?? ??? ???? ??? ?? ???? ?? ?? ??? ???????. 3. ?? ???? ?? ?? ?? ? ???? ???? ?? NULL ?? ??? ? ????. 4. ?? ???? ??? ?? ?? ? ??? ?????? ?? ??? ??? ?? ?? ??? ????? ??? ??? ??? ??????? ?? ???? ??????.

JIT ????? ??? ???, ??? ?? ? ???, ?? ?? ? ???? ? ? ?? ?? ??? ? ?? ??? ?? ??? ??????. 1. ??? ???? ?? ?? ??? ??? ?? ?? ???? ??? ?? ?????. 2. ??? ?? ? ??? ?? ?? ? ??? ???? ?? ?? ???; 3. ?? ??? ??? ?? ??? ???? ???? ???? ? ?? ?? ??? ?????. 4. ?? ??? ?? ??? ??? ???? ???? ?? ? ??? ???? ?? ??? ?????.

staticmethodsininterfaceswereIntRectionSelffacesswithinteffaceswithinteffaceswithintintinjava8toallowutilityFunctionswithinterfaceitswithinteffaceswithinterfaceffaces

???? ??? ??? Java?? ??? ?? ???? ??? ?? ? ? ??? ??? ???? ? ?????. ?? ???? ??? ??, ??? ?? ??? ?? ?? ??? ??? ????? ???? ????? ?????. ?? ??? ??? ??, ????? ? ??? ????, ?? ??? ??? ?????? ? ?? ? ?? ?????.

injava, thefinalkeywordpreventsavariable'svalue'svalueffrombeingchangedafterassignment, butitsbehaviordiffersforprimitivesandobjectreences.forprimitivevariables, asinfinalintmax_speed = 100; wherereassoncesanerror.forobjectref

??? ??? ?? ?? ??? ????? ? ???? ????? ???? ?? ???? ?? ???? ?????. ?? ??? ??? ????. ?? ?? ?? ??? ???? ???? ?? ?? ??? ??? ?? ?? ??? ??? ?????. ?? ??? ??? ????. ?? ??? ?? ??? ?? ?? ??? ?? ?? ??? ???? NewClass ()? ??? ?? ???? ????. ?? ??? ?? ??? ???? ?? ??? ?? ? ? ??? ?? ?? ??? ????? ????? ?????. ?? ??, ?? ?????? ?????, ??? ? ?? ????? ??? ?? ?????. ???? ?? ?? ??? ???? ?? ???? ?? ? ??? ???? ?? ??? ?? ?????? ?????. ???? ???? ??? ??, ?? ?? ? ?? ??? ????, ?? ?? ???? ?????.

??? ? ?? ??? ???? : ????? ?? ?. 1. int? ???? ???? ?? ?? ?? ? ??? ???? ?????. 2. ?? ? ???? (int) myDouble ??? ?? ?? ??? ?????. ?? ??? ??? ?? ??? ?? ??, ?? ?? ?? ???? ?? ??? ?? ???? ?? ?????. ???? ? ??? ??? ????. ?? ??? ??? ??? ??? ??? ?? ??? ??? ? ??? ?? ???? ??? ??? ??? ??? ? ??? ?? ??? ?? ??? ?? ?? ? ? ????. ?? ?? ??? ?? ??? ??? ??? ??? ? ??????.
