那些经常被遗忘的面试题,你知道几个?

静态类和静态方法

如果一个类被声明为静态的,那么只有一种情况,即静态内部类。

静态内部类实际上与普通类(即类名必须与文件名相同的顶级类)相同,但静态内部类是在特定类的内部定义的。因为它们是类,所以如果要使用它们,就必须对它们进行实例化。从概念上讲,它不同于静态变量和静态方法。不要被“静态”这个词混淆(不要认为任何静态的东西都可以不通过实例化直接使用,静态的内部类是不同的),只有静态的内部类,但是没有静态类的概念(顶级类)。

例如。

public class Singleton{

 private Singleton{

}

 private static class SingletonHolder{

     private final static Singleton instance; 

        } public Singleton getInstance{ 

            return SingletonHolder.instance;

     }

 }

静态方法只能访问静态成员,实例方法可以访问静态成员和实例成员。不允许静态方法访问实例成员变量的原因是实例成员变量属于对象,而静态方法在执行时不一定具有对象。关键字this不能在静态方法中使用。

倒排索引

倒排索引

如果转换成一个转置的索引可能更好地理解,它将相当于做矩阵转置。

倒排索引是一种索引方法,用于存储全文搜索下文档或文档组中单词存储位置的映射。

反射

反射API中提供的动态代理也是一个非常强大的函数,可以在AOP中本地实现方法拦截函数。正如英语单词反射所暗示的,使用反射API就像在水中查看Java类的反射。一旦知道Java类的内部结构,就可以与它进行交互,包括在对象中创建新对象和调用方法。

这种交互与直接在源代码中使用它有相同的效果,但还提供了运行时灵活性。使用反射的最大缺点之一是性能差。对于同一个操作,使用反射API比直接使用它所花费的时间要少一到两个数量级。然而,在当前的JVM实现中,反射操作的性能得到了很大的提高。

Java反射API的第一个主要作用是在运行时捕获程序的内部结构。

多路归并算法

合并排序也是一种使用分而治之方法的有效排序算法。它是由现代计算机的创始人约翰·冯·诺依曼于1945年发明的。

在许多排序算法中,合并排序不仅稳定而且高效。同时,合并排序不仅可以用于内部排序,还可以用于外部排序。

合并排序的思想如下(以双向合并为例):

该阵列分为两个子阵列。

对两个单词数组排序;

合并两个单词的排序数组。

所谓的n向合并是指将数组划分为n个子数组,对单词数组进行排序,然后将它们合并。因此,双向合并是最常见的合并排序方式。

例如。

传说

def msort(array): length = len(array) if length == 1: return array else: mid = length / 2

 left = msort(array[0: mid]) right = msort(array[mid: length]) return merge(left, right)

非递归

def msort(array): length = len(array) step = 1 while step < length: for left in range(0, length - step, 2 * step): result = merge(array[left:left + step], array[left + step: min(left + 2 * step, length)]) array = array[0:left] + result + array[min(left + 2 * step, length)] step = step * 2 return array

def merge(left, right): llen = len(left) lcur = 0 rlen = len(right) rcur = 0 result =  while lcur < llen and rcur < rlen: lone = left[lcur] rone = right[rcur] result.append(min(lone, rone)) if lone < rone: lcur += 1 else: rcur += 1 result += left[lcur:] result += right[rcur:] return result

枚举类型

枚举类型

枚举类型不支持构造公共修饰符和受保护修饰符,因此构造函数必须是私有的或友好的。因此,不能通过直接调用枚举对象的构造函数在程序中初始化枚举对象。

由于枚举类型值实际上由运行时构造的对象表示,因此每个虚拟机在集群环境中构造一个同义的枚举对象。因此,重要的是要注意,如果直接使用等号(“==”)运算符,则这些看似相同的枚举值不能相同,因为这不是同一对象实例。

多线程

在Java中实现多线程的方法有两种:继承线程类和实现可运行接口。只要在程序开发中使用多线程,可运行接口将始终是主要的,因为与继承线程类相比,实现可运行接口有以下优点:

1。它可以避免Java的单继承特性所造成的局限性。

2。增强程序的鲁棒性,代码可以由多个线程共享,代码和数据是独立的;

三。适用于多个相同程序代码的线程处理同一资源的情况。

下面是一个通过实现可运行接口实现的多线程程序。代码如下:

class MyThread implements Runnable{

 private int ticket = 5;

 public void run{

 for (int i=0;i<10;i++) {

 if(ticket > 0){ 

System.out.println("ticket = " + ticket--);

             } 

        }

     }

 } public class RunnableDemo{ 

public static void main(String[] args){

 MyThread my = new MyThread; 

new Thread(my).start;

 new Thread(my).start; 

new Thread(my).start;

     } 

}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,425评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,058评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,186评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,848评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,249评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,554评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,830评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,536评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,239评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,505评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,004评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,346评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,999评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,060评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,821评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,574评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,480评论 2 267

推荐阅读更多精彩内容