当前位置: 首页 > news >正文

java面试篇 并发编程篇

目录

1.线程的基础知识

1.线程与进程的区别?

2.并行与并发的区别?

3.创建线程的方式有哪些?

4.线程包括哪些状态?状态之间是如何变化的?

5.T1,T2,T3三个线程新建完毕后,如何保证他们按顺序执行?

notify()和notifyAll()有什么区别?​编辑

​编辑

6.java中的wait和sleep方法的不同?​编辑

7.如何停止一个正在运行的线程?

2.线程中的并发安全

1.synchronized关键字的底层原理

3.设计模式?​编辑​编辑​编辑 ​编辑

4.常见的技术场景?

1.单点登录这块怎么实现

权限认证怎么实现?

上传数据的安全性怎么控制?

你在项目中遇到了哪些比较棘手的问题?


1.线程的基础知识

1.线程与进程的区别?

2.并行与并发的区别?

3.创建线程的方式有哪些?

需要获得线程的返回值就是和用实现callable方法。

4.线程包括哪些状态?状态之间是如何变化的?

5.T1,T2,T3三个线程新建完毕后,如何保证他们按顺序执行?

notify()和notifyAll()有什么区别?

T1进入等待。 

T2也进入等待

随机唤醒T1,T2中的一个

唤醒所有在wait中的线程:

6.java中的wait和sleep方法的不同?

两个代码块用同一把锁,第一个调用wait后进入阻塞释放对象锁,第二个代码块就会执行。

对于sleep而言就不会释放锁,它放弃了CPU,其他线程也无法使用。

7.如何停止一个正在运行的线程?

第一个方法:将t1线程的flag在主线程修改成true那么run方法就执行完了。

调用t2.interrupt可以使得interrupted这个变量(默认是false)变成true。这个方法和第一种差不多,都是改变标志告诉线程你该结束了。

2.线程中的并发安全

1.synchronized关键字的底层原理

3.设计模式? 

对修改关闭,对拓展开放。

4.常见的技术场景?

1.单点登录这块怎么实现

权限认证怎么实现?

上传数据的安全性怎么控制?

前端传数据到后台时有可能会被拦截,请问如何解决?

你在项目中遇到了哪些比较棘手的问题?

相关文章:

  • 低代码开发:重塑软件开发的未来
  • MCP server的stdio和SSE分别是什么?
  • 网络初识 - Java
  • C# Winform 入门(11)之制作酷炫灯光效果
  • DeepSeek 教我 C++ (8) :C++ 静态类型不安全的情况
  • 内网渗透(杂项集合) --- 中的多协议与漏洞利用技术(杂项知识点 重点) 持续更新
  • Three.js 系列专题 3:光照与阴影
  • Spring Data JPA中的List底层:深入解析ArrayList的奥秘!!!
  • linux Gitkraken 破解
  • 基于springboot协同过滤算法的农产品销售推荐系统(源码+lw+部署文档+讲解),源码可白嫖!
  • 多进程/线程访问动态库全局变量的安全性
  • 套接字编程函数recv和send ,以及设置reuseaddress
  • 《星环之城:量子迷雾下的网络安全战记》
  • C++中如何在一个字符串的结尾添加字符或者字符串--append()函数实现
  • Redis基础知识
  • 12-产品经理-维护模块
  • verilog学习--1、语言要素
  • 深挖 TypeScript 基础数据类型:应用与陷阱
  • 使用 `pandas` 库来读取 Excel 文件,并实现六种算法的遍历计算
  • 算法——整数规格化
  • 在线式客户服务平台/网站优化排名推荐
  • 网站建设课设总结/百度seo关键词排名价格
  • 网站策划书基本项目/站内搜索工具
  • 广东哪里网站建设/小程序推广引流
  • 怎么在mac安装wordpress/搜索引擎的优化和推广
  • 哪里可以做宝盈网站/打开百度app