大谈Java技术栈

前言

  最近没有文章输出,请各位见谅,确实感受没有什么能够拿出来分享的,不是笔者没有学习,其实一直在学习,只是最近工做稍微比原来紧凑一些,没有深刻去挖掘某种东西,学的东西比较零散,碎片化,也比较杂,因此一直没有能够真正做为干货的文章出现,下面截图就是我最近的笔记。    html

  最近学的确实比较杂,有点浮躁了,为了丰富本身的技术栈,什么东西都想学一下,可是呢,什么都是浅尝辄止,可是后期确定会慢慢深刻的。如今Java依然是招聘的主流,可是每一年涌入Java的开发人员也是很是多,因此如今的就业市场对于初级的开发人员来讲其实已经不那么乐观了,并且现在的招聘对于Java应聘者提出了更高的要求,技术更新迭代至关快,笔者越学越感受本身的眇小,越学越感受要学的实在是太多了。可是无论怎样,仍是得坚持,由于我知道,每一个人都不容易,不少人也依然在坚持,这就是动力。前端

说说我如今的工做状况:java

  • 完成新需求的功能模块的开发,主要是前端页面和sql脚本
  • 网站,移动端接口实现
  • 测试经过的功能模块以及接口更新部署到生产机      今天咱们不谈业务,就谈技术,就来讲说如今的比较主流的技术以及这些技术须要解决的问题。

Java技术栈

  仅供分享,没有做为参照的意思,固然了,若是你以为有值得借鉴的地方,也是个人荣幸。   若是你的目标是进入大厂,那么可能须要你有很是好的计算机基础,算法,数据结构,操做系统,计算机网络的七层模型,TCP/IP,HTTP,HTTPS等协议的原理。说实话,看了那么多大厂的面经,发现差距确实是很大的。工做前两年,须要好好沉淀本身,不断缩小差距。   我对于本身的定位是Java后端程序员,如今也会写点前端,仅仅停留在使用,完成功能的阶段,工做之余也不会花过多时间去学。Java后端毫不仅仅局限于Java语言自己,若是你是三年以上程序员,对于整个知识体系必定要有知识的深度与广度。git

Java程序员

  • 多线程,并发类,集合,异常,IO流,网络编程等等
  • JVM运行时数据区,GC算法与收集器,JVM调优

版本控制工具github

  • Git(分布式版本控制工具,目前主流,推荐学习)
  • SVN(通常老项目,传统IT公司还在用)

关系型数据库面试

  • 索引,索引底层实现,主键索引,惟一索引,联合索引,不一样数据库引擎索引的差别(好比Mysql的InnoDB与MySIAM),如何优化查询数据库,explain与慢查询是否用过,何时索引会失效
  • 存储过程,函数,视图,触发器

Liunx算法

  • 经常使用命令
  • shell脚本
  • 网络配置

Nosql非关系型数据库spring

  • Redis(如何实现分布式锁,分布式session;缓存穿透,缓存击穿,缓存雪崩产生的缘由以及解决方案;主从,哨兵模式,集群搭建)
  • MongoDB(分布式集群搭建)

分布式搜索sql

  • 深入理解Lucene原理
  • ElasticSearch和Solr的区别(ELK是什么,使用场景)

分布式消息队列

SpringBoot与SpringCloud

  • SpringBoot底层原理与自动配置,各个注解的做用 SpringBoot官方代码模板(github.com/spring-proj…
  • SpringCloud做为微服务的一站式解决方案,Eureka,Ribbon,Feign,Zuul,Config等等 SpringCloud中文网https://springcloud.cc/

Dubbo与Zookeeper

容器虚拟化

  • Docker(Docker的基本命令,DockerFile如何构建容器)
  • K8s(容器编排工具)

自动化部署工具

  • Jenkins(持续集成,持续部署,持续交付) 固然了,市面上自动部署工具还有不少。

我平时学习的渠道和来源

  以前的文章好像也提到了这点,今天就再写多一些。

  • 加了二十多个java学习交流群,微信群(偶尔看一看群里的讨论)
  • 关注了三十多个的技术公众号(这些公众号是我常常看的,由于里面确实有许多很是有价值的东西,很是推荐,也加了好几个做者的微信,方便转载文章)
  • 知乎,掘金,博客园,慕课网,Github,码云,B站(B站很是多的技术视频资源,不用下载直接看,可倍速播放)
  • 个人百度云保存了很是多某培训机构视频,腾讯课堂某些学院的Java架构师课程(想要资源的可私聊免费提供),公开课讲的很是不错,想深刻就得花钱学习他们的VIP课程,课程内容确实很是有吸引力,我不少时候都是按照他们的课程大纲学习的(方向很重要,否则会走不少弯路)

个人笔记软件

  为何要作笔记,有人说作笔记花时间,当初我也是这么想的,可是若是你如今不作笔记,之后会更花时间?   有人就会问了,何处此言?由于笔记记录的通常都是本身遇到的坑,容易遗忘的知识点,步骤流程较多的操做过程,或者是好的代码案例等等。试想一下,若是你须要在Linux安装Mysql,或者Docker建立Mysql服务,里面的步骤都是比较多的,若是你装了一次,不记录下来,下次装你还得去百度,在万千的博客中查找,并且有些博客写的并很差,原本你第二次装只须要按着笔记步骤花十分钟就搞定,你却花了半个钟甚至更长时间作这件事,你说是否是更费时间。写笔记就是一个积累的过程,写的时间长了,笔记就很是多了。提及作笔记,真的要感谢一位大学的师兄,是他提醒我要尽快开始作笔记。因此我刚实习不久就开始作笔记了,哈哈,如今积累的笔记确实很多了。

作笔记的软件,目前比较主流的有:

  • 有道笔记(基本都是免费的)
  • 印象笔记
  • 为知笔记(我目前用的)

  印象笔记和为知笔记有些服务都是付费的,为知笔记好像一年60,其实也不贵,我如今也没有开通会员,因此笔记不能上传云端,只能本地存储,也不能以连接的形式分享笔记,可是这款软件我目前用着比较舒服,支持markdown语法,很是良心的笔记工具。

画图工具

  • ProcessOn目前是比较好的在线画图工具,百度就有。

最后

  对于Java的学习,笔者基本上倾囊相送,若是你是一个初学者,我想仍是有对你有帮助的。从大学自学走过来,一路跌跌撞撞,走了不少弯路,可是总算挺过来了。现在整个大环境比较浮躁,可是作技术研发的人还得沉下心来好好打磨本身,还有就是不管何时,都要保持谦卑的态度,恃才傲物者格局有限。最近996.icu闹得沸沸扬扬,我以为每一个人有不一样的追求,我可能更愿意选择规律的做息时间,毕竟由于工做而失去了生活和健康的身体,那么工做的意义是什么呢?可是若是你在大厂996,平台会更高,眼界会更广,物质上会更充裕,因此这些东西本身去斟酌吧,去权衡吧。   一直在谈技术,可是有时候想说的毫不仅仅是技术,写博客是本身与本身的对话,也是本身与读者的对话,程序员也不是如外界所说的那样,思想木讷,不修边幅,不善言谈,可是也不排除确实有这种状况,大多都是程序员的自黑调侃,哈哈,为程序员正名一下。我是广州程序员小彬,一直致力于Java后端的学习,感谢你的支持!!!   

相关文章
相关标签/搜索