1  面向对象的特征有哪些方面?

(1)抽象,抽象就是忽略与当前目标无关的部分,抽象包含两个方面,一是过程抽象,一是数据

(2)继承,是Java中允许和鼓励类重用的思想的体现,,

它提供了一种方式,可以直接的表述共性,一个新类可以从已存在的类继承,前者称为后者的子类(派生类),后者称为前者的父类(基类),这种方式也称为派生。派生类可以从基类那里

继承方法和实例变量,,并可以修改和添加新的变量和方法来满足特有的需要。

(3)封装,封装是把过程和数据包在一起,对数据的访问只能通过已定义的界,面向对象的概念也是基于这个基本概念,即现实世界的一切都是对象,可以抽象成类。

(4)多态 多态性是允许不同类的对象对同一消息做出响应,多态性包括编译时多态和运行时多态,前者主要是说由于参数原因导致的函数重载。多态,更多指的是运行时多态,程序只有在运行的过程中,才能

唯一确定具体调用的方法,运行时多态为程序状态提供了更多的可能。多态的产生需要满足三个条件,一是存在继承(或者实现)关系,二是存在对父类方法的重写,三是向上转型,也就是父类引用指向子          类对象,运行时多态只能调用父类中已经存在的方法,不能调用只在子类中出现的方法。

2  int和Integer

Java提供两种不同的类型,引用类型和原始类型(内置类型),int是Java的原始数据类型,Integer是Java为int提供的封装类,

引用类型和原始类型的行为完全不同,并且它们具有不同的语义,??

3 &和&&

&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与。

4 堆和栈

??

5  Math.round()方法

Math.round(11.5)==12  Math,round(-11.5)==-11

6 关于length

数组有length属性,String有length方法,返回的都是长度;

7 描述一下JVM加载class文件的机制

JVM中类的装载是由ClassLoader和它的子类实现,JavaClassLoader是一个重要的Java运行时系统组件 ,它负责在程序运行时查找和装入类文件的类。

8 char型变量中能不能存放一个中文汉字,

由于Java中以unicode编码,一个char占16个字节,所以中文是没有问题的,但是要说明,并不能穷尽所有的中文。

9 abstract class和interface

只声明方法而不去具体实现,以abstract为修饰符的类叫做抽象类,抽象类不能产生实例,但可以创建变量,指向子类。abstract类的子类为他们的父类中所有抽象方法提供实现。

Java中只支持类的单继承方式,可以理解接口为抽象类的变体,我们可以通过实现接口来达到多继承,接口中所有方法都是抽象的,所有成员变量都是public static final的。

10 Static Nested Class 和Inner Class

Static Nested Class 是被声明为静态的内部类,它可以不依赖于外部类的实例被实例化,而Inner Class,通常是外部实例化后才被实例化。

11Java中存在内存泄漏么

java 中存在无用但可达的对象,这些对象不能被gc回收,导致耗费内存资源。

12当一个方法是abstract修饰时,不能再用除public private protected 以外的修饰符。

13 静态变量和实例变量的区别

静态变量也称为类变量,归全类共有,它不依赖于某个对象,可以通过类名直接访问,而实例变量必须依存于某个类,只能通过对象才能访问到。

14Clone()方法

写Clone()方法时,通常有一行代码,super.clone(),它负责产生正确大小的空间,并逐位复制。

15 GC

GC是垃圾回收的意思,由于内存处理过程中,程序员容易出现问题,Java提供垃圾回收机制,可以自动检测对象是否超过作用域而达到自动回收内存的目的,Java没有提供

显示的释放内存的操作方法,是由于程序员不必理会内存问题,GC自动垃圾回收,要求垃圾收集,可以通过System.gc()或者Runtime.getRuntime().gc();

垃圾回收机制,一定程度上防止了内存的泄露。

垃圾回收通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡或者长时间没有处理的对象进行清理,回收垃圾的机制有

分代复制回收垃圾,标记回收垃圾,以及增量回收垃圾,后面博客中会单独介绍。

对于GC,当程序员开始对象时,GC就开始监控这个对象的地址,大小以及使用情况,通常,GC是采用有向图的方式记录和管理堆heap中所有对象,通过这种方式,判断哪些可以到达,哪些不可以到达,

16 常见的包,类,接口

BufereReader BuffereWriter  FileWriter FileReader(...I/O) ;

Integer(...包装类)

Thread(...线程)

接口:

List,Map,Set( ... 容器)

Runnable  (....线程),Comparable (...比较器)

17 匿名的内部类同样可以实现其它接口,继承其他类,Swing编程常用这种方法。

18 静态内部类可以有静态成员,也可以有非静态成员,而非静态内部类则不能有静态成员;静态内部类的非静态变量可以访问外部类的静态变量,而不可以访问非静态变量。

19 在Java中一个类被声明为final类型,即表示了该类不能被继承,是顶级类。

20 数值型字符数字转换

 int a parseInt(String);   //方法一
int a=valueOf(String); //方法二
int i =24;
String str1 = Integer.toString(i);//int型I 自动变为包装类Integer,调用toString方法获取相应的字符串

还有一种取巧的方式,将数值型转化为String型

int i =24;
String str3 = i + “”;

21 实现字符串的翻转或者替换

可用字符串构造StringBuffer对象,然后调用StringBuffer的reverse方法实现反转,调用replace方法实现字符串的替换。

22 编码转换

String s1="hello";
String s2=new String(s1.getBytes("GB2312"),"ISO-8859-1");

23 Java 中异常处理机制的简单原理和应用

当Java程序违反了Java语言的语义规则时,Java虚拟机就会抛出异常,Java语言运行用户扩展这种语义检查,创建自己的异常,,并自由选择在何时用throw关键字引发异常。

所有异常都是java.lang.Throwable的子类。

Java通过面向对象的思想来处理异常,把各种异常进行分类,并进行了分类,并提供了良好的接口,在Java中每个异常都是对象,try来执行一段语句,如果出现异常,系统会

抛出(throws)一个异常,catch用来捕获,并进行处理,finally对程序做进一步的完善。

常见的Runtime Exception,IndexOutOfBoundException(),NullPointerException()

24 Error和Exception

Error表示系统级的错误和程序不必处理的异常,Exception表示需要需要捕获的异常,需要程序进行对应的处理。

25 Java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。

26 finalize()方法: Java技术允许使用使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用

时对这个对象调用的。它是在Object类中定义的,因此所有的类都继承了它。子类覆盖finalize()方法以整理系统资源或执行其他清理工作,finalize()方法是在垃圾收集器删除对象之前

对这个对象调用的。

Core Java 面经的更多相关文章

  1. applet示例 WelcomeApplet.java <Core Java>

    import java.awt.BorderLayout; import java.awt.EventQueue; import java.awt.Font; import java.awt.Grap ...

  2. Core Java Volume I — 1.2. The Java "White Paper" Buzzwords

    1.2. The Java "White Paper" BuzzwordsThe authors of Java have written an influential White ...

  3. Core Java Volume I — 4.7. Packages

    4.7. PackagesJava allows you to group classes in a collection called a package. Packages are conveni ...

  4. Core Java Interview Question Answer

    This is a new series of sharing core Java interview question and answer on Finance domain and mostly ...

  5. Core Java 学习笔记——1.术语/环境配置/Eclipse汉化字体快捷键/API文档

    今天起开始学习Java,学习用书为Core Java.之前有过C的经验.准备把自己学习这一本书时的各种想法,不易理解的,重要的都记录下来.希望以后回顾起来能温故知新吧.也希望自己能够坚持把自己学习这本 ...

  6. Core Java读书笔记之String

    Java里面的String Conceptually, Java Strings are sequences of Unicode characters. Java里面的String都是Unicode ...

  7. Top 25 Most Frequently Asked Interview Core Java Interview Questions And Answers

    We are sharing 25 java interview questions , these questions are frequently asked by the recruiters. ...

  8. Difference Between Arraylist And Vector : Core Java Interview Collection Question

    Difference between Vector and Arraylist is the most common  Core Java Interview question you will co ...

  9. Core Java (十一) Java 继承,类,超类和子类

    Core Java (十一) Java 继承,类,超类和子类 标签: javaJavaJAVA 2013-01-22 17:08 1274人阅读 评论(0) 收藏 举报  分类: java(58) 读 ...

  10. Core Java的那点事儿之ArrayList

    Core Java的那点事儿之ArrayList 万丈高楼平地起,Java基础要拿起.今天就从我看的Core Java里找了些小基础点来分享一下. 首先隆重介绍一下专业级龙套演员---Employee ...

随机推荐

  1. find_first_zero_bit在使用gcc 4.2.4 编译时,需要保护%eax

    1.3.100 find_first_zero_bit在使用gcc 4.2.4 编译时,需要保护%eax find_first_zero_bit 修订后: /* * Find-bit routines ...

  2. mysql 时间戳转换 、cnd、dns 通俗理解

  3. redis之数据类型以及使用

    1 redis数据类型 1. string类型: 字符串类型是 Redis 中最为基础的数据存储类型,它在 Redis 中是二进制安全的,也就是byte类型 最大容量是512M.2. hash类型: ...

  4. BZOJ 1833 数字计数 数位DP

    题目链接 做的第一道数位DP题,听说是最基础的模板题,但还是花了好长时间才写出来..... 想深入了解下数位DP的请点这里 先设dp数组dp[i][j][k]表示数位是i,以j开头的数k出现的次数 有 ...

  5. bzoj2875

    题意:\(x_{i+1}=(x_{i}*a+c)%m\)求,x_n%g 题解:\(x_n=(a^n*x_0+(a^{n-1}+a^{n-2}+...+a+1)*c)%m\),由于a-1和m不一定互质, ...

  6. python中lambda的用法

    一.lambda函数也叫匿名函数,即,函数没有具体的名称.先来看一个最简单例子: def f(x):return x**2print f(4) Python中使用lambda的话,写成这样 g = l ...

  7. loj 10004 智力大冲浪

    智力大冲浪 题目描述: 小伟报名参加中央电视台的智力大冲浪节目.本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者m元.先不要太高兴!因为这些钱还不一定都是你的.接下来主持人宣布了 ...

  8. Elastic-Job 介绍

    Elastic-Job是一个分布式调度解决方案,它解决了什么问题呢? 如果你需要定时对数据进行处理,但由于数据量实在太大了,一台机器处理不过来,于是用两台机器处理,第一台处理 id 为奇数的数据,第二 ...

  9. Spring控制反转(依赖注入)的最简单说明

    1.常规方式实现实例化 1.1已有角色如下: 一个接口Interface,两个接口实现类InstatnceA.InstanceB,一个调用类User 1.2当前实例化InstanceA如下: Inte ...

  10. 把旧系统迁移到.Net Core 2.0 日记 (12) --发布遇到的问题

    1. 开发时是在Mac+MySql, 尝试发布时是在SQL2005+Win 2008 (第一版) 在Startup.cs里,数据库连接要改,分页时netcore默认是用offset关键字分页, 如果用 ...