Top Related Projects
:books: 技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计
「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!
😮 Core Interview Questions & Answers For Experienced Java(Backend) Developers | 互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识
To Be Top Javaer - Java工程师成神之路
Everything you need to know to get the job.
A complete computer science study plan to become a software engineer.
Quick Overview
JavaFamily is a comprehensive resource repository for Java developers, covering a wide range of topics including Java fundamentals, advanced concepts, frameworks, and industry best practices. It serves as a learning guide and reference for both beginners and experienced developers, offering in-depth articles, tutorials, and code examples.
Pros
- Extensive coverage of Java-related topics, from basics to advanced concepts
- Regular updates with new content and industry trends
- Well-organized structure, making it easy to navigate and find specific information
- Includes practical examples and real-world scenarios
Cons
- Primarily in Chinese, which may limit accessibility for non-Chinese speakers
- Some topics may not be covered in as much depth as specialized resources
- The vast amount of information can be overwhelming for beginners
- Occasional inconsistencies in content formatting and presentation
Getting Started
To start using the JavaFamily repository:
- Visit the GitHub repository: https://github.com/AobingJava/JavaFamily
- Browse the README file for an overview of available topics
- Navigate to specific folders or articles based on your interests
- Star the repository to stay updated with new content
- Consider using a translation tool if you're not fluent in Chinese
Note: This is not a code library, so there are no code examples or installation instructions. The repository serves as a knowledge base and learning resource for Java developers.
Competitor Comparisons
:books: 技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计
Pros of CS-Notes
- More comprehensive coverage of computer science topics beyond Java
- Well-structured and organized content with clear categorization
- Includes algorithms, data structures, and system design concepts
Cons of CS-Notes
- Less focus on practical Java development and industry-specific knowledge
- May lack the latest updates and trends in Java ecosystem
- Limited coverage of advanced Java topics and frameworks
Code Comparison
CS-Notes example (Binary Search):
public int binarySearch(int[] nums, int target) {
int left = 0, right = nums.length - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (nums[mid] == target) return mid;
else if (nums[mid] < target) left = mid + 1;
else right = mid - 1;
}
return -1;
}
JavaFamily example (Thread creation):
public class MyThread extends Thread {
public void run() {
System.out.println("Thread is running");
}
public static void main(String args[]) {
MyThread t = new MyThread();
t.start();
}
}
Both repositories offer valuable resources for Java developers and computer science enthusiasts. CS-Notes provides a broader range of topics, making it suitable for those preparing for interviews or seeking a comprehensive understanding of computer science concepts. JavaFamily, on the other hand, focuses more on practical Java development and industry-specific knowledge, making it ideal for Java developers looking to enhance their skills in a professional context.
「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!
Pros of JavaGuide
- More comprehensive coverage of Java topics, including core Java, frameworks, and best practices
- Better organized structure with clear categorization of content
- Regularly updated with new content and improvements
Cons of JavaGuide
- May be overwhelming for beginners due to the vast amount of information
- Less focus on practical, real-world scenarios compared to JavaFamily
Code Comparison
JavaGuide example (Singleton pattern):
public class Singleton {
private static volatile Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
synchronized (Singleton.class) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
}
JavaFamily example (Thread creation):
public class MyThread extends Thread {
@Override
public void run() {
System.out.println("MyThread running");
}
}
MyThread thread = new MyThread();
thread.start();
Both repositories provide valuable resources for Java developers, with JavaGuide offering a more structured and comprehensive approach, while JavaFamily focuses on practical examples and real-world scenarios. The choice between the two depends on the learner's preferences and learning style.
😮 Core Interview Questions & Answers For Experienced Java(Backend) Developers | 互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、 分布式、高可用、微服务、海量数据处理等领域知识
Pros of advanced-java
- More focused on advanced Java topics and in-depth technical content
- Better organized structure with clear categories and subcategories
- Regularly updated with new content and contributions from the community
Cons of advanced-java
- Less coverage of broader software development topics beyond Java
- May be more challenging for beginners due to its advanced nature
- Fewer practical examples and real-world scenarios compared to JavaFamily
Code Comparison
advanced-java example (Distributed Lock):
public class RedisLock {
private static final String LOCK_SUCCESS = "OK";
private static final String SET_IF_NOT_EXIST = "NX";
private static final String SET_WITH_EXPIRE_TIME = "PX";
public boolean tryLock(String lockKey, String requestId, int expireTime) {
// Implementation details...
}
}
JavaFamily example (Thread Pool):
public class ThreadPoolExecutorDemo {
public static void main(String[] args) {
ThreadPoolExecutor executor = new ThreadPoolExecutor(
2, 5, 1L, TimeUnit.SECONDS,
new LinkedBlockingQueue<>(3),
Executors.defaultThreadFactory(),
new ThreadPoolExecutor.AbortPolicy());
// Usage example...
}
}
Both repositories provide valuable Java-related content, but they cater to slightly different audiences and learning objectives. advanced-java is more suitable for experienced developers looking to deepen their Java expertise, while JavaFamily offers a broader range of topics and may be more accessible to a wider audience.
To Be Top Javaer - Java工程师成神之路
Pros of toBeTopJavaer
- More comprehensive coverage of Java ecosystem topics
- Better organized structure with clear categorization
- Includes practical examples and code snippets for better understanding
Cons of toBeTopJavaer
- Less frequent updates compared to JavaFamily
- Fewer contributions from the community
- Limited focus on advanced topics and cutting-edge technologies
Code Comparison
toBeTopJavaer:
public class Singleton {
private static volatile Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
synchronized (Singleton.class) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
}
JavaFamily:
public enum Singleton {
INSTANCE;
public void doSomething() {
// Method implementation
}
}
The code comparison shows different approaches to implementing the Singleton pattern. toBeTopJavaer uses the double-checked locking method, which is more verbose but offers thread-safety and lazy initialization. JavaFamily demonstrates a simpler enum-based implementation, which is concise and inherently thread-safe but eager in initialization.
Both repositories serve as valuable resources for Java developers, with toBeTopJavaer offering a more structured learning path and JavaFamily providing a broader range of topics with more frequent updates.
Everything you need to know to get the job.
Pros of interviews
- More focused on coding interview preparation with algorithms and data structures
- Includes solutions in multiple programming languages (Java, Python, C++, etc.)
- Well-organized with clear categorization of topics
Cons of interviews
- Less comprehensive coverage of general Java ecosystem topics
- Lacks in-depth explanations and real-world application examples
- Not regularly updated, with less frequent contributions
Code Comparison
interviews:
public ListNode reverseList(ListNode head) {
ListNode prev = null;
while (head != null) {
ListNode next = head.next;
head.next = prev;
prev = head;
head = next;
}
return prev;
}
JavaFamily:
public class ThreadPoolExecutorDemo {
public static void main(String[] args) {
ExecutorService executor = new ThreadPoolExecutor(2, 5,
60L, TimeUnit.SECONDS,
new ArrayBlockingQueue<Runnable>(10));
// ... (usage example)
}
}
The code snippets demonstrate the different focus areas of each repository. interviews provides algorithm implementations, while JavaFamily offers examples of Java ecosystem features and best practices.
A complete computer science study plan to become a software engineer.
Pros of coding-interview-university
- Comprehensive coverage of computer science fundamentals and algorithms
- Well-structured learning path suitable for self-study
- Extensive resource links for further reading and practice
Cons of coding-interview-university
- Primarily focused on theoretical concepts, less emphasis on practical coding
- May be overwhelming for beginners due to its extensive content
- Less specific to Java compared to JavaFamily
Code Comparison
coding-interview-university:
# Example of binary search implementation
def binary_search(list, item):
low = 0
high = len(list) - 1
while low <= high:
mid = (low + high) // 2
guess = list[mid]
if guess == item:
return mid
if guess > item:
high = mid - 1
else:
low = mid + 1
return None
JavaFamily:
// Example of Java-specific multithreading
public class ThreadExample extends Thread {
public void run() {
System.out.println("Thread is running");
}
public static void main(String args[]) {
ThreadExample t1 = new ThreadExample();
t1.start();
}
}
The code comparison highlights the difference in focus between the two repositories. coding-interview-university provides general algorithm implementations, while JavaFamily emphasizes Java-specific concepts and practical coding examples.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
æä¼ä»ä¸å¾ä¸çç¥è¯ç¹å»åè¿ä¸ªç³»åï¼å¾å¤ç»èçç¹ï¼å¯è½æ³å¾ä¸æ¯å¾å®åï¼å¤§å®¶å¯ä»¥å»ãå ¬ä¼å·ãè·åæè å æã微信ãææè§(å«å¿è®°Starå)ã
ååæç« æ¯å¨æå°ä¸¤ç¯ï¼å ¬ä¼å·é¦åæç« ï¼ãBç«ãé¦åè§é¢ï¼æ¯å客æ©ä¸å°ä¸¤ç¯ã
ç®å½(åç¨Ctrl+F)
ps : 没é¾æ¥çæ¯è¿æ²¡å(èå¿çå¾ æ´å)
å端é¢è¯ç¹åé
èå¾å¨çº¿ç¼è¾å°å
-
Javaåºç¡æ ¸å¿ä¸²è®²
-
éåæ¡æ¶
-
æ·±å ¥æµ åºJVM
-
并åä¸å¤çº¿ç¨
-
常ç¨å·¥å ·é
- JVMé®é¢ææ¥å·¥å ·-JMC
- IDEAå¼åç¥å¨
- 线ä¸è°è¯ç¥å¨-btrace
- Gitåçä¸å·¥ä½æµ
- Linux常ç¨åæå·¥å ·
-
æ°æ®ç»æä¸ç®æ³
- ä»äºåæç´¢æ å°B+æ
- ç»å ¸é®é¢ä¹å符串
- ç»å ¸é®é¢ä¹TOPK
- æå¤§å ¬å ±å串
- å¨æè§å
- 大åé¢è¯ç±é®çãè°åº¦ç®æ³ãï¼20 å¼ å¾ä¸ä¸¾æ¿ä¸
- å¾è§£çº¢é»æ
- é¢è¯å¿ å¤ | ä¸å¯ä¸ä¼çå转é¾è¡¨
- 红é»æ ãå¾è§£ã
- ç®æ³å¦ä¹ å·¥å ·ç½ç«
-
å¿ ä¼æ¡æ¶
-
åå¸å¼æ¡æ¶åºç³-RPC
-
ORMæ¡æ¶Mybatisæºç åæ
-
é«å¹¶åæ¶æåºç³-ç¼å
-
æ¶æ¯éå
-
æ°æ®åº
-
大æ°æ®
-
ODPS离线åæ
-
Hive
-
Spark
-
Hadoop
-
Hbase
-
HDFS
-
æç´¢å¼æ
- ElasticSearch
- Canal
- Kibana
- Lucene
- Logstash
-
æ¶ææ¼è¿ä¹è·¯
- ä»All in one å°å¾®æå¡
- äºèç½æ¶æä¹è·¯
- æä¹è®¾è®¡ä¸ä¸ªè½é¡¶ä½ååä¸çç³»ç»ï¼
- åå¸å¼&åå¸å¼äºå¡
-
äºèç½å沿ææ¯
- 容å¨åï¼Dockerä¸k8s详解
-
é¢è¯æå·§
-
ç åè§è
-
é¢è¯çé¢&é¢ç»å享
-
èåºæè°
-
ç¨åºäººçç³»å
-
ç¦å©
- Java/å端å¦ä¹ 路线
- Java/å端å¦ä¹ 路线 2.0ä¼åçæ¬
- æ´çç书å(é个人å欢çæå¦ä¹¦)
- æä¸å¤§å¦åå¹´èªå¦èµ°æ¥ï¼è¿äºç§èçå®ç¨å·¥å ·/å¦ä¹ ç½ç«æè´¡ç®åºæ¥äº
- æ´ç好ç¨çå·¥å ·é
- éç¨çå¦ä¹ æ¹æ³
- IDEAç ´è§£(请å¿ä¼ æ)
- çµå书(请å¿ä¼ æ)
- é¢è¯èµæ(æç»æ´æ°)
- ç®å模æ¿(欢è¿è¡¥å )
- æ¦è¦è®¾è®¡æ¨¡æ¿
- 5åéç½å«æä¸å¸¸ç¨çå è´¹æç软件/å·¥å ·ï¼
æææç« pdfçæ¬ : é¾æ¥:https://pan.baidu.com/s/1PKO0LDspwJPNqT6qwqNorQ å¯ç :f654
é¿éãåèãå¿«æãè ¾è®¯ãç¾å¢ãæ»´æ»´å æ¨
Star History
ç¥ç¦
å¸æ大家é½è½æ¾å°å¿ä»ªçå·¥ä½ï¼å¦ä¹ æ¯ä¸æ¡æ¶èéé寡欢ï¼æ¶èå¼æ大ç¬çè·¯ï¼å æ²¹ã
å¦æä½ éè¿åªåæåè¿å ¥å°äºå¿ä»ªçå ¬å¸ï¼ä¸å®ä¸è¦ææ æ¾æ¾ï¼èåºæé¿åæ°ææ¯å¦ä¹ ä¸æ ·ï¼ä¸è¿åéã
æä¸å¨å·¥ä½ä¸åç°æ身边ç人ççå°±æ¯å®åè¶å¼ºçè¶åªåï¼**æé«çº§çèªå¾ï¼äº«åå¤ç¬**ã
Top Related Projects
:books: 技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计
「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!
😮 Core Interview Questions & Answers For Experienced Java(Backend) Developers | 互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识
To Be Top Javaer - Java工程师成神之路
Everything you need to know to get the job.
A complete computer science study plan to become a software engineer.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot