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

本文作者分享了学习Java技术栈的心得,强调基础的重要性,并按顺序介绍了JavaSE、前端基础、数据库、框架、微服务、构建工具、版本控制、中间件、杂项技术和Linux工具。重点提及了JDK、Mybatis、Spring Boot、Docker、Git、Redis等,并推荐了相关工具如IntelliJ IDEA、Navicat等。作者认为学习新技术应从基础开始,结合应用场景实践,并通过笔记和场景式记忆巩固知识。


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.国内常用开源软件镜像源

开源项目镜像国内镜像源
CentOShttp://mirror-status.centos.org/#cn
Archlinuxhttps://www.archlinux.org/mirrors/status/
Ubuntuhttps://launchpad.net/ubuntu/+cdmirrors
Debianhttp://mirror.debian.org/status.html
Fedora Linux/Fedora EPELhttps://admin.fedoraproject.org/mirrormanager/mirrors
Apachehttp://www.apache.org/mirrors/#cn
Cygwinhttps://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/
### 2025年Java主流技术趋势预测 随着技术的不断进步,Java作为一门经典且广泛使用的编程语言,在未来几年内仍然会保持其重要地位。然而,为了适应新的行业需求和技术挑战,Java技术栈也在不断演变和扩展。以下是2025年Java主流技术的趋势预测: #### Kotlin与Java的无缝融合 在未来的Java生态系统中,Kotlin将成为不可或缺的一部分。Kotlin以其简洁、安全和互操作性强的特点,能够与Java代码无缝集成。这种融合不仅提升了开发效率,还降低了代码中的常见错误,例如空指针异常。开发者可以利用Kotlin编写更现代化的代码,同时继续使用现有的Java库和框架[^1]。 #### 强化的人工智能与机器学习支持 人工智能(AI)和机器学习(ML)正在深刻影响各个行业。Java社区也在积极拥抱这些新兴技术。预计到2025年,Java将提供更强大的AI和ML工具集,例如深度学习框架的支持和优化。开发者可以通过Java调用TensorFlow或PyTorch等框架,构建复杂的AI模型,从而满足业务需求[^2]。 #### 微服务架构与云原生技术 微服务架构将继续成为Java应用开发的主要模式之一。容器化技术(如Docker)和编排工具(如Kubernetes)将进一步推动云原生应用的发展。Spring Boot和Spring Cloud等框架将为开发者提供更高效的微服务开发体验,简化配置管理和分布式事务处理等问题。此外,Serverless架构也将逐渐普及,使开发者能够专注于业务逻辑而不是基础设施管理[^3]。 #### 领域驱动设计(DDD)与事件驱动架构 领域驱动设计(DDD)作为一种软件开发方法论,可以帮助团队更好地理解和建模复杂业务领域。结合事件驱动架构,开发者可以创建更具弹性和可扩展性的系统。Java生态系统中已经有许多工具和框架支持这一趋势,例如Axon Framework和Eventuate[^3]。 #### 更加注重性能与安全性 随着计算模式从硬件向软件和算法转变,性能优化和安全性将成为Java技术栈的重要组成部分。开发者需要关注低延迟、高吞吐量的应用场景,并确保系统的安全性以防止潜在的攻击。Java虚拟机(JVM)的持续改进以及新的加密技术和协议的应用将为此提供支持[^3]。 ```java // 示例:使用Spring Boot和Kotlin开发一个简单的REST API @SpringBootApplication class DemoApplication fun main(args: Array<String>) { runApplication<DemoApplication>(*args) } @RestController class HelloController { @GetMapping("/hello") fun hello(): String { return "Hello, World!" } } ```
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wudskq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值