如何学习JAVA

来源:互联网 发布:网络新技术专题报告 编辑:程序博客网 时间:2024/04/28 10:41

---------------------背景----------------------------------

纠结很久了,到底该不该自己写博客,写吧,感觉自己还是个菜鸟,写的东西没啥权威性,也怕误导了别人;不写吧,手痒!最终还是决定写点东西,不管正确错误,至少见证了我的成长,就相当于QQ空间吧,随性的写,想到什么就写什么。

我是去年,哦不,是2014年大概九月份的时候开始自学JAVA的,那时候真的是一张白纸,在学校学习了C,C++,C#这些语言。但是我从没想过当程序员,我是学通信的,大一开始就听老师说我们这个专业要不就从事通信软件要不就是单片机硬件。然后,真到了选择的时候,我才发现,原来也没什么可选的。

我明确自己不喜欢搞硬件,那就只有软件了,其实还有一个原因是因为我不知在哪看到这么一句话,“假如你没什么理想,那就来学编程吧”。那时刚好大四开学了,狂热招聘从那时开始,然后周围的人开始疯狂的投简历,我也是跟着他们一起投了起来。我永远忘不了当那个面试官看到我在简历上写的精通C语言,C++语言,C#语言的那种表情,现在想想当时真的太无知了,以为学完学校教的那些什么数据类型,判断语句,循环语句,方法函数(构造函数,析构函数,属性,一般函数),类和继承,以及数组,C的指针,就以为学完这么点东西就算是精通了,老师也没给我们指明方向(好吧,读大学就是读思想,读思维模式)。

在受到了面试打击之后我开始在网上找资料看,也是那时候开始注意起JAVA,当然,肯定不是第一次听说,但是之前确实不知道JAVA有什么用,后来在同学的帮助下,我开始了漫长的JAVA学习之旅。。。

--------------------正文----------------------------------------------------------

以下是我个人理解,思想可以听听,不建议当权威使用:

JAVA是服务端编程语言,与其他编程语言相比,JAVA可以跨平台,而且更安全,因为开源,所以技术很成熟。

JAVA可以做什么?

这是很多初学者想要知道的,前面说了,JAVA主要用于服务器端编程的,那么,首先,什么是服务器?所谓服务器,其实就是我们熟悉的电脑,里面有CPU,有内存,有硬盘,只是参数比我们的个人电脑要好些,我们的电脑也可以当做服务器用,但是性能会不那么好。然后,我们要想别人访问我们的服务器,我们可以写一个项目放到服务器上面,那么,我们写完程序丢到硬盘里面别人就能访问了吗?当然不是,我们需要发布出去,要打开通道允许别人访问,通常是放到WEB容器中,比如TOMCAT,WEBLOGIC等。开启TOMCAT这些容器的服务,就能访问了。讲到这里,应该都大概了解了,最容易想到的就是网站的建设,没错,JAVA可以用来编写网站服务端程序,而且大部分都是这个,但是,服务端并不只是网站,所有要联网的程序都需要服务端去处理业务逻辑。

JAVA学习流程?

这也是很多初学者想要知道的,JAVA有两个方向,一个是JAVAEE(企业服务端应用,如网站),一个是JAVAME(安卓),但是安卓只是使用JAVA的API而已,并没有使用JAVA虚拟机,详情请搜索谷歌和甲骨文的爱恨情仇。但是无论是哪个方向,你都必须掌握的是JAVASE。

JAVASE是JAVA语言的基础,它包含了JAVA的语法和一些基础技术及常用API,如接口,集合类,多线程技术,泛型技术等。建议找本书,比如JAVA核心技术卷1卷2,或者找教学视频从头开始看,打好基础。

学完JAVASE接下来就可以开始学习JAVAEE了,这个涉及的层面太广了,层次不一。EE是规范,也就是接口而已,具体实现是由各个公司去实现的,比如tomcat实现了servlet这些类。

具体可以学servlet,jsp,xml,jdbc,listener,filter,annotation。建议去看教学视频,我就是看了方立勋的WEB视频,讲的很详细,技术虽老,入门足够了,31天的WEB视频教程,可以去网盘搜一下。

学完最好学一下前端语言,html,css,javascript。不要求深入,学一两个月能够看懂代码就好。

再学一下linux常用命令,装个系统自己捣鼓。

然后就是框架的学习了,像spring,struts,hibernate,mybatis,springmvc这些沸沸扬扬的框架可以试着自己搭建出来,做一个小网站。

-----------------------------总结-------------------------------------

可能我写的不够深入也不是那么准确,但是作为初学者一开始就跟他讲分布式架构,什么负载均衡,高并发,高可用,充分利用缓存,讲深入理解虚拟机,讲OS核心,这也不合适吧,况且我也只是一知半解。。

以上这些技术足够初学者学半年以上了,如果有面向对象基础,SE可以学快点。

--------------------------------后续---------------------------------------

从建立个人网站开始,到大型分布式应用。我刚开始学的时候就开始捣鼓了,从最初的,把内网映射到外网,让别人访问,到后来自己买域名,买服务器,备案,这些流程我都可以默写下来了。

0 0
原创粉丝点击