答应我,别再学 Swing 框架了好吗?
背景
今天逛论坛的时候发现又有人在讨论 swing 还有没有必要学,这让我想起来之前也有很多人问过我这个问题,比如这名学生做课设,是要做一个在线考试系统,老师强制要用 swing 框架

如果说这个我还可以理解的话,因为学校毕竟不是培训机构,学校是教理论的地方,所有高效普遍都是用 C 执教,Java 一般大二左右才会开始学习,的确也没有义务教会学生职业技能,而且老师们大部分时间都在任教,没怎么接触过企业那一套也无可厚非。
不是有句玩笑话吗,只有学过 swing 的人才知道 spring 有多香!
但下面这个工作两年的同学还在用 swing 框架,我就感觉有点匪夷所思了 0.0

着实没想到 2021 了,除开学校不算,Java 中的 Swing 早被淘汰了,哪个项目还会用这玩意编写客户端界面呢,企业里居然还有人在用 swing 开发!
所以,我实在看不下去了,而且之前也有很多同学问过我学到什么程度才可以找到工作,相信这也是很多大三大四的同学所关心的,今天这篇文章就来跟大伙好好唠唠,希望能帮助一些菜鸟从学校平滑过渡到企业。
话不多说,坐稳扶好,发车喽!
一、开发工具
作为一名开发人员应始终了解他们使用的工具,是事倍功半还是事半功倍就看你会不会正确的使用开发工具了。工具用对了,你就可以更加轻松高效地完成工作
1、Intellij IDEA

这个不用我多说了吧,如果你想写出质量杠杠的 Java 代码,又想追求开发效率,用 Intellij IDEA 准没错
2、Ubuntu Linux

我一直在使用 Linux 作为主要操作系统。我使用的第一个发行版是 2012 年的 Ubuntu 12.04 LTS。我尝试了许多 Linux 版本。Kali,Debian,Pirot,Mint 等。我发现 Ubuntu 是一个开发人员友好的发行版,其中包含许多开发人员工具。在 Dell Vostro 5590 中,我一直使用 Ubuntu 20.04.1 LTS focus 作为主要操作系统
3、Vim

VSCode 是轻量级的,VSCode 的一大特点就是你可以通过多种方式来调整设置,而且 Vim 可以和 VScode 集成在一起,它还带有一个集成终端,可用的扩展太多,使开发人员的工作变得更加轻松
4、Docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 机器上,也可以实现虚拟化
5、Git

Git 是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容。我远程代码存储操作都是选择 Github 和 GitLab
这里我得多提一嘴,虽然很多人都知道 GitHub,但事实上会使用 GitHub 的人并没有想象中那么多,甚至可以说是很少,我建议不管菜鸟还是老鸟都要善于使用 GitHub,这会让你省很多事。
6、Lucid Chart


作为软件工程师或开发人员,我们喜欢将要构建的复杂系统用可视化图表表示除了,Lucidchart 是我用来绘制 UML 图表和 AWS 架构的工具
7、Swagger Editor

Swagger Editor 是一款非常不错的 API 开发工具,专门用于生成一个具有互动性的 API 控制台,开发者可以用来快速学习和尝试 API。还可以生成客户端 SDK 代码用于各种不同的平台上的实现
8、Figma

Figma 是一个矢量图形编辑器和原型工具,主要是基于浏览器了,支持 macOS 和 Windows 桌面应用程序的离线功能,面向 Android 和 iOS 用户的 Figma Mirror 允许你在移动设备上查看 Figma 原型
9、htop

htop 是一个交互式系统监视、进程查看和进程管理器。它被设计为 Unix 下的任务管理器 top 的替代品,它显示了在计算机上运行的进程列表,通常按 CPU 使用量排序,她还可以垂直和水平滚动列表以查看所有进程和完整的命令行。
除了我说的这些其实还有很多有趣又实用的工作,为了不使文章显得累赘这里就不提了,感兴趣的同学可以自己去网上搜索。
这些工具不知道去哪里下载的可以点击这里下载>>开发工具压缩包
二、Java 基础
很多人有个误区,认为一直在简历上疯狂堆项目经验就可以提高自己在面试官中的地位,这样做严格说起来其实也不算错,但前提是这些项目够分量,而你的熟练度也够高,不然一问三不知,只会适得其反。
相比于去剑走偏锋,我认为打磨自己的基础来得更加实在和稳妥,毕竟一个刚毕业的大学生,除了极个别弄潮儿,哪来的那么多项目经验,那这时候面试看什么呢?
就看你的 java 基础和是否有被公司培养的价值。
像 Java 的数据类型、Java 的运算符、Java 的流程控制、Java 的面向对象、Java 的异常处理,这些都是最基础的东西,是初学 Java 的时候必须掌握的知识点。
然后是 Java 集合框架、Java IO、Java 网络编程、Java 多线程并发、Java 虚拟机,这些是 Java 中比较核心的知识点,也是必须要掌握的。
我也给大家整理了一份 Java 基础知识总结,里面涵盖了 Java 所有的知识点,包括 Java 语法、Java 集合框架、Java IO、Java 并发编程和 Java 虚拟机,内容不多,只讲重点。

需要的朋友点击这里领取>>Java基础知识总结
三、MySQL
先来看一下 MySQL 的知识体系

「《SQL 必知必会》」
非常受欢迎的 MySQL 入门书籍,也可以当作工具书来用。

「《高性能 MySQL》」
MySQL 领域的经典著作,进阶必看。

然后其他的书的话,《MySQL 技术内幕》和《高性能 MySQL》也很不错,如果想更深入的学习 MySQL 的话,这两本书绕不过的。
四、Spring
想成为一名合格的 Java 后端开发工程师,Spring 的系列框架是必须得掌握的,swing 在 spring 面前就是个弟弟。
从 SSM(Spring+Spring MVC+MyBatis)到 Spring Boot,再到 Spring Cloud,都得会用事实上,Spring 早已成为 Java 后端开发的行业标准,如何用好 Spring,是 Java 程序员的必修课之一。
由于 Spring 的快速发展,它逐渐从一个轻量级的开发框架变成了一个“庞然大物”,越来越笨重,导致搭建一个应用程序的成本越来越高,于是 Spring Boot 就应运而生了,它能帮助开发者快速搭建出一个独立应用,只需要很少的配置就可以了。可以毫不夸张的说,Spring Boot,牛逼!
对 spring boot 陌生的同学也别着急,好好踏实恶补一下,这里推荐一下我在某某上发布的一些系列视频,还挺受欢迎的,需要的朋友可以去学习一下

然后用 spring boot 框架写几个项目之后你就会爱上它,如果不知道去拿找合适的练手项目,我这里也收集了一些经典 Java 练手项目

同样的,可以直接点击链接领取>> 练手项目源码
Spring Cloud 利用 Spring Boot 的开发便利性,巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,可以说,Spring Cloud 的诞生,又一次解放了 Java 程序员的生产力。
总结
掌握好我说的这四个点,你要是找不到工作你来找我,我给你内推进字节和京东,妥当不?
往期热文:
end
版权声明: 本文为 InfoQ 作者【北游学Java】的原创文章。
原文链接:【http://xie.infoq.cn/article/21f8833b2f065ae053719f9e7】。文章转载请联系作者。
评论