Theory
Java specific
- Threads
- Java.util.concurrent
- Fork/Join framework
- Syncronization
Common specific
- Lock free programming
Single core processor
SSE (Streaming SIMD Extensions)
Flynn’s taxonomy -> SIMD – single instruction multiple data
sysctl machdep.cpu.features
machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX EST TM2 SSSE3 CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC POPCNT AES PCID XSAVE OSXSAVE TSCTMR AVX1.0 RDRAND F16C
Amdahl’s law
where – part, % of sequentional code and p – processors number
IPC – inter process communication via:
- files
- mmap (memory mapped …
- sockets
TLB – Translation lookaside buffer. HashMap for virtual pages and physical pages.
Every process in OS has own memory area.
OS memory model:
- secure
- paged
Locks
- syncronized
- ReentrantLock @since 1.5
- ReadWriteLock @since 1.5
- ReadWriteLock @since 1.5
- StampedLock @since 1.8