Java程序员必须掌握的知识内容
Java程序员必须掌握的知识内容整理
Java是一项很有用的技术,所谓万变不离其宗,新技术都是基于java的基础之上,如果基础不扎实,对于这些新技术的理解也是一知半解,学不到根源。下面是小编为大家整理的Java程序员必须掌握的知识内容,希望对您有所帮助!
Java程序员必须掌握的知识内容
1、语法:
必须比较熟悉,在写代码的时候 IDE 的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正。
2、命令:
必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer、 HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii、serialver,如果这些命令你没有全部使用过,那么你对java 实际上还很不了解。
3、工具:
必须至少熟练使用一种 IDE的开发工具,例如 Eclipse、Netbeans、JBuilder、Jdeveloper、IDEA、JCreator 或者 Workshop,包括进行工程管理、常用选项的设置、插件的安装配置以及进行调试。
4、API:
Java 的核心 API 是非常庞大的,但是有一些内容笔者认为是必须熟悉的,否则不可能熟练的运用 Java
5、测试:
必须熟悉使用 junit 编写测试用例完成代码的自动测试。
6、管理:
必须熟悉使用 ant完成工程管理的常用任务,例如工程编译、生成 javadoc、生成 jar、版本 控制、自动测试。
7、排错:
应该可以根据异常信息比较快速的定位问题的原因和大致位置。
8、思想:
必须掌握 OOP 的主要要求,这样使用 Java 开发的系统才能是真正的 Java 系统。
9、规范:
编写的代码必须符合流行的编码规范,例如类名首字母大写,成员和方法名首字母小写,方法名的第一个单词一般是动词,包名全部小写等,这样程序的可读性才比较好。
学Java需要什么基础
在编程的世界里,Java一直是企业级别开发最喜欢选择的编程语言,从java目前的就业形势来看还是相当不错的,对于那些想通过学习一门编程语言来丰富自己的生存技能的人,学习java是个不错的选择,可是对于一点编程学习经验都没有的人来说,学Java需要什么基础呢?该如何学习呢?
首先,要具备一些基础的英语基础。学编程离不开与英语打交道。不少英语不好的同学就会担心了,自己的英语基础不好,是不是就学不好Java了。虽然代码里面都是英文字母,但是学起来真的不是很难。代码里面的英文都是固定的标签,只要你记熟那些固定标签,敲起代码来就不是障碍。而且现在的编译器越来越先进,只要你打出首字母,下拉框里你就能选择你需要的英文标签。
其次,面向对象的知识。Java是一个面向对象的开发语言,因此熟悉面向对象知识对学习Java很有必要。你需要了解:什么是对象,什么是类;什么是封装,什么是多态,什么是继承;什么是抽象类,什么是接口。了解了概念后,你还需要这些概念是如何体现的,如类和对象有什么区别?类是如何封装的?深圳嘉华学校的Java大数据开发老师会用实战项目知识向大家生动地讲解相关的Java知识。除此之外,同学们还可以在北大青鸟云课堂听各路大咖讲解前沿的Java技术点。
第三、Java语法的知识。如果你有C++等面向对象语言的开发经验,你只需简单的翻看一下介绍Java的相关书籍就可以了。如果你是新手,没有关系,北大青鸟深圳嘉华学校的老师来帮您,小班教学,大咖面对面辅导。让你零基础也能快速入门。
Java面试基础知识整理
1、Static存在的意义
static主要意义是在于创建独立的具体对象的域变量或者方法,以至于即使没有创建对象,也能使用属性和调用方法,static关键字还有一个比较关键的作用就是用来形成静态代码块以优化程序的性能。static块可以置于类中的任何地方,类中可以有多个static块。在类初次被加载的时候,会按照static块的顺序来执行每个statci块,并且只会执行一次。为什么说static块可以用来优化程序性能,是因为它的特性,只会在类加载的时候执行一次。因此,很多时候可以将一些只需要进行一次的初始化操作放在static代码块中进行,被static修饰的变量或者方法是独立于当前类的任何对象,也就是说这些静态的变量或者方法不属于任何一个实例化对象,而是被类直接的所共享。static变量值在类加载的时候分配空间,以后创建类对象的时候不会重新分配。赋值的话,是可以任意赋值的。被static修饰的变量或者方法是优先于对象存在的,也就是说当一个类加载完毕之后,即便没有创建对象,也可以去访问。
2、面向对象与面向过程的区别?
面向过程优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源,比如单片机,嵌入式开发、Linux、Unix等等一般都是采用面向过程的开发,性能是最重要的因素。缺点:没有面向对象便于维护、容易复用、容易扩展。面向对象优点:易复用、易扩展、易维护,由于是面向对象有封装、继承、多态性的特点,可以设计出低耦合的系统,使得系统更加灵活、更加易于扩展。缺点:性能比面向过程低。面向过程是具体化的,流程化的,解决一个问题,你需要一步一步的分析,一步一步的实现。面向对象是模块化的,你只需要抽象出来一个类对象,这是一个封闭的盒子,在这里你拥有数据也拥有解决问题的方法,需要什么功能直接使用就可以了,不必去一步一步的实现,至于这个功能是如何实现的,不需要了解。最后,面向对象的底层还是面向过程,把面向过程抽象出类,然后封装,方便我们使用就是面向对象了。
3、面向对象的三大特性:
抽象,抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两个方面,抽象只关心对象的有哪些属性和行为,并不关心这些行为的细节是什么。封装,封装是把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法。继承,继承是使用已有的类的定义作为基础建立的新的技术,新类的定义可以增加新的数据或者新的功能,也可以使用父类的功能,但是不能选择性的继承父类。有一下三个方面,一、子类拥有父类非private的属性和方法。二、子类可以拥有自己属性和方法,即子类可以对父类进行扩展。三、子类可以用自己的方法实现父类的方法。多态,所谓的多态就是程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用编程时并不确定,而是在程序运行的时候才确定,即一个引用变量到底会指向那个类的实例对象,该引用变量发出的方法调用到底是那个类中的实现方法,必须由程序运行期间才能决定。
4、什么是多态机制?
Java语言是如何实现多态的?所谓的多态是程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定。多态分为编译时多态和运行时多态,其中编辑时多态是静态的,主要是指方法的重载,它是根据参数列表的不同来区分不同的函数,在运行时谈不上多态。而是运行时多态是动态的,它是通过动态绑定来实现的,也就是我们所说的多态性。
5、多态的实现,Java中实现多态有三个必要条件:
继承、重写、向上转型。继承:在多态中必须存在有继承关系的子类和父类。重写:子类对父类中的某些方法进行重新定义,在调用这些方法时候就会调用子类的方法。向上转型:在多态中需要将子类的引用赋值给父类,只有这样该引用才能具备技能调用父类的方法和子类的方法。只有满足上述三个条件,才能在同一个继承结构中国使用统一的逻辑实现代码处理不同的对象,从而达到执行不同的行为,对于Java而言,它的多态实现截至遵循一个原则,当超类的对象引用变量引用子类的对象时候,被引用的对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖了的方法。
6、面向对象的五大基本原则?
单一职责:类的功能单一,不能包罗万象。开发封闭原则:一个模块对于扩展是开放的,对于修改是关闭的,想要增加功能热烈欢迎,想要修改功能不行。里氏替换原则:子类可以替换父类出现在父类能够出现的地方。依赖倒置原则:高层模块不应该依赖于底层模块,他们都应该依赖于抽象,抽象不应该依赖细节实现。细节实现依赖于抽象。接口分离原则:设计时采用多个于特定客户有关的接口。