1:什么是线程?

轻量级的进程

2:线程的三个部分是?

处理机

代码

数据

3:为什么使用多线程

使UI响应更快

利用多处理器系统

简化建模

4:代码示例:Java中实现多线程的两种方式,包括如何定义多线程,如何使用多线程

4.1实现Runnable接口

class Thread1 implements Runnable{

public void run(){

//run里一般写一个while(true)循环

System.out.println(Runnable);

}

}

4.2继承Thread

class Thread2 extends Thread{

public void run(){

System.out.println(extends);

}

}

public class Test{

public static void main(String[] a){

Thread1 r = new Thread1();

Thread t1 = new Thread(r);

Thread t2 = new Thread(r);

t1.start();

t2.start();

Thread t3 = new Thread2();

t3.start();

}

}

5:如何实现线程的调度?如何暂停一个线程的运行

调度用wait和notify

sleep()

6:什么是线程的优先级

判断哪个线程先执行的级别

7:简述sleep方法和wait方法的功能和区别

sleep是让线程休眠一段时间

wait是让线程挂起

8:什么是守候线程

隐藏在后台持续运行的线程

9:什么是临界资源

指多个线程共享的资源

10:什么是互斥锁,Java中如何实现

用来保证在任一时刻只能有一个线程来访问临界资源的那个标记

用在对象前面限制一段代码的执行

用在方法声明中,表示整个方法为同步方法。

11:什么是死锁?如何避免?

如果程序中有多个线程竞争多个资源,就可能会产生死锁。当一个线程等待

由另一个线程持有的锁,而后者正在等待已被第一个线程持 有的锁时,就会

发生死锁。

要避免死锁,应该确保在获取多个锁时,在所有的线程中都以相同的顺序获取锁。

尽量少用临界资源

12:简述wait和notify,notifyAll的使用

被锁定的对象可以调用wait()方法,这将导致当前线程被阻塞并放弃该对象

的互斥锁,即解除了wait()方法的当前对象的锁定状态,其 他的线程就有机

会访问该对象。

notify使等待队列上的一个线程离开阻塞状态

notifyAll使等待队列上的所有线程离开阻塞状态

13:什么是url?基本的格式是?

统一资源定位器

Http://www.163.com:port

14:简述IP,Port,TCP的基本功能

IP代表网络位置

Port代表端口号

TCP可保证不同厂家生产的计算机能在共同网络环境下运行,解决异构网通信问题,是目前网络通信的基本协议

15:简述Java网络模型的基本功能

描述服务端和客户端的连接过程

16:简述Java网络编程究竟做些什么?如何做?

1.建立连接

2.准备输出的数据,流式输出

3.流式输入,编程业务需要的格式

4.关闭连接

服务器分配一个端口号。如果客户请求一个连接,服务器使用accept()方法打开socket连接。

客户在host的port端口建立连接。

服务器和客户使用InputStream和OutputStream进行通信。

17:代码示例:基于Socket编程

try {

ServerSocket s = new ServerSocket(8888);

while (true) {

Socket s1 = s.accept();

OutputStream os = s1.getOutputStream();

DataOutputStream dos = new DataOutputStream(os);

dos.writeUTF("Hello," +s1.getInetAddress() + "port#" + s1.getPort() + "\nbye!");

dos.close();

s1.close();

}

}catch (IOException e) {

System.out.println("程序运行出错:" + e);

}

18:代码示例:基于UDP编程

19:TCP和UDP区别

TCP能保证传输内容的完整和准确,UDP不能

java面试宝典 多线程,《java面试宝典》之java多线程面试题相关推荐

  1. think in java interview-高级开发人员面试宝典(二)

    think in java interview-高级开发人员面试宝典(二) 分类: 面经2013-08-05 00:4318634人阅读评论(58)收藏举报 目录(?)[+] 从现在开始,以样题的方式 ...

  2. 传智播客Java面试宝典 | 张老师尽心整理的面试宝典大全,面试阿里腾讯不成问题。西边人西说测试

    提示:本大全每半月更新一次,请持续保持关注!谢谢! 索取方式:头条或公众号中回复[面试] 从享受生活的角度上来说:"程序员并不是一种最好的职业,我认为两种人可以做程序员,第一,你不做程序员, ...

  3. Java面试宝典系列之面试复习提纲

    Java面试复习提纲 作者:egg 邮箱:xtfggef@gmail.com 微博:http://weibo.com/xtfggef 博客:http://blog.csdn.net/zhangerqi ...

  4. think in java interview-高级开发人员面试宝典(一)

    "生死六重门" 无论你是在职,非在职,高级工程师,工程师,架构师,如果你正在面试阶段,请看完此文! 相信这篇文章对你的职业生涯和阶值观会造成重大的改变! 如果你是一名PM或者是管理 ...

  5. 准备了两个月的阿里面经,写给初中级Java程序员 的BAT 面试宝典

    2019独角兽企业重金招聘Python工程师标准>>> 1. 简介 笔者普通院校毕业,没有光鲜亮丽的职业背景,凭着自己的激情和两个月的准备最终拿到京东和阿里巴巴 Offer.下面就是 ...

  6. [置顶] think in java interview-高级开发人员面试宝典(二)

    从现在开始,以样题的方式一一列出各种面试题以及点评,考虑到我在前文中说的,对于一些大型的外资型公司,你将会面临全程英语面试,因此我在文章中也会出现许多全英语样题. 这些题目来自于各个真实的公司,公司名 ...

  7. think in java interview-高级开发人员面试宝典(三)

    comparable接口与comparator 两种比较接口分析 前者应该比较固定,和一个具体类相绑定,而后者比较灵活,它可以被用于各个需要比较功能的类使用. 一个类实现了 Camparable 接口 ...

  8. Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(

    java基础面试题目录 文章目录 java基础面试题目录 前言 String s=new String("xyz");创建了几个String Object[重要] 全面理解: St ...

  9. java并发多线程面试_Java多线程并发面试问答

    java并发多线程面试 Today we will go through Java Multithreading Interview Questions and Answers. We will al ...

  10. Java高并发和多线程的面试笔试题——稳拿offer

    1.在java中守护线程和本地线程区别? java中的线程分为两种:守护线程(Daemon)和用户线程(User). 任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon( ...

最新文章

  1. Extended WPF Toolkit 新控件介绍
  2. SQL 遍历父子关系表(二叉树)获得所有子节点 所有父节点
  3. 4.6 什么是神经风格迁移-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  4. 四.jmeter代码学习, SampleResult【持续更新】
  5. XCTF-Web-高手区-Web_python_template_injection
  6. stl中copy()函数_std :: rotate_copy()函数以及C ++ STL中的示例
  7. 发一个自己写的抓包软件,支持插件化脚本分析
  8. Sentinel服务熔断配置fallback和blockHandler_削峰填谷_流量控制_速率控制_服务熔断_服务降级---微服务升级_SpringCloud Alibaba工作笔记0052
  9. redis 分布式锁流程图
  10. MyMathLib系列(行列式计算2)
  11. java mvc controller_java之spring mvc之Controller配置的几种方式
  12. Stanford Parser的学习之开篇(一)
  13. Spoon工具的使用
  14. 小程序怎样链接上服务器,微信小程序http连接访问解决方案
  15. 解决Google浏览器中Flash插件禁用问题
  16. 风险评估资产重要性识别_基于数据安全的风险评估(一):数据资产识别、脆弱性识别...
  17. 前端秘籍,CSS垂直居中必学八式,一招一式尽显功力
  18. 二次开发平台PMSCADA展示版
  19. Error: Cannot find module 'util-deprecate'
  20. 前端将后端返回的文件流转为excel并下载

热门文章

  1. 简单的SQL注入学习
  2. Java+Jmeter接口测试
  3. Android_Kotlin 代码学习
  4. CruiseControl.NET与TFS结合的配置文件
  5. [转]完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
  6. boost helloworlld
  7. axios某一接口失败后不调用_axios 源码系列之如何取消请求
  8. 已触发了一个断点 vs_VSCode源码分析-断点调试
  9. miui12怎么自定义开机动画_MIUI12正式发布:视觉/功能大升级
  10. C++ reverse memcpy