目前最火的Java主流技术栈及开发工具

96 篇文章 2 订阅
93 篇文章 3 订阅

Java主流的技术栈及工具

java的学习路线和主流技术栈以及工具,算是对旧知识的回顾,温故而知新,这条路线也见证了无数个只有代码陪伴我的夜晚,以此共勉!顺带夹杂一些自己对技术的理解和感悟

提一嘴我对学习一门新技术的心得

.1,一门新技术的诞生,必然会有它的作用,存在即合理,凡事都要问个为什么?(不是钻牛角尖的那种为什么?你要是问我为什么一加一等于二,我会觉得你二),新技术的诞生必然是解决某一类问题的,关于这个话题,又能扯到架构的发展是演化的还是设计出来的这个问题…
答案是演化而来的!新技术的诞生其实也很像,就是由于软件的不断发展,架构需要的技术旧的技术不能再完成时,这时候造轮子的人就要想着造新的轮子出来了,造的新轮子就是新的技术>>>>

2,学习一门新的技术,最好的办法是看官网(我刚开始学编程时,听过我们老师说过这句话,可能因为当初菜如狗(现在勉强比之前好点),
内心很不屑,这tm谁看得懂?现在看官网真香!)看它解决了什么问题,再看官网的Demo,还有api,还有看看利用Java怎样操作,框架里面怎样集成等等…看不懂的地方查查博客,看看视频

3,第三个就是关于学完新技术后,过两天就忘了…然后无限套娃操作,学完忘,忘了又学…至于为什么会出现这种情况,并不是我们没有学会这门技术,而是技术这玩意,得用,
① 第一个记笔记
② 要结合具体的应用场景(项目),把这门技术用到,可以称为场景式记忆!
③ 这样也就差不多不会忘了,就算忘了简单看看也能很快用起来(概念性的东西能不能记得这个我也很无语,我就是属于那种并不是太喜欢及概念的人)

4,除了基础要好,还有一个就是学习一门新技术的难度,自我认为哈!并不在这个新技术有多难,而是如何在项目里用好,用的如鱼得水!才是最难的,需要反复的使用,反复的练,(心中有剑,手里无剑 能达到这个境界其实很厉害了)

1.从基础开始

JAVASE必学,没啥好说的 --<-<-<@ 基础不牢地动山摇,另外强调一下,<<计算机组成原理>>和<<计算机操作系统>>,<<计算机网络>>,<<数据结构与算法>>真的特别重要!特别重要!特别重要!重要的事情说三遍 我为什么这么说,之前也是不理解,随着所学技术越来越多,发现了一个很有趣的事情,

你会发现其实学一门新的技术并不是很难,一门新的技术,其实只要看看官方,看看官方的demo,不理解的地方查查博客,看看视频,

其实学一会一门新的技术也就是十天半个月,简单的技术可能也就是两三天,(这里我指后端哈…前端我是真的只能看懂,可以cv别人的代码修改,但是自己真的一点都不会写!)

一个很有趣的点是什么?就是这些新技术的思想都用到了之前的基础和知识,把之前的技术再次封装起来变得更简单!如果基础不好,越往后学,

学会使用这门新技术并不是很困难,但是这个新技术的思想或者有的地方你理解起来很吃力(或者想不通为什么可以这么用! 就算你有"起夜级李姐"的脑子也没有用ヾ(≧へ≦)〃)

所以说,基础真的很重要!!!(不止某一门计算机语言的基础,计算机基础也很重要!),我现在是深深感受到了这一点,所以才会有不断的回头看,温故知新

JDK(罪恶之路的开始,还有这玩意更新太快了!官方这些人不睡觉的吗??) 官方网址

顺带聊一嘴JDK,JRE,JVM的关系(看到JDK这家伙就想聊聊这三个哥们的关系)…忍下,后面重新来谝一谝这三个家伙什么关系,学过java的应该都知道(肯定是正当关系,别乱想啊.)

  1. java基础语法
  2. 流程控制与java方法
  3. 数组
  4. 面向对象
  5. 异常
  6. 常用类
  7. 集合
  8. IO(Input/Output)
  9. 多线程编程
  10. 网络编程
  11. 反射和注解
  12. JUC(进阶)
  13. JVM(进阶)
  14. 23种设计模式(进阶)

2.前端基础

  1. HTML5(网页的骨架)
  2. CSS3(网页的衣服)
  3. JavaScript(网页的灵魂)
  4. 至于前端框架,这里推荐几个(VUE_前后端分离很火,Bootstrap等等,这个玩意我只看的懂…不会用),如果CV还是会用一点点

3.数据库

  1. MySQL(我没压岁钱了/玛涩扣),这个玩意就叫数据库,更新也挺快…你更任你更,我用5.7 官方网址
  2. JDBC(java操作MySQL数据库的一套API而已)
  3. 还有个玩意叫作数据库连接池(想到的东西都会写这里,可以当作学习路线,也可以当作回顾来看,对于我自己来说,看作是温故知新回顾更好!新的技术的太多了,学的这些玩意有的用不上的,甚至名字都忘记了…记录下也好,免得白学一趟)

①druid(这家伙有一个叫作数据源监控的功能,非常好用!) 官方网址
②c3p0 官方网址

4.框架

  1. Mybatis(持久层数据库框架)
  2. Spring(目前Java最流行也是大腿的容器框架,Apache官方出品的大杂烩框架)
  3. SpringMVC(JavaWeb框架,目前主流框架)
  4. Shiro(蟹肉,安全框架,apache旗下基于用户-角色-权限模型的安全框架)
  5. SpringBoot(对spring的相关功能进行了封装,完美的避开复杂的配置,开箱即用,能更专注于业务开发)

5.微服务

1,SpringCloud(治理boot开发的微服务,提供了一套微服务的生态链/解决方案)
① eureka(服务注册中心和zookepper那个家伙一样,充当服务与服务之间的桥梁)
② gateway(网关)
③ fegin(负载均衡)
④ 等等…

2,Dubbo(这家伙也是服务微服务架构的,不过只专注于微服务的服务,其他微服务的事情不管)
① zookepper(注册中心,注册生产者和消费者,这家伙长得像个管道工人)
② dubbo这家伙也有自己的管理控制台和监控中心(可以管理微服务和监控微服务)

6.项目构建工具

  1. Maven(这兄弟集中管理jar包的,没那么高大上)
  2. Gralde(这位兄弟也是管理jar包的,我是没用过…只听其名)

7.版本控制工具

  1. Git(目前主流的版本控制工具吧!有对应的仓库的github,全球最大的同性交友网站)
  2. SVN(没用过,也是版本控制工具)

8.中间件/容器

  1. Swagger(丝袜哥,这位哥是接口文档,提高前后端沟通的效率)
  2. Nginx(web服务器,毛子用c语言写的,一般用来给那只tom猫做负载均衡/反向代理用,如有分布式文件存储需求,可和FastDFS这位兄弟联手)
  3. Redis(缓存数据库,有很多功能,一般就作为缓存来用,最常用的就是SSO单点登录,还有前后端开发中的数据缓存)
3.1.单点登录,这里还有spring官方的一个家伙叫作SpringSession,也可实现(后面写一篇关于sso的文章吧..也是自己在项目中经常用到的)

4,RabbitMQ(消息中间件,有6种工作模型,一个系统发送消息给这位兄弟,这位兄弟接收到消息发送给其他系统,比如…用户注册功能,注册成功后,发送手机短信同时发送邮件提醒)
4.1.还有一位哥叫作Kafka也是消息队列,本人没用过
5,还有个家伙叫作FastDFS(分布式文件系统,学过没用过…)
6,Docker(大鲸鱼背上装集装箱,环境独立,互不影响,容器化技术 解决运维与开发环境不同)

9.杂七杂八的技术

1,数据库层面的
① jdbc(这没啥说的.Java提供的操作数据库的官方api)
② mybatis-plus(支持逆向代码生成,偷懒工具.)
③ springdata-jpa(spring官方的一个框架,这家伙有一个利用其他语法代替sql的好处,新技术都是懒人搞出来的…)
2,身份校验层面的
① jwt(java_web_token) 这位哥可比cookie/session好用多了!也更安全,也是单点登陆的一种方案(最常用的是把jwt存在redis中)
② oauth2(第三方登录开源组件…),其实github上还有比这个更好用的开源项目,开箱即用

10.Linux

1,服务器基本都是linux吧,安全开源轻量,当服务器最合适不过了!(记不住没关系,忘了百度查,知识大爆炸的时代…记不住会查会用就行)
1.1.最基本的防火墙操作要知道吧
1.2.把一个服务加到系统服务并且设置为开机自启要知道吧
1.3.SSH要会用吧(阿里云还有个安全组的东西也要会用,不要开了防火墙没更新安全组…这就很尴尬了)
1.4.基本的linux操作要知道吧(java主流的技术栈在Linux中怎样配置一定是要会的,)
1.5.最后是我对Linux这块的看法(在工作中经常用到的也就那么些,可以忘记,但是不能不会查,解决问题的能力和搜索能力是每个优秀的程序员必备的技能)

11.工具

1,开发工具
1.IntelliJ IDEA(推荐使用,这家伙是真的好用!)
2.Eclipse(前几年还可,现在还有人再用)
3.STS(Spring官方自研的开发工具,定制版的eclipse)
可能还有其他的开发工具…但是不实用也不主流,这里不推荐

2,压测工具
1.jmeter(接口压力测试工具,也可以当作接口测试工具来用)

3,JVM调优工具
1.jprofile(jvm分析调优工具)

4,查看代码工具
1.SublimeText(这个软件针不戳 推荐)
2.EditPlus(也还好,反之我装了没用过…)

5,远程连接工具
1.XShell(远程连接工具 稳定 用户量大)
2.XFTP(远程文件传输工具)

6,数据库连接工具
1.Navicat Premium 12(界面清爽,支持各种数据库连接,我用的挺爽,缺点:收费)
2.sqlyog(界面一般,功能和上面差不多 优点:免费)
3.redis desktop manager(redis官方连接工具,大方美观,稳定性好,用这也挺爽 缺点:收费)
4.fastoredis(开源的redis管理工具)

7,数据库设计工具:
1.workbench(orcale官方出品的mysql数据库设计工具)
2.PowerDesigner(功能齐全,也还好 缺点:收费)
3.PDMan(国产开源,功能齐全 优点:开源免费)

8,接口测试工具
1.Postman(功能齐全,不收费 缺点:太重了 现在有很多插件可以代替)
2.HTTP Client(idea中就自带的一个插件 挺好用)

9,JSON可视化工具
1.JsonView(一般作为插件使用,客户端只有windows版本)

10,HOST工具
1.SwitchHosts(支持修改本地Host以及远程的)

11,虚拟机工具
1.vmware workstation pro(这估计都没啥说的,主流虚拟机软件就是这家伙)

12.镜像仓库/开源镜像

  1. Maven仓库(这家伙经常让人机验证,不太喜欢用)
  2. 阿里云仓库
  3. 国内常用开源软件镜像源
    在这里插入图片描述

零基础学习Java的小伙伴,可以加入我的十年Java学习群:3907814
技术交流,答疑解惑,资源共享,还有我整理的一些Java学习手册,开发工具,面试题,PDF文档教程等等。

  • 8
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值