Giter VIP home page Giter VIP logo

javasourcecodelearning's Introduction

JavaSourceCodeLearningImage

JDK Spring SpringBoot SpringSecurity Spring-Security-OAuth2 Netty Netty

Java流行框架源码分析,学习以及总结。项目持续更新中,不建议直接Fork,欢迎star、watch。

对于框架底层源码的学习,需要反复、认真思考,并做到温故而知新,这样才能将底层原理吸收得更加牢固。

框架包括:

✅ Spring源码

✅ SpringBoot源码

✅ SpringAOP源码

✅ SpringSecurity源码

✅ SpringSecurity OAuth2源码

✅ JDK源码

✅ Dubbo源码

✅ Netty源码

✅ RocketMQ源码

MyBatis源码

SpringCloud源码

为什么要分析、学习源码?

学习一个框架的源码,不仅在实际使用时如果出现问题,可以快速定位出问题,找到问题原因并解决,同时还可以学习到框架的架构**以与设计模式。当然,学习框架底层源码还可以提升我们自身的水平,在大厂面试时能够在众多面试者中脱颖而出。因此学习框架虽然枯燥乏味,但罗马并非一日建成的,所以平时之余就要多学习框架底层源码, 这样在用到的时候就能游刃有余。

Tip:如果读者电脑无法浏览到github图片,则需要设置hosts配置文件, 解决办法:解决GitHub网页githubusercontent地址无法访问问题

目录

Netty实战课相关点位于:Spring-Netty,com/bruis/learnnetty/im包下,有需要的读者可前往查看。

  • RocketMQ底层源码解析
    • RocketMQ版本:4.9.0
    • RocketMQ底层源码解析-RocketMQ环境搭建
    • RocketMQ底层源码解析-本地调试RocketMQ源码
    • RocketMQ底层源码解析-NameServer分析

持续更新中...

todo

2021年年底完成了人生的两件大事,所以一直没时间持续输出源码分析,2022年开始需要继续努力,继续完成这个源码分析项目!

  • 完成Netty剩余源码分析文章
  • 完成RocketMQ剩余源码分析文章
  • 完成Dubbo剩余源码分析文章
  • C语言基础学习(为Redis底层源码学习做准备)
  • Redis底层源码分析
  • JUC底层源码分析

支持

原创不易,各位帅哥美女star支持下...

javasourcecodelearning's People

Contributors

1725636955 avatar coderbruis avatar dependabot[bot] avatar higurashi-kagome avatar yuuyoo avatar zsy0216 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

javasourcecodelearning's Issues

关于String的compareTo的理解

在两个字符串不一样的时候,返回的是ASCII值的差值,不是返回ASCII值,利用差值来比较字符串的大小

关于String的split方法

原文:
limit > 0,split()方法不进行拆分,返回原字符串。

limit应该是表示最多把字符串拆分成limit个部分,如"what,is,a,b,c,d",limit是3,那么结果就是
what
is
a,b,c,d
3

因为条件if(!limited || list.size() < limit - 1) ,第一个无法满足,但是第二个条件是判断当前字符串数量要小于上限减一,再把剩下的加到最后。

Thread源码分析

我们在写 while 死循环的时候,预计短时间内 while 死循环可以结束的话,可以在循环里面使用 yield 方法?

短时间while就能结束,为啥还要使用yield方法呢?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.