Giter Club home page Giter Club logo

jgrowing's Introduction

license stars forks help-wanted issues PRs Welcome

JGrowing

Java is Growing up but not only Java。Java成长路线,但学到的不仅仅是JAVA。

维护人员(排名不分先后)

@林大塔, @lzx2005,@TGhoul,@crossoverJie,@zhangyd-c,@ygmyth,@kinglaw1204,@easepan,@xuyuji

缘起

时常有一些朋友问起一个Java程序员到底应该怎么学习?公司的项目对自己没啥帮助,到底应该怎么提升?这些问题想必对很多人都是一个通病,包括我自己也是。所以我对于这些问题通常只能基于自己的眼界进行答复,也不知道这些东西对于他们是否有效。

某一天看见了一个有关Java面试的Github开源项目,但是其目的性太强了,我觉得作为一个程序员来说面试终究是少数时候,对于一个程序员来说更多的应该是提升自己,创造更多的价值。于是我就萌生了建立JGrowing(Java成长路线)这个项目的想法,希望由更多的人一起来共建,分享自己成长路线,帮助更多的人。

介绍

JGrowing不是属于某个人的项目,而是属于组织项目。我的想法是由我最初画一个大致的Java学习路线脑图,而其中的具体的文章我会不断的更新,当然最好是由你来和我们一起更新和修改文章和路线图。 脑图

学习Java可以按照下面的顺序来学习,当然你也可以查漏补缺查看自己感兴趣的部分:

这部分和语言无关,苦练基本功,为以后做好准备。

1.2计算机网络

1.3数据库

2. 数据结构和算法

2.1数据结构

2.2算法

3.1Java特性

3.2基本程序设计

3.3Java并发编程

3.4JVM

设计原则

设计模式

领域驱动设计

5.1Spring全家桶

5.2ORM框架

5.3常用工具包

数据库连接池

其他框架

6.1服务监控

6.2服务器

6.3服务防护

6.4容器云

6.5服务优化

7. 分布式

7.1中间件

7.1.1分布式事务

7.2批处理系统

7.3流处理系统

7.4搜索引擎

8. CaseStudy

前车之鉴,后事之师。

如何排查问题

常见问题案例

额外的一些:

基础工具:

扩展阅读:

有幸结识了一个群友,水平很厉害,他自己也对Java技能知识图谱有一定的总结:Java服务端知识技能图谱

你的参与

JGrowing中大部分文章目前都没有写,希望你能参与进来一起,怎么做?

  • 联系我,加入JavaGrowing组织,参考此issue
  • 选出一个你感兴趣的主题,进行原创,当然如果你发现了一些很优秀的文章(能联系上作者的),联系作者进行转载。
  • 对学习路线有什么建议,或者有什么不对的地方提出PR进行修改。

只要你参与进来,你将获得:

  • 开源项目参与者称号一枚。
  • 锻炼了git技术。
  • 每个参与者都将会获得首页的提名感谢。
  • 学习了更多的技术。
  • 帮助你宣传个人影响力

文章范例

如果不想太麻烦的同学可以推荐自己的阅读过的优秀图书,附上豆瓣评分和自己的书评即可。对于原创文章的要求如下:

  • 语言简单明了,逻辑清晰易懂。
  • 对于讲解的内容尽可能挖掘扩展,不能局限于表面。
  • 不允许粘贴各种营销广告。
  • 允许宣传自己的一些私人广告(如个人公众号,博客等)。

联系我

我的个人公众号如下,如果想加入微信群,可以通过公众号加我微信号好友,拉你进入群聊 二维码

jgrowing's People

Contributors

arrayest avatar coffeelatte007 avatar crossoverjie avatar data-lin avatar easepan avatar lzx2005 avatar mythyygg avatar tghoul avatar wuwangxu avatar xuyuji163 avatar zhangyd-c 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  avatar  avatar  avatar  avatar  avatar

jgrowing's Issues

一起撸文档

有很多内容可写,没有动力,mark一下,定时产出,一起分享

CompletionService/ListenableFuture的意义探讨

您好,很高兴看到这个项目,非常受益。有点问题想跟您讨论下。

  1. CompletionService是通过内部队列保存线程执行的结果,并保证了先执行完线程的结果会优先进入队列;然而,很难想到有啥实际的应用场景。第一,如果是为了拿每个线程的结果做二次处理,那么完全可以放在各个子线程中去处理;第二,如果是为了拿到所有线程的执行结果返回给上层服务,那么可以采用CompletableFuture.allOf来做。。。求大神指教。
  2. ListenableFuture是添加了监听的功能,当执行完成或者抛出异常后,做处理。。。既然这样,为什么不是在子线程执行中直接做处理呢?感觉很奇怪。。求大神指教

+1

菜鸟一只,我也想学java

欢迎加入javagrowing开源组织

Hello,欢迎您加入javagrowing开源组织,希望一起学习Java,但学到的不仅仅是Java。和大家参与开源项目不仅仅对自己个人成长非常有帮助,并且还会扩大你自己的影响力,让更多的人能分享到你的知识。

如何加入

直接在issue下面留言,我将会邀请你进入https://github.com/javagrowing , 然后到 https://github.com/javagrowing 这个页面中进行接受邀请。同时最好将你自己的可见性设置为public。

synchronized为啥会阻塞同一个类中的方法?求解

情况A:有可能t线程已经在执行了,但是由于m2先进入了同步代码块,这个时候t进入阻塞状态,然后主线程也将会执行输出,这个时候又有一个争议到底是谁先执行?是t先执行还是主线程,这里有小伙伴就会把第3点拿出来说,肯定是先输出啊,t线程不是阻塞的吗,调度到CPU肯定来不及啊?很多人忽略了一点,synchronized其实是在1.6之后做了很多优化的,其中就有一个自旋锁,就能保证不需要让出CPU,有可能刚好这部分时间和主线程输出重合,并且在他之前就有可能发生,b先等于1000,这个时候主线程输出其实就会有两种情况。2000 或者 1000。

ISSUEA

---来自漂亮帅气的GitHub小程序kakaCoder:

请问,这个项目还维护吗?

我看了 《为什么开发人员必须要了解数据库锁?》 这篇文章,发现图床都失效了,最下面 [何大师的MySQL 加锁处理分析](http://hedengcheng.com/?p=771#_Toc374698317)这个链接也失效了。

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.