理论

1.什么是interface(接口)。

interface是面向对象编程语言中接口操作的关键字,功能是把所需成员组合起来,用来装封一定功能的集合。它好比一个模板,在其中定义了对象必须实现的成员,通过类或结构来实现它。

2.什么是抽象类(abstract)。

由abstract修饰的类叫抽象类。抽象的类无法进行实例化,因为他不是具体存在的类,或者说这样的类还不够完善,不能直接使用new关键字调用其构造器生成该类的对象。

3.什么是面对对象。

其本质是以建立模型体现出来的抽象思维过程和面向对象的方法,是一种编程思维,也是一种思考问题的方式。面向对象的三大特性:封装,继承,多态。

4.什么是接口。

在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。

5.什么是泛型。

泛型:就是一种不确定的数据类型。

比如:ArrayList<E> E就是泛型。 这种不确定的数据类型需要在使用这个类的时候才能够确定出来。// 泛型可以省略,如果省略,默认泛型是Object类型。

泛型的好处: 1. 省略了强转的代码。 2. 可以把运行时的问题提前到编译时期。

6.什么是线程。

线程是程序中部分代码的走向,线程是进程中最小的执行单位。

7.线程的创建方式和区别。

集成thread,重写run方法

实现runnable接口,重写run方法

实现callable接口,重写call方法,相对runnable,可以声明返回类型

区别:

thread方式,最为简单,可以通过this获取当前线程,但是因为继承了thread类,不能在继承其他类了

runnable方式,子类实现这个接口,可以继承其他的类,多个线程可以共享同一个target对象,没有返回值

callable方式,子类实现这个接口,可以继承其他的类,多个线程可以共享同一个target对象,有返回值

8.多线程如何实现以及Java中的线程池

 实现多线程的方法:继承Thread类、实现Runnable接口

四种线程池

1.newCachedThreadPool创建一个可缓存线程池程

2.newFixedThreadPool 创建一个定长线程池

3.newScheduledThreadPool 创建一个定长线程池

4.newSingleThreadExecutor 创建一个单线程化的线程池

1。    newFixedThreadPool:所有的任务都在核心线程中执行,且核心线程一旦创建,即使任务执行完成,后期一直处于闲置状态,也不会销毁,线程池会一直对这个线程进行维护,直到线程池关闭。如果所有的核心线程都处于活动状态,新加入的任务会被放到linkedblockingqueue这个队列当中,且这个队列没有大小限制。因为核心线程创建后不会被销毁,当新的任务加入时,不需要重新创建线程来执行新的任务,所以相应速度非常快,但是因为核心线程不会销毁,如果长时间处于闲置状态,消耗资源,所以这种线程池一般用于不会有太多任务执行的场景下。

2。  newCachedThreadPool:相当于对threadpoolexcutor的一个封装,他的核心线程数量为0,最大线程数量是Integer.MAX_VALUE,线程池对于线程的维护时间是60秒,如果有新的任务,线程池会去内部寻找是否有闲置线程,如果有将任务分发给该线程,如果没有,创建一个非核心线程去执行,当任务执行完成后,线程会等待60秒,如果没有新的任务,将销毁线程。因为最大线程数是一个非常庞大的值,且对于长时间未接受新任务的线程,会回收,所以基本不会达到最大线程的数量,所以内部传入的队列相当于一个空集合,不会使用到。

3。    newScheduledThreadPool:是一个可定时执行或周期执行任务的线程池,对于非核心线程,执行完毕后会立马回收(scheduleWithFixedDelay当上一个任务执行完成,然后延时时间到后开始执行第二个任务,因为任务具体的执行时间不能确定,所以除第一个任务外,其他任务的触发时间不可预知;scheduleAtFixedRate当上一个任务开始执行,延时时间到后开始执行第二个任务,因为延时是一个固定时间,所以所有任务的触发时间可推断)

4.newSingleThreadPool:这个线程池当中只有一个核心线程,且最大线程也是1个,同时只能执行一个任务,其他所有任务都放在阻塞队列中,且这个队列没有大小限制

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

推荐阅读更多精彩内容

  • 数据库 游标存储过程里面类似于指针的 手写创建数据库并更新 内联外联内联:[图片上传中。。。(1)]左外联:[图片...
    陈小飘阅读 183评论 0 0
  • JAVA面试题 1、作用域public,private,protected,以及不写时的区别答:区别如下:作用域 ...
    JA尐白阅读 1,154评论 1 0
  • 1.要做一个尽可能流畅的ListView,你平时在工作中如何进行优化的? ①Item布局,层级越少越好,使用hie...
    fozero阅读 730评论 0 0
  • spring官方文档:http://docs.spring.io/spring/docs/current/spri...
    牛马风情阅读 1,684评论 0 3
  • JavaWeb——Servlet Tomcat工作机制动画演示(点击动图可全屏观看) 什...
    NuvoleBian_8782阅读 211评论 0 0