Java Multithreading, Concurrency & Performance Optimization
正在检测能否在线播放…
播放列表
也可以复制磁力链接,粘贴到网盘的“离线下载”里在线观看。用 qBittorrent 5.3 及以上版本下载并保持做种,其他人就能在网页里直接看这个资源。
视频由你的浏览器直接从其他在线用户处获取,本站服务器不参与传输。观看时你的浏览器也会把已下载的部分分享给其他观看者。
- 大小
- 1.0 GB
- 文件数
- 224
- 分类
- 视频
- 热度
- 9
- 最近活跃
- 19 小时前
文件列表
- 8 - Inter-Thread Communication/3 - Objects as Condition Variables - wait(), notify() and notifyAll().mp497.4 MB
- 1 - Introduction/1 - Motivation & Operating Systems fundamentals- Part 1_en.srt10.2 KB
- 1 - Introduction/1 - Motivation & Operating Systems fundamentals- Part 1.mp440.8 MB
- 1 - Introduction/2 - Operating Systems Fundamentals - Part 2_en.srt11.5 KB
- 1 - Introduction/2 - Operating Systems Fundamentals - Part 2.mp449.8 MB
- 1 - Introduction/external-assets-links.txt194 B
- 2 - Threading fundamentals - Thread Creation/1 - Tips about Coding Lectures and Debugging Instructions.html3.8 KB
- 2 - Threading fundamentals - Thread Creation/2 - Threads Creation - Part 1, Thread Capabilities & Debugging_en.srt11.6 KB
- 2 - Threading fundamentals - Thread Creation/2 - Threads Creation - Part 1, Thread Capabilities & Debugging.mp448.9 MB
- 2 - Threading fundamentals - Thread Creation/3 - Threads Creation - Part 2. Thread Inheritance_en.srt13.4 KB
- 2 - Threading fundamentals - Thread Creation/3 - Threads Creation - Part 2. Thread Inheritance.mp426.7 MB
- 2 - Threading fundamentals - Thread Creation/4 - Thread Creation - MultiExecutor Solution.html1.3 KB
- 2 - Threading fundamentals - Thread Creation/external-assets-links.txt89 B
- 2 - Threading fundamentals - Thread Creation/thread-creation-part2-example/LICENSE1.1 KB
- 2 - Threading fundamentals - Thread Creation/thread-creation-part2-example/README.md473 B
- 2 - Threading fundamentals - Thread Creation/thread-creation-part2-example/thread-creation-part2-example.iml425 B
- 2 - Threading fundamentals - Thread Creation/thread-creation-part2-example/idea/description.html97 B
- 2 - Threading fundamentals - Thread Creation/thread-creation-part2-example/idea/encodings.xml191 B
- 2 - Threading fundamentals - Thread Creation/thread-creation-part2-example/idea/misc.xml401 B
- 2 - Threading fundamentals - Thread Creation/thread-creation-part2-example/idea/modules.xml298 B
- 2 - Threading fundamentals - Thread Creation/thread-creation-part2-example/idea/project-template.xml89 B
- 2 - Threading fundamentals - Thread Creation/thread-creation-part2-example/idea/workspace.xml8.1 KB
- 2 - Threading fundamentals - Thread Creation/thread-creation-part2-example/src/Main.java4.0 KB
- 2 - Threading fundamentals - Thread Creation/threads-creation-part1/LICENSE1.1 KB
- 2 - Threading fundamentals - Thread Creation/threads-creation-part1/README.md473 B
- 2 - Threading fundamentals - Thread Creation/threads-creation-part1/threads-creation-part1.iml425 B
- 2 - Threading fundamentals - Thread Creation/threads-creation-part1/idea/description.html97 B
- 2 - Threading fundamentals - Thread Creation/threads-creation-part1/idea/encodings.xml191 B
- 2 - Threading fundamentals - Thread Creation/threads-creation-part1/idea/misc.xml401 B
- 2 - Threading fundamentals - Thread Creation/threads-creation-part1/idea/modules.xml284 B
- 2 - Threading fundamentals - Thread Creation/threads-creation-part1/idea/project-template.xml89 B
- 2 - Threading fundamentals - Thread Creation/threads-creation-part1/idea/uiDesigner.xml8.6 KB
- 2 - Threading fundamentals - Thread Creation/threads-creation-part1/idea/workspace.xml8.9 KB
- 2 - Threading fundamentals - Thread Creation/threads-creation-part1/src/Main1.java2.1 KB
- 2 - Threading fundamentals - Thread Creation/threads-creation-part1/src/Main2.java2.0 KB
- 3 - Threading fundamentals - Thread Coordination/1 - Thread Termination & Daemon Threads_en.srt11.6 KB
- 3 - Threading fundamentals - Thread Coordination/1 - Thread Termination & Daemon Threads.mp438.2 MB
- 3 - Threading fundamentals - Thread Coordination/2 - Joining Threads_en.srt13.6 KB
- 3 - Threading fundamentals - Thread Coordination/2 - Joining Threads.mp469.0 MB
- 3 - Threading fundamentals - Thread Coordination/3 - Multithreaded Calculation - Solution.html2.7 KB
- 3 - Threading fundamentals - Thread Coordination/joining-threads-example/joining-threads-example.iml423 B
- 3 - Threading fundamentals - Thread Coordination/joining-threads-example/LICENSE1.1 KB
- 3 - Threading fundamentals - Thread Coordination/joining-threads-example/README.md474 B
- 3 - Threading fundamentals - Thread Coordination/joining-threads-example/idea/encodings.xml135 B
- 3 - Threading fundamentals - Thread Coordination/joining-threads-example/idea/misc.xml271 B
- 3 - Threading fundamentals - Thread Coordination/joining-threads-example/idea/modules.xml286 B
- 3 - Threading fundamentals - Thread Coordination/joining-threads-example/idea/workspace.xml7.4 KB
- 3 - Threading fundamentals - Thread Coordination/joining-threads-example/src/Main.java3.2 KB
- 3 - Threading fundamentals - Thread Coordination/thread-termination-example/LICENSE1.1 KB
- 3 - Threading fundamentals - Thread Coordination/thread-termination-example/README.md473 B
- 3 - Threading fundamentals - Thread Coordination/thread-termination-example/thread-termination-example.iml423 B
- 3 - Threading fundamentals - Thread Coordination/thread-termination-example/idea/encodings.xml135 B
- 3 - Threading fundamentals - Thread Coordination/thread-termination-example/idea/misc.xml271 B
- 3 - Threading fundamentals - Thread Coordination/thread-termination-example/idea/modules.xml292 B
- 3 - Threading fundamentals - Thread Coordination/thread-termination-example/idea/uiDesigner.xml8.6 KB
- 3 - Threading fundamentals - Thread Coordination/thread-termination-example/idea/workspace.xml10.9 KB
- 3 - Threading fundamentals - Thread Coordination/thread-termination-example/out/production/thread-termination-example/Main1.class600 B
- 3 - Threading fundamentals - Thread Coordination/thread-termination-example/out/production/thread-termination-example/Main1$BlockingTask.class804 B
- 3 - Threading fundamentals - Thread Coordination/thread-termination-example/out/production/thread-termination-example/Main2.class804 B
- 3 - Threading fundamentals - Thread Coordination/thread-termination-example/out/production/thread-termination-example/Main2$LongComputationTask.class1.9 KB
- 3 - Threading fundamentals - Thread Coordination/thread-termination-example/out/production/thread-termination-example/Main3.class945 B
- 3 - Threading fundamentals - Thread Coordination/thread-termination-example/out/production/thread-termination-example/Main3$LongComputationTask.class1.7 KB
- 3 - Threading fundamentals - Thread Coordination/thread-termination-example/src/Main1.java1.7 KB
- 3 - Threading fundamentals - Thread Coordination/thread-termination-example/src/Main2.java2.4 KB
- 3 - Threading fundamentals - Thread Coordination/thread-termination-example/src/Main3.java2.3 KB
- 4 - Performance Optimization/1 - Introduction to Performance & Optimizing for Latency - Part 1_en.srt14.2 KB
- 4 - Performance Optimization/1 - Introduction to Performance & Optimizing for Latency - Part 1.mp421.3 MB
- 4 - Performance Optimization/2 - Optimizing for Latency Part 2 - Image Processing_en.srt23.8 KB
- 4 - Performance Optimization/2 - Optimizing for Latency Part 2 - Image Processing.mp482.4 MB
- 4 - Performance Optimization/3 - Additional Resource - Image Processing, Color Spaces, Extraction & Manipulation.html6.2 KB
- 4 - Performance Optimization/4 - Optimizing for Throughput Part 1_en.srt7.5 KB
- 4 - Performance Optimization/4 - Optimizing for Throughput Part 1.mp415.1 MB
- 4 - Performance Optimization/5 - Optimizing for Throughput Part 2 - HTTP server + Jmeter_en.srt18.9 KB
- 4 - Performance Optimization/5 - Optimizing for Throughput Part 2 - HTTP server + Jmeter.mp484.5 MB
- 4 - Performance Optimization/optimizing-for-latency-example/LICENSE1.1 KB
- 4 - Performance Optimization/optimizing-for-latency-example/optimizing-for-latency-example.iml503 B
- 4 - Performance Optimization/optimizing-for-latency-example/README.md474 B
- 4 - Performance Optimization/optimizing-for-latency-example/idea/encodings.xml135 B
- 4 - Performance Optimization/optimizing-for-latency-example/idea/misc.xml271 B
- 4 - Performance Optimization/optimizing-for-latency-example/idea/modules.xml300 B
- 4 - Performance Optimization/optimizing-for-latency-example/idea/workspace.xml7.5 KB
- 4 - Performance Optimization/optimizing-for-latency-example/resources/many-flowers.jpg2.9 MB
- 4 - Performance Optimization/optimizing-for-latency-example/src/Main.java5.5 KB
- 4 - Performance Optimization/optimizing-for-throughput-example/LICENSE1.1 KB
- 4 - Performance Optimization/optimizing-for-throughput-example/optimizing-for-throughput-example.iml503 B
- 4 - Performance Optimization/optimizing-for-throughput-example/README.md474 B
- 4 - Performance Optimization/optimizing-for-throughput-example/idea/encodings.xml135 B
- 4 - Performance Optimization/optimizing-for-throughput-example/idea/misc.xml271 B
- 4 - Performance Optimization/optimizing-for-throughput-example/idea/modules.xml306 B
- 4 - Performance Optimization/optimizing-for-throughput-example/idea/workspace.xml8.8 KB
- 4 - Performance Optimization/optimizing-for-throughput-example/resources/performance_test_plan.jmx7.5 KB
- 4 - Performance Optimization/optimizing-for-throughput-example/resources/search_words.csv18.0 KB
- 4 - Performance Optimization/optimizing-for-throughput-example/resources/war_and_peace.txt3.2 MB
- 4 - Performance Optimization/optimizing-for-throughput-example/src/ThroughputHttpServer.java3.6 KB
- 5 - Data Sharing between Threads/1 - Stack & Heap Memory Regions_en.srt11.8 KB
- 5 - Data Sharing between Threads/1 - Stack & Heap Memory Regions.mp419.4 MB
- 5 - Data Sharing between Threads/2 - Resource Sharing & Introduction to Critical Sections_en.srt17.5 KB
- 5 - Data Sharing between Threads/2 - Resource Sharing & Introduction to Critical Sections.mp430.6 MB
- 5 - Data Sharing between Threads/introduction-to-critical-sections-example/introduction-to-critical-sections-example.iml423 B
- 5 - Data Sharing between Threads/introduction-to-critical-sections-example/LICENSE1.1 KB
- 5 - Data Sharing between Threads/introduction-to-critical-sections-example/README.md474 B
- 5 - Data Sharing between Threads/introduction-to-critical-sections-example/idea/encodings.xml135 B
- 5 - Data Sharing between Threads/introduction-to-critical-sections-example/idea/misc.xml271 B
- 5 - Data Sharing between Threads/introduction-to-critical-sections-example/idea/modules.xml322 B
- 5 - Data Sharing between Threads/introduction-to-critical-sections-example/idea/workspace.xml6.5 KB
- 5 - Data Sharing between Threads/introduction-to-critical-sections-example/src/Main.java2.9 KB
- 6 - The Concurrency Challenges & Solutions/1 - Critical Section & Synchronization_en.srt11.7 KB
- 6 - The Concurrency Challenges & Solutions/1 - Critical Section & Synchronization.mp419.8 MB
- 6 - The Concurrency Challenges & Solutions/2 - Atomic Operations, Volatile & Metrics practical example_en.srt16.9 KB
- 6 - The Concurrency Challenges & Solutions/2 - Atomic Operations, Volatile & Metrics practical example.mp438.4 MB
- 6 - The Concurrency Challenges & Solutions/3 - Min - Max Metrics - Solution.html2.1 KB
- 6 - The Concurrency Challenges & Solutions/4 - Race Conditions & Data Races_en.srt14.2 KB
- 6 - The Concurrency Challenges & Solutions/4 - Race Conditions & Data Races.mp428.3 MB
- 6 - The Concurrency Challenges & Solutions/5 - Locking Strategies & Deadlocks_en.srt17.0 KB
- 6 - The Concurrency Challenges & Solutions/5 - Locking Strategies & Deadlocks.mp454.5 MB
- 6 - The Concurrency Challenges & Solutions/external-assets-links.txt399 B
- 6 - The Concurrency Challenges & Solutions/application-metrics-example/application-metrics-example.iml423 B
- 6 - The Concurrency Challenges & Solutions/application-metrics-example/LICENSE1.1 KB
- 6 - The Concurrency Challenges & Solutions/application-metrics-example/README.md474 B
- 6 - The Concurrency Challenges & Solutions/application-metrics-example/idea/encodings.xml135 B
- 6 - The Concurrency Challenges & Solutions/application-metrics-example/idea/misc.xml271 B
- 6 - The Concurrency Challenges & Solutions/application-metrics-example/idea/modules.xml294 B
- 6 - The Concurrency Challenges & Solutions/application-metrics-example/idea/workspace.xml6.2 KB
- 6 - The Concurrency Challenges & Solutions/application-metrics-example/src/Main.java3.3 KB
- 6 - The Concurrency Challenges & Solutions/critical-sections-and-synchronization-example/critical-sections-and-synchronization-example.iml423 B
- 6 - The Concurrency Challenges & Solutions/critical-sections-and-synchronization-example/LICENSE1.1 KB
- 6 - The Concurrency Challenges & Solutions/critical-sections-and-synchronization-example/README.md474 B
- 6 - The Concurrency Challenges & Solutions/critical-sections-and-synchronization-example/idea/encodings.xml135 B
- 6 - The Concurrency Challenges & Solutions/critical-sections-and-synchronization-example/idea/misc.xml271 B
- 6 - The Concurrency Challenges & Solutions/critical-sections-and-synchronization-example/idea/modules.xml330 B
- 6 - The Concurrency Challenges & Solutions/critical-sections-and-synchronization-example/idea/workspace.xml6.2 KB
- 6 - The Concurrency Challenges & Solutions/critical-sections-and-synchronization-example/src/Main.java3.1 KB
- 6 - The Concurrency Challenges & Solutions/data-races-example/data-races.iml423 B
- 6 - The Concurrency Challenges & Solutions/data-races-example/LICENSE1.1 KB
- 6 - The Concurrency Challenges & Solutions/data-races-example/README.md474 B
- 6 - The Concurrency Challenges & Solutions/data-races-example/idea/encodings.xml135 B
- 6 - The Concurrency Challenges & Solutions/data-races-example/idea/misc.xml271 B
- 6 - The Concurrency Challenges & Solutions/data-races-example/idea/modules.xml260 B
- 6 - The Concurrency Challenges & Solutions/data-races-example/idea/workspace.xml6.4 KB
- 6 - The Concurrency Challenges & Solutions/data-races-example/src/Main.java2.1 KB
- 6 - The Concurrency Challenges & Solutions/deadlocks-example/deadlocks-example.iml423 B
- 6 - The Concurrency Challenges & Solutions/deadlocks-example/LICENSE1.1 KB
- 6 - The Concurrency Challenges & Solutions/deadlocks-example/README.md474 B
- 6 - The Concurrency Challenges & Solutions/deadlocks-example/idea/encodings.xml135 B
- 6 - The Concurrency Challenges & Solutions/deadlocks-example/idea/misc.xml271 B
- 6 - The Concurrency Challenges & Solutions/deadlocks-example/idea/modules.xml274 B
- 6 - The Concurrency Challenges & Solutions/deadlocks-example/idea/workspace.xml6.2 KB
- 6 - The Concurrency Challenges & Solutions/deadlocks-example/src/Main.java3.8 KB
- 7 - Advanced Locking/1 - ReentrantLock Part 1 - tryLock and interruptible Lock_en.srt3.8 KB
- 7 - Advanced Locking/1 - ReentrantLock Part 1 - tryLock and interruptible Lock_en.vtt11.9 KB
- 7 - Advanced Locking/1 - ReentrantLock Part 1 - tryLock and interruptible Lock.mp420.8 MB
- 7 - Advanced Locking/2 - ReentrantLock Part 2 - User Interface Application example_en.srt12.4 KB
- 7 - Advanced Locking/2 - ReentrantLock Part 2 - User Interface Application example.mp435.1 MB
- 7 - Advanced Locking/3 - Reentrant Read Write Lock & Database Implementation_en.srt15.6 KB
- 7 - Advanced Locking/3 - Reentrant Read Write Lock & Database Implementation.mp436.5 MB
- 7 - Advanced Locking/4 - Product Reviews Service - Solution.html5.2 KB
- 7 - Advanced Locking/read-write-lock-example/LICENSE1.1 KB
- 7 - Advanced Locking/read-write-lock-example/read-write-lock-example.iml423 B
- 7 - Advanced Locking/read-write-lock-example/README.md474 B
- 7 - Advanced Locking/read-write-lock-example/idea/encodings.xml135 B
- 7 - Advanced Locking/read-write-lock-example/idea/misc.xml271 B
- 7 - Advanced Locking/read-write-lock-example/idea/modules.xml286 B
- 7 - Advanced Locking/read-write-lock-example/idea/workspace.xml7.5 KB
- 7 - Advanced Locking/read-write-lock-example/out/production/read-write-lock-example/Main.class3.3 KB
- 7 - Advanced Locking/read-write-lock-example/out/production/read-write-lock-example/Main$InventoryDatabase.class3.2 KB
- 7 - Advanced Locking/read-write-lock-example/src/Main.java5.5 KB
- 7 - Advanced Locking/reentrantlock-example/LICENSE1.1 KB
- 7 - Advanced Locking/reentrantlock-example/pom.xml1.7 KB
- 7 - Advanced Locking/reentrantlock-example/README.md658 B
- 7 - Advanced Locking/reentrantlock-example/reentrantlock-example.iml80 B
- 7 - Advanced Locking/reentrantlock-example/idea/compiler.xml542 B
- 7 - Advanced Locking/reentrantlock-example/idea/encodings.xml135 B
- 7 - Advanced Locking/reentrantlock-example/idea/misc.xml511 B
- 7 - Advanced Locking/reentrantlock-example/idea/workspace.xml11.1 KB
- 7 - Advanced Locking/reentrantlock-example/src/main/java/Main.java9.2 KB
- 7 - Advanced Locking/reentrantlock-example/target/classes/Main.class7.6 KB
- 7 - Advanced Locking/reentrantlock-example/target/classes/Main$1.class1.9 KB
- 7 - Advanced Locking/reentrantlock-example/target/classes/Main$PricesContainer.class1.6 KB
- 7 - Advanced Locking/reentrantlock-example/target/classes/Main$PriceUpdater.class1.3 KB
- 7 - Advanced Locking/reentrantlock-example/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst75 B
- 7 - Advanced Locking/reentrantlock-example/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst98 B
- 8 - Inter-Thread Communication/1 - Semaphore - Scalable Producer Consumer implementation_en.srt11.8 KB
- 8 - Inter-Thread Communication/1 - Semaphore - Scalable Producer Consumer implementation.mp425.8 MB
- 8 - Inter-Thread Communication/2 - Condition Variables - All purpose, Inter-Thread Communication_en.srt11.4 KB
- 8 - Inter-Thread Communication/2 - Condition Variables - All purpose, Inter-Thread Communication.mp423.9 MB
- 8 - Inter-Thread Communication/3 - Objects as Condition Variables - wait(), notify() and notifyAll()_en.srt22.6 KB
- Bonus Resources.txt357 B
- 8 - Inter-Thread Communication/4 - Simple CountDownLatch - Solution.html5.8 KB
- 8 - Inter-Thread Communication/wait-notify-example/LICENSE1.1 KB
- 8 - Inter-Thread Communication/wait-notify-example/README.md474 B
- 8 - Inter-Thread Communication/wait-notify-example/wait-notify-example.iml423 B
- 8 - Inter-Thread Communication/wait-notify-example/idea/encodings.xml135 B
- 8 - Inter-Thread Communication/wait-notify-example/idea/misc.xml271 B
- 8 - Inter-Thread Communication/wait-notify-example/idea/modules.xml278 B
- 8 - Inter-Thread Communication/wait-notify-example/idea/workspace.xml7.2 KB
- 8 - Inter-Thread Communication/wait-notify-example/src/MainApplication.java7.0 KB
- 8 - Inter-Thread Communication/wait-notify-example/src/MatricesGenerator.java3.0 KB
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/1 - Introduction to Non-blocking, Lock Free operations_en.srt9.4 KB
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/1 - Introduction to Non-blocking, Lock Free operations.mp419.4 MB
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/2 - Atomic Integers & Lock Free E-Commerce_en.srt7.1 KB
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/2 - Atomic Integers & Lock Free E-Commerce.mp412.4 MB
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/3 - Atomic References, Compare And Set, Lock-Free High Performance Data Structure_en.srt19.1 KB
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/3 - Atomic References, Compare And Set, Lock-Free High Performance Data Structure.mp454.3 MB
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/external-assets-links.txt119 B
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/atomic-integer-example/atomic-integer-example.iml423 B
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/atomic-integer-example/LICENSE1.1 KB
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/atomic-integer-example/README.md474 B
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/atomic-integer-example/idea/encodings.xml135 B
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/atomic-integer-example/idea/misc.xml271 B
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/atomic-integer-example/idea/modules.xml284 B
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/atomic-integer-example/idea/workspace.xml6.2 KB
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/atomic-integer-example/src/Main.java3.0 KB
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/atomic-reference-example/atomic-reference-example.iml423 B
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/atomic-reference-example/LICENSE1.1 KB
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/atomic-reference-example/README.md474 B
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/atomic-reference-example/idea/encodings.xml135 B
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/atomic-reference-example/idea/misc.xml271 B
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/atomic-reference-example/idea/modules.xml288 B
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/atomic-reference-example/idea/workspace.xml6.4 KB
- 9 - Lock-Free Algorithms, Data-Structures & Techniques/atomic-reference-example/src/Main.java4.9 KB
- 10 - Beyond Multithreading - Final Lecture/1 - Distributed Systems, Big Data & Performance_en.srt8.1 KB
- 10 - Beyond Multithreading - Final Lecture/1 - Distributed Systems, Big Data & Performance.mp437.9 MB
- 10 - Beyond Multithreading - Final Lecture/2 - Bonus Section.html5.8 KB
- 10 - Beyond Multithreading - Final Lecture/external-assets-links.txt344 B