java自学好学吗?有哪些需要注意的问题?
自学Java难度是很大的,很多你不懂的知识和概念你只能去网上查,但是网上的结论各种各样的都有,无法进行深入的学习。
就算要自学也要有目标的去学习,首先你先整理出来一个大纲,第一步学什么,第二步学什么。
然后一步一步来,比如第一步先学JAVA语言,搞明白什么是类,什么是对象,以及面向对象、继承、多态以及什么是servlet等。
第二就是你要学习一门数据库语言,为什么要学数据库呢?因为单j***a语言是实现不了具体业务的,需要和数据库还有框架协同开发才能实现具体业务,目前市场上流行的数据库有mysql,sqlserver,oracle,等,
第三就是前后端的交互了,你要学习一些框架知识,目前主流的三大框架就是SSM,也就是人们常说的spring,SpringMVC,Mybatis等,除了这些之外你还要掌握redis,Springboot,和springcloud,xml等,目前这些都仅仅是后端而已,要想正真的做到前后端交互,还有很多前端的东西要学。J***A之路漫漫,其修远兮,且学且慎重。
以上仅个人观点有限,不足之处请指正,欢迎评论区留言或者私信讨论,点赞+关注还可领取面试题一套哦
总的来说,J***a还是有一定难度的,这个难度主要集中在学习的初期阶段,如果能度过J***a的初期学习阶段,那么J***a后面的学习会相对容易一些。
初期学习J***a时要注重对核心概念的理解,以及掌握面向对象的编程过程,下面描述一下早期学习的几个重点部分:
J***a语言中重点的概念有4个,分别是类、对象、属性、方法,这4个概念奠定了J***a编程的基础,所以首先就要从这几个概念入手。
什么是类?类是同一类事物概念层次上的抽象。简单的说,类代表了一组功能的***体,相当于设计图纸。类中有两个重要的组成部分,一个是描述功能的基本单位:方法,另一个是描述状态的基本单位:属性。所以说,类是由方法和属性共同组成的。
那么,什么是对象呢?如果说类是“图纸”的话,那么对象就是“实物”,类中所定义的方法,必须要通过对象才能真正执行。
面向对象编程过程有三个步骤组成,分别是:类的定义,对象的创建,方法的调用。这三个步骤代表了面向对象编程的基本流程,可以看成是面向对象编程的基本原则。
学完了J***a的编程过程,紧接着就要学习J***a的三个特征,分别是:封装、继承、多态,这三个特征对理解J***a编程非常关键,是一定要熟练掌握的内容。
什么是封装呢?简单的说就是隐藏类内部的实现细节,具体到操作上,有三个步骤,分别是:私有化成员属性(private),定义设置器(setter),定义获取器(getter)。
什么是继承呢?从一个已知类派生出新类的过程就是继承,继承体现的是一种发展的概念,没有任何发展的继承是没有意义的。
什么是多态呢?同一个对象在不同情况下表现出的不同形式(行为),称为多态,具体到操作步骤上可以理解为两个方法(方法重载、方法重写),三个定义(父类定义子类构建、接口定义类构建、抽象类定义实体类构建)。
面试的阿里前端,问了我一堆j***a的问题是为啥?
我想这位面试官想了解你除了前端之外是否还对J***a后端是否熟悉。因为做前端开发,如果能了解后端的一些技术知识,对项目开发是很有帮助。这样也可以减少前端和后端之间不必要的沟通。
现在前端不仅仅是写页面,分布式架构后,前端的服务器也有j***a代码,一般要求都懂点。不过面试你仅仅问j***a的问题,大概率是写前端的没来或者较忙,找了个只会j***a的。
我的一个朋友之前是做j***a后端,两年的工作经验,然后又学了前端 ,他按前端和全栈找工作的,他面的美团还是那个基金公司的时候就是,问一点前端的,剩下的时候都在问后端的技术,两个人后端的问题聊起来了。
这种现象可能是面试官是后端的,要么就是想看看你有没有全栈的技术,有些前端的招聘虽然你之后的工作是前端,但是问的是全栈的问题,这种现象也不是没有,虽然现在都是前后端分离了,我朋友跳槽的新公司,就有些老的项目和官方[_a***_]都是前后端没有分离。
作为一名IT行业的从业者,我来回答一下这个问题。
其实不少后端程序员在面试的时候都会被面试官问到大量的前端开发问题,似乎后端程序员已经习惯了,但是前端程序员被问到后端问题,似乎前端程序员还没习惯,不过随着产业互联网的发展,前端程序员被问到后端问题将是一个趋势。
在多年之前我所在的开发团队就要求所有前端开发人员需要学习并掌握一定的J***a开发技术,所以看到这个问题,我并不感到意外。
随着移动互联网、大数据、物联网等相关技术的不断发展,目前前端开发人员的工作边界得到了较大程度的拓展,知识结构也越发丰富,从而形成了目前所谓的“大前端”概念。如今前端开发团队通常需要完成Web前端开发、Android开发、iOS开发、各种小程序开发、大数据呈现端开发以及各种智能终端设备的前端开发,另外随着Nodejs的发展,前端开发人员也逐渐开始走向后端,前后端开发的界限越来越模糊。
前端开发后端化将是未来一个重要的发展趋势,所以对于前端开发人员来说,掌握一定的后端开发知识越来越具有实际意义,也许这正是不少面试官都会问前端开发人员关于J***a开发方面问题的原因。
对于前端开发人员来说,掌握一定的J***a开发技术不仅能够方便前端开发任务的顺利进行,同时也能独立完成一些后端服务的搭建,这样会在很大程度上提升开发效率。当前不少互联网公司都陆续开始以数据为驱动方式来运营公司,开发团队逐渐小型化,以适应数据驱动产品研发的新模式。所以对于程序员来说,承担更多的开发角色将是一个不可避免的事情,未来程序员全栈化也将是一个重要的趋势。从这个角度来看,前端程序员掌握一定的后端开发知识似乎是完全有必要的。
相信未来前端程序员在面试过程中将会遇到不少关于后端开发的问题,尤其是互联网公司。
我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
如果有互联网方面的问题,或者考研方面的问题,都可以咨询我,谢谢!