第二年终于开启了Java基础知识的大门。
基础语法,Java
常量与变量、Java
运算符、Java
流程控制之选择结构、Java
流程控制之循环结构、Java
数组之一维数组、Java
数组之二维数组以及Java
方法,数组移位与统计。
依稀还记得学完后的的期末考试最后一道题,使用for
循环写一个简单的1+2+...+100
的求和sum
。
里面的知识就不细讲了,聊下去都可以写好几篇文章了,就不多BB了。
接着Java
基础往后,就是Java
编程技术开发了,属于进阶知识范畴。
-
Java
面向对象多态、封装和继承以及单例模式。 -
Java
常用工具类 ,Java
异常 ,Java
包装类,Java
字符串 ,Java
集合 ,Java
集合排序 ,Java
泛型,Java
多线程,Java IO
输入输出流以及JDBC
的使用。
这里也不做过多的赘述,就给出一个简单的BuddleSort
(冒泡排序,稳定,O(n2)),有些公司对应届生都会问到这个算法,笔试题上也会经常出现,当然掌握一些其它的更好:归并排序(稳定,O(nlogn))、快速排序(不稳定,O(nlogn))、堆排序(不稳定,O(nlogn))、二叉树排序(稳定,O(nlogn))等等。
其实上面的代码有点小问题,细心的同学是不是发现了array.length
出现了很多次,可以抽出来赋值(int n = array.length;)
给n
,看起来也舒服一点。是不是很纳闷,我怎么不直接贴代码,直接粘贴复制没多大意义,在于平时带着理解多练练,自然就会了。
建议初学的时候能手动敲,尽量手动完成代码,不要想着走捷径。
编程这个行业是没有捷径可走的,有的只是前人通过自己的经验总结出来的,让你在学习的大方向上少走弯路而已。
紧接着又恶补了Android
基础和进阶这两本书,当然也涉及到了SQLLITE
数据库的知识点。
前面也讲到了,由于Android
在我们毕业的那一年并不是很吃香,就业形势不是很好,就被舍弃掉了。当时还是很喜欢Android
开发的,毕竟开发完后可以看到优美的界面,不像Javaweb
那样只是编写API
接口和一些前端的JS
,只能看到后台管理界面感觉很枯燥乏味。
学完Java
编程进阶篇后,就开启了Oracle
数据库的学习之旅。
在这之前其实已经有了SQLServer
的基础,学习来相对简单一些。印象比较深的是一些聚合函数sum
,min
,max
,avg
,count
统计函数。还有联合查询,主要有inner
join
内连接,left outer join
左外连接,right outer join
右外连接,full outer join
全外连接。还有分页查询Oracle
与MySQL
的有所区别,MySQL
的是使用limit
关键字。
当然还有一些SQL
高级知识,比如游标,存储过程和视图这些可以去了解使用的方法,这里不做过多赘述。也不深究怎么去安装Oracle
数据库了,CSDN
上应该有不少很详细的教程。
Oracle
的分页查询是这样的,以scott
账户下的emp
表为例子:
首先查询一下emp表
Select * From scott.emp
–查询第6~11数据通过嵌套子查询,使用到关键字Rownum和where
Select * From (Select emp.empno,Rownum r From emp Where Rownum<=11) Where r>=6
先进行排序,再分页查询
–排序
Select * From emp e Order By e.empno Desc
–分页
Select * From (Select e.*,Rownum r_num From(Select * From emp e Order By e.empno Desc )e)b Where b.r_num between 6 And 11
学完Oracle
之后,接着迎来了JavaScript
这门前端必备的编程语言。
前端同学必备学习编程语言,当然随着业务需求后端开发也是要会的,国外很流行全栈工程师,当然在国内全栈工程师肯定也是很吃香的,想想老板请你一个顶几个,偷着乐。
个人理解,一般都是和HTML网页搭配着使用,写完js
文件,举个例子使用:
<script src="js/mui.min.js"></script>
标签引入。
还有引入方法,给出例子如下:
还有经常使用到的var
定义变量,值得注意的是现在java
也支持了。其它的就不多说了,后面接着聊JSP
。
学完JavaScript
后,开始了新的征程。
这是进入到Web
开发中,一开始不是ssh
和ssm
这些,而是JSP
和servlet
。
说道JSP。我前几年出去面试时已经很少遇到公司会问了,但是还是得做些准备。
4大作用域和9个内置对象还是有印象的。
4大作用域介绍。Application
作用于整个应用程序。page
作用于页面。request
代表与 Web
客户机发出的一个请求相关的对象和属性,可能跨多个页面。session会
话属性,经常会跨越多个客户机请求。
9个内置对象。内置对象包含request
用户端请求,此请求会包含来自 GET/POST
请求的参数,response
网页传回用户端的回应,pageContext
网页的属性是在这里管理,session
与请求有关的会话期,application servlet
正在执行的内容,out
用来传送回应的输出,config servlet
的构架部件,page JSP
网页本身,exception
针对错误网页,未捕捉的例外。
继JSP
之后,才开始学习了当时大公司都在用的ssh
框架。
根据个人理解整理。ssh
指的是Struts2
(相对于springmvc
就有点老了)、Spring
(相信大家应该有所了解)以及Hibernate
(ORM
持久化框架)。
肯定会有疑问,Struts2
和Struts
是啥关系,之前学的时候注意到介绍Struts2
是以webwork
为核心。Spring
是一个轻量级web
容器框架,尤其是SpringAOP
面向切面和SpringIOC
控制反转这两块在面试中提到比较多。Hibernate
底层封装了JDBC
,一款开源关系映射框架,编写DAO
数据访问层更方便了。
Struts2 是目前较为普及和成熟的基于MVC设计模式的web应用程序框架,它不仅仅是Struts1
的升级版本,更是一个全新的Struts架构。最初,是以WebWork框架和Struts框架为基础,通过提供增强和改进的Struts框架,进而实现简化web技术人员开发工作的目标。不久之后,Webwork框架和Struts社区联合创造了现在流行的Struts2框架。
ssh
框架学习完后,快到第三年了。期末考试弄了个ssh
框架整合,具体也记不清了,反正用MVC
三层架构写了个CURD
就算通过考核了。
再后来就是去工厂流水线实习,无力吐槽。
计算机专业跑去流水线实习半年,学的知识怕不是忘掉了大部分。也不知道大专暑假出去实习,是不是都被学校安排进了流水线,学校和工厂是否有PY交易就不得而知了。犹记得当时我因为体检时某一项超了一点,电子厂居然不让进去了,来回的车费算是打水漂了,当做暑期去常州的一次旅行了。
紧接着就是校企合作,美其名曰校企合作。其实真实情况就是与培训机构合作。
来到了培训公司的分部,当时在武汉软件新城。进行了为期5个月左右,不到半年的培训。
学习一些大学没教过的知识点,用小项目来练手。最开始是写ssh
框架的,基本上后台页面使用jsp
进行开发的,前后端分离当时也没涉及到。边做项目时,用到jQuery
就是现学现用,ajax
也一样。后面开启了ssm
(springmvc+spring+mybatis
(ORM
持久化框架,底层封装JDBC
)),在这期间使用到了easyUI
现学现用,使用到了maven
中央仓库,不再是用传统的导入jar
包形式。当然还用到了svn
,以小组形式,每组5人协作开发。
把ssm
框架单独拿出来聊一聊吧,spring
就不多聊了,用起来很爽,字面意思就看出春天来了。让我想起了一首歌的歌词:春天花会开,鸟儿自由自在。看看springmvc
的介绍
提供了构建 Web 应用程序的全功能 MVC 模块
后期进化到springboot
,进一步简化了pom.xml
配置文件,超级进化就是springcloud
微服务架构了,有兴趣的可以去了解了解。现在springboot越来越受欢迎了,值得大家去学习学习。看看官网的截图,spring官网直通车
用了mybatis后是真心觉得好用,个人觉得配置比hibernate用起来舒服多了。
======================================================================
mybatis3在github上的开源代码我就不做过多介绍了。
mybatis-plus,是mybatis的增强工具,很多公司目前也在用,建议大家去了解一下,会有意想不到的收获,在之前还是建议了解下原版的mybatis。
相信很多人都用过:程序员都在用的网站,你值得拥有,github
GitHub访问太慢,建议使用gitee:https://gitee.com/
培训结束后,就各奔东西了。
由带队老师带领想去哪些大城市找工作的,基本上是在地铁口附近租房子。前期让你写完个人简历,然后海投简历(包装1到2年,懂得都懂)。
美其名曰校企合作,有就业保障,推荐就业。其实就是带队老师监督你自己去应聘。期间推荐过一回,居然事先并没打好招呼,让三个人一起去面试,是不是很无语。
推荐几个学习网站给大家:第一个是我的初恋情人慕课网,免费课程也有很多,在于去挖掘,希望对想入行的起到一些帮助吧。
程序员都知道网站github,认真看下来的肯定是看到了,前面介绍过了github直通车。
还有一个是:依托于Git的代码托管服务的网站gitee,访问更快,大家都懂得
======================================================================
再推荐几本我高中时代就在阅读的书籍
百年孤独
鲁迅全集,诗歌散文集值得阅读,尤其是朝花夕拾。
曾国藩家书。曾国藩,晚清中兴第一名臣,值得大家学习。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
最后
面试是跳槽涨薪最直接有效的方式,马上金九银十来了,各位做好面试造飞机,工作拧螺丝的准备了吗?
掌握了这些知识点,面试时在候选人中又可以夺目不少,暴击9999点。机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。
体系化!**
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-qUoDy3r7-1711987859755)]
最后
面试是跳槽涨薪最直接有效的方式,马上金九银十来了,各位做好面试造飞机,工作拧螺丝的准备了吗?
掌握了这些知识点,面试时在候选人中又可以夺目不少,暴击9999点。机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。
[外链图片转存中…(img-8J1K5TQu-1711987859755)]
[外链图片转存中…(img-UTGC8Suu-1711987859756)]