SEARCH KEYWORD -- Case sensitivity
Java Concurrency Basics: CountDownLatch and CyclicBarrier
CountDownLatch CountDownLatch can be used in synchronizing behavior among threads, it makes one or more threads wait for some actions in other threads to be completed. It has a property count which defines how many countDown() need to be called before other threads which called await() to be waked up. When a thread calls CountDownLatch.await(), the thread will be blocked until the value of count becomes 0. The initial value of count can be specified when creating the CountDownLatch instanc...
JAVA,JAVA CONCURRENCY,COUNTDOWNLATCH,CYCLICBARRIER 2018-03-25 07:02:40
2D Indoor CQB Robot Simulation
Program Design Purpose: The integration of robots in Close Quarters Battle (CQB) represents a significant advancement in modern military and law enforcement tactics. These robots, designed to navigate tight spaces, gather real-time intelligence, and engage threats, are invaluable assets in high-stakes scenarios. Our goal is to develop a 2D tactical board simulation system, similar to a computer game, that can load building floor blueprints, display CQB squad (robot) positions, enemy locations, ...
MySQL Index Merge Optimization Practices
In production environment databases, it is often seen that some SQL where conditions include: equal condition on a normal index + primary key range query + order by limit Although using a normal index would be more efficient, the system chooses to use index merge instead in some cases. This article explores such index merge situations. Index Merge Official Introduction The Index Merge access method retrieves rows with multiple range scans and merges their results into one. Generall...
INDEX MERGE,MYSQL,PRIMARY INDEX,SECONDARY INDEX 2024-09-10 04:52:26
SkipList in Go
Algorithmic thinking is the must-have in the coding world, so I have been keeping the routine of algorithm practice every week, consolidating my knowledge of data structures on one hand, and improving my coding skills as well. A difficult one happened to be stuck in my mind- Implement SkipList with Go, which took me quite a weekend. Below is the front-line report of how I finally got the hang of it. First, from its concept. Wiki has explained it well. a skip list is a probab...
Encrypting and decrypting PGP file or text on MacOS
When doing data exchange among different parties, there is a frequent need of encrypting data or file and sending it to partner and asking partner to use corresponding key to decrypt the data or file. A famous way of exchanging data is using asymmetric keys where no secret key needs to be shared. One party can just use the public key shared by partner to encrypt the data and the other party uses the private key to decrypt the data. Today, we will introduce how to use PGP to encrypt and decrypt d...
TUTORIAL,ENCRYPTION,DECRYPTION,PGP,GPG 2020-10-29 05:06:09
The difference between System.load and System.loadLibrary in Java
When writing code using native library in Java, normally the first step is loading some native library. static{   System.load("D:" + File.separator + "Hello.dll"); } JDK provides two ways to load libraries: System.load(String filename) System.loadLibrary(String libname) This post will try to explain the differences of these two ways. According to Java Doc on System.load(), it has below description. Loads the native library specified by the filename argument. The filename a...
NATIVE,JNI,JAVA,SYSTEM.LOAD,SYSTEM.LOADLIBRARY 2019-02-05 05:49:28
Practice of using spinlock instead of mutex
Spinlock and mutex are two important concepts in multithreading programs. They are used to lock some shared resource to prevent concurrent access which may affect data consistency. But they do have differences, what are the differences? when should we use spinlock instead of mutex? The Theory In theory, when a thread tries to lock a mutex and it does not succeed, because the mutex is already locked, it will go to sleep, immediately allowing another thread to run. It will continue to sleep until...
Spinlock,Mutex,Concurrency 2014-04-19 21:54:12
How does Class box get 1 million users with only 4 people?
"Class box" is an app which helps students create course plan developed by 4 Chinese. This app was created in 2012. They get over 1 million users with only 4 people. How do they make this? The co-founder of "Class box" Tianfang Li explains this on Zhihu. Here is what he said: About millions of users, in the mobile Internet era what we need to do is just find a good entry point, rapid iteration and with a little luck, a small team or even an independent developer can make millions user level prod...
class box,team size,sillicon valley 2013-04-03 08:08:21
What is Hystrix and How does Hystrix work
Background In distributed systems, there is one effect where the unavailability of one service or some services will lead to the service unavailability of the whole system, this is called service avalanche effect. A common way to prevent service avalanche is do manual service fallback, in fact Hystrix also provides another option beside this. Definition of Service Avalanche Effect Service avalanche effect is a kind of effect where the service provider fails to provide service which causes t...
AVALANCHE EFFECT,HYSTRIX,DISTRIBUTED SYSTEM 2019-02-04 06:00:38
Things to Look for in Microsoft .NET Framework 4.7
The .NET Framework 4.7 is the updated version of the .NET Framework 4.6.2. It can run along with earlier versions of the .NET Framework. On installation it appears as an update for Microsoft Windows under the Installed Updates item in Control Panel. The improvements in the.NET Framework 4.7 includes: High DPI support for Windows Forms applications on Windows 10 Touch support for WPF applications on Windows 10 Enhanced cryptography support Performance improvements .NET Framework Documenta...
ASP.NET, ASP.NET FRAMEWORK 2017-07-18 05:55:20
RECENT
- How Artificial Intelligence Is Helping Fight Environmental Challenges
- How to Deal with Accusations of Negligence as a Business
- Google's Business Operations in China Amid Antitrust Scrutiny
- Deploying DeepSeek-R1 Locally with a Custom RAG Knowledge Data Base
- Balancing Convenience and Security in the Digital World
- My AI Learning Journey: Exploring the Future of Technology
- Power Grid Simulation System 02 : FDI Power Outage Attack Case Study
- Be Careful When Using Cursor to Help Build Application
- Calculating Token Count for Claude API Using Go: A Step-by-Step Guide
- Understanding Cursor and WindSurf's Code Indexing Logic
- more>>