- 👋 Hi, I’m @ZhianMai, and go by Johnston. Contact me @ johnstonmai11@gmail.com
- 👀 I’m interested in problem solving and Java-related skills like Spring Framework and Java multithreading.
- All these challenges can make me excited: binary search, binary tree, BST, DFS, BFS, DP... you name it!
- My coding strictly follows Google Java style guide, SOLID principle, concepts from Effective Java, and industry standard if appliable.
Check out the repos below as my sample coding works here :)
Multithreading in Java 🔗link
@author Zhian Mai
Size: ⭐⭐⭐⭐⭐
Complexity: ⭐⭐⭐
Detailed description & demo of multi-threading concepts, including thread creation, thread pool, thread life cycle, locking, async callback, design patterns for high concurrency, applications, and more.
Thread-safe Linked-list & Hash Map in Java 🔗link
@author Zhian Mai
Size: ⭐⭐⭐
Complexity: ⭐⭐⭐
Implementations of thread-safe linked-list & hash map using read-write lock, with multi-threaded testing.
Highlights:
- Support generic;
- Support Iterable<>;
- Factory pattern to create hash map, based on thread-safe stragegy (no thread-safety, synchronized, and read-write lock);
- Read-write lock provided by ReentrantReadWriteLock;
- Multi-threaded testing guarantees no data racing on thread-safety data structure;
- Java design rules from Effective Java;
- And more on the way...
Project Management App (Co-op) 🔗link
@author AgileIntelligence & Zhian Mai
Size: ⭐⭐⭐⭐
Complexity: ⭐⭐⭐⭐⭐
An online app that helps user to manage projects and their tasks.
- Frontend: React;
- Backend: Spring Framework (Boot, Security with JWT, JPA), MySQL.
My LeetCode Solution in Java 🔗link
@author Zhian Mai
Size: ⭐⭐⭐⭐
Complexity: ⭐⭐
Collections of some leetcode problem solutions.
Highlights:
- Follow the Google Java coding styles;
- Follow some rules from Effective Java, such as variable naming conventions, and reusing object if possible.
- Solutions are optimized for time O(), then for space O().
- Detailed summary and analysis @ readme.
- Code should be easy to understand.
Design Patterns in Java 🔗link
@author Zhian Mai
Size: ⭐⭐
Complexity: ⭐
Demo of design patterns in java.
Hadoop MapReduce (In progress) 🔗link
@author Zhian Mai
Size: --
Complexity: --
Demo of Hadoop MapReduce in Java.
Java High Concurrency (In progress) 🔗link
@author Zhian Mai
Size: --
Complexity: --
Demo of Java NIO, zookeeper, kafka, and more...
“朱泙漫学屠龙于支离益,单千金之家。三年技成,而无所用其巧。” ——《庄子·列御寇》
“怀旧空吟闻笛赋,到乡翻似烂柯人。” ——《酬乐天扬州初逢席上见赠》, My Favorite
“孔乙己显出极高兴的样子,将两个指头的长指甲敲着柜台,点头说,‘对呀对呀!“回”字有四样写法,你知道么?’” ——《孔乙己》
“Have more than you show, Speak less than you know.” ― William Shakespeare
"Talk is cheap. Show me the code." ― Linus Torvalds