背景
今天逛论坛的时候发现又有人在讨论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 程序员的生产力。
总结
掌握好我说的这四个点,你要是找不到工作你来找我,我给你内推进字节和京东,妥当不?
往期热文:
- Java基础知识总结
- 性能调优系列专题(JVM、MySQL、Nginx and Tomcat)
- 从被踢出局到5个30K+的offer,一路坎坷走来,沉下心,何尝不是前程万里
- 100个Java项目解析,带源代码和学习文档!
end