Java主流的技术栈及工具

  • 提一嘴我对学习一门新技术的心得
  • 1.从基础开始
  • 2.前端基础
  • 3.数据库
  • 4.框架
  • 5.微服务
  • 6.项目构建工具
  • 7.版本控制工具
  • 8.中间件/容器
  • 9.杂七杂八的技术
  • 10.Linux
  • 11.工具
  • 12.镜像仓库/开源镜像

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

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


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

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

3.第三个就是关于学完新技术后,过两天就忘了…然后无限套娃操作,学完忘,忘了又学…至于为什么会出现这种情况,并不是我们没有学会这门技术,而是技术这玩意,得用,
1.第一个记笔记
2.要结合具体的应用场景(项目),把这门技术用到,可以称为场景式记忆!
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 官方网址
贴心小助手(msyql驱动jar包也放这里) 点击下载,密码:fn8r

2.JDBC(java操作MySQL数据库的一套API而已)

3.有个玩意叫作数据库连接池(想到的东西都会写这里,可以当作学习路线,也可以当作回顾来看,对于我自己来说,看作是温故知新回顾更好!新的技术的太多了,学的这些玩意有的用不上的,甚至名字都忘记了…记录下也好,免得白学一趟)
1.druid(这家伙有一个叫作数据源监控的功能,非常好用!) 官方网址
2.c3p0 官方网址

4.框架


1.Mybatis(持久层数据库框架) 官方网址

贴心小助手(mybatis包也放这里) 点击下载,密码:b9q3

2.Spring(目前Java最流行也是大腿的容器框架,Apache官方出品的大杂烩框架) 官方网址

3.SpringMVC(JavaWeb框架,目前主流框架) 官方网址

4.Shiro(蟹肉,安全框架,apache旗下基于用户-角色-权限模型的安全框架) 官方网址

5.SpringBoot(对spring的相关功能进行了封装,完美的避开复杂的配置,开箱即用,能更专注于业务开发) 官方网址

5.微服务


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

2.Dubbo(这家伙也是服务微服务架构的,不过只专注于微服务的服务,其他微服务的事情不管) 官方网址
1.zookepper(注册中心,注册生产者和消费者,这家伙长得像个管道工人) 官方网址
2.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种工作模型,一个系统发送消息给这位兄弟,这位兄弟接收到消息发送给其他系统,比如…用户注册功能,注册成功后,发送手机短信同时发送邮件提醒) 官方网址
还有一位哥叫作Kafka也是消息队列,本人没用过

5.还有个家伙叫作FastDFS(分布式文件系统,学过没用过…) 官方网址

6.Docker(大鲸鱼背上装集装箱,环境独立,互不影响,容器化技术 解决运维与开发环境不同) 官方网址

9.杂七杂八的技术


1.数据库层面的
1.jdbc(这没啥说的.Java提供的操作数据库的官方api) 学习网址
2.mybatis-plus(支持逆向代码生成,偷懒工具.) 官方网址
3.springdata-jpa(spring官方的一个框架,这家伙有一个利用其他语法代替sql的好处,新技术都是懒人搞出来的…) 官方网址

2.身份校验层面的
1.jwt(java_web_token) 这位哥可比cookie/session好用多了!也更安全,也是单点登陆的一种方案(最常用的是把jwt存在redis中) 官方网址
2.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.国内常用开源软件镜像源

开源项目镜像 国内镜像源
CentOS http://mirror-status.centos.org/#cn
Archlinux https://www.archlinux.org/mirrors/status/
Ubuntu https://launchpad.net/ubuntu/+cdmirrors
Debian http://mirror.debian.org/status.html
Fedora Linux/Fedora EPEL https://admin.fedoraproject.org/mirrormanager/mirrors
Apache http://www.apache.org/mirrors/#cn
Cygwin https://www.cygwin.com/mirrors.html
网易开源镜像站 http://mirrors.163.com
清华大学开源软件镜像站 https://mirrors.tuna.tsinghua.edu.cn
中科大开源软件镜像站 http://mirrors.ustc.edu.cn/
阿里巴巴开源软件镜像站 http://mirrors.aliyun.com/
华中科技大学开源镜像站 http://mirror.hust.edu.cn/
兰州大学开源镜像站 http://mirror.lzu.edu.cn/
淘宝 NPM 镜像 https://npm.taobao.org/
清华大学开源软件镜像站 https://mirrors.tuna.tsinghua.edu.cn/
中科大开源软件镜像站 http://mirrors.ustc.edu.cn/
阿里巴巴开源软件镜像站 http://mirrors.aliyun.com/
华中科技大学开源镜像站 http://mirror.hust.edu.cn/
兰州大学开源镜像站 http://mirror.lzu.edu.cn/

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

  1. java技术栈是什么意思?一次认全9大主流技术栈!

    Java技术栈是指一组在Java开发中广泛使用的技术和工具集合,包括Java编程语言.Java虚拟机.Java类库.Web开发框架.数据库.IDE等.Java技术栈广泛应用于企业级Web应用程序的开发 ...

  2. 现阶段主流技术栈开发框架

    现阶段主流技术栈和开发框架: 分类 技术 描述 构建工具 Maven Java 项目管理工具,它不仅可以用作包管理,还有许多的插件,可以支持整个项目的开发.打包.测试.部署等一系列行为. Gradle ...

  3. Java后端技术栈,到底如何深入学习?

    Java,是现阶段中国互联网公司中,覆盖度最广的研发语言.有不少朋友问,如何深入学习Java后端技术栈,今天分享一个,互联网牛人整理出来的Java深入学习路线图,以及免费学习资料. 一.阅读源码 深入 ...

  4. java中间件源码_《Java中间件技术及其应用开发》PDF下载

    资源名称:<Java中间件技术及其应用开发>PDF 下载 < 内容简介······ 本书使用丰富的案例介绍了使用Java技术进行中间件编程的方法及技巧,包括JSP.Java serV ...

  5. Java新手看招 常用开发工具介绍

    Java新手看招 常用开发工具介绍 Java的应用越来越广泛,学习Java的人也越来越多.学过程序设计的人知道,使用Basic进行程序设计,可以使用QBasic.Visual Basic等开发工具:使 ...

  6. 互联网大厂的后端主流技术栈有哪些?

    来自:文西 | 责编:乐乐 链接:tinyurl.com/uzlgatz          正文    最近公司招聘海外后端研发,所以整理一份技术栈的资料给他们,但是想来这份整理也适用于所有后端研发, ...

  7. Java Web 技术栈

    2019独角兽企业重金招聘Python工程师标准>>> Java Web 开发技术栈示意图: 转载于:https://my.oschina.net/u/2478308/blog/15 ...

  8. 全网最全的 Java各类技术栈 架构图汇总(建议收藏)

    点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/qq_37651267/article/ details/95244623 1. java 类加载器架构 2. JVM 架构 3 ...

  9. SpringBoot+SpringCloud+Mybatis+Vue 电商项目实战,附视频+源码+文档,包含所有主流技术栈。...

    大家好,我是树哥. 今天给大家分享一个电商项目--- 畅购商城.项目采用前后端分离的技术架构. 采用SpringBoot+SpringCloud+Mybatis+Vue为主要技术栈,包括了大型商城的主 ...

  10. SpringBoot+SpringCloud+Mybatis+Vue电商项目实战,附视频+源码+文档,包含所有主流技术栈...

    今天给大家分享一个电商项目--- 畅购商城.项目采用前后端分离的技术架构. 采用SpringBoot+SpringCloud+Mybatis+Vue为主要技术栈,包括了大型商城的主要功能.难点功能以及 ...

最新文章

  1. SAP PM 初级系列2 – 定义计划员组
  2. 字节跳动学习笔记:java多线程实现原理
  3. Intersection of Two Linked Lists
  4. 在html中超链接_HTML 超级链接详细讲解
  5. python---重点(设计模式)
  6. python第三方库全部_自动更新Python所有第三方库
  7. 拉取网页_用命令行管理你的 GitHub 项目,不必再开网页,官方 CLI 工具 1.0 版上线...
  8. 图灵奖背后:一个奥斯卡拿到手软,一个公司卖了 160 亿
  9. spring this.logger.isDebugEnabled()
  10. 【名额有限】腾讯技术工程-运维技术沙龙
  11. zabbix监控mysql集群_zabbix监控elasticsearch集群
  12. 驳《寒门再难出贵子》——谁说寒门大学生没有春天!
  13. 残差自回归模型的R实现
  14. 2019年通信工程考研初试经验帖(366分)
  15. 免费得了一套做自媒体教程,免费分享给大家
  16. 毕业或者想转行做c++服务端开发的时候都很迷茫不知道从哪里开始学习?
  17. 推荐几个自己用过的软件测试博客论坛
  18. walking机器人入门教程-视觉转激光建图-cartographer算法建图
  19. python格式和JSON格式转换
  20. azure服务器_如何使用Azure Functions和SendGrid构建无服务器报表服务器

热门文章

  1. pkg学习--使用pkg打包应用
  2. 三阶魔方6步过程总结
  3. Java提升反射效率
  4. win7显示u盘efi分区_win7下找不到u盘efi分区
  5. a4的尺寸大小转换为像素
  6. 小程序window对象的探索
  7. 基于目标检测的回归创新实验感想(基于yolo v1)
  8. 计算机主机后面辐射大,电脑背面辐射最大吗
  9. 什么是抽样平均误差?
  10. 计算机内存不够在哪里清扫,电脑内存不足怎么清理