Java后端面试复习7.23
- 进程和线程
- 线程优先级
- 线程状态
- 线程构造方式三种
- 推荐用哪种为什么
- 线程中断调用什么方法,本线程怎检查
- 为什么线程不应强制停止
- 线程通信方式四种
- ThreadLocal
- FUtureTask
- 线程礼让
- 终止线程的另一个缺陷(锁)
- 守护线程
- 什么时候设置为守护县城
- sleep,yieldjoin的区别
- 能否按照优先级严格执行
- THreadlocal的例子Simpledataformat
- Threadlocal的弱引用
- 解决map冲突
- 内存泄露,怎么解决
- 域名分片
- 短连接长链接流水线
- 什么是cookie
- 请求头和响应头那些和cookie有关
- 可以设置多个cookie
- 保存在哪
- 设置有效期两种手段
- 作用域domain和路径path
- cookie分类,时间和存储
- cookie的缺点
- 什么事session
- session存储的信息
- 客户鞋带什么信息
- session实现方式两种
- session存在的问题
- 使用token流程
- 什么是token
- jwt的三个组成部分
- 优点
- 分配资源,CPU调度
- 1-10,调用setPriority设置,越大时间片越多,默认5
- 初始,运行,阻塞(于锁),等待,超市等待,结束
- 实现Runnalbe,Callable,继承Thread
- 前两种,1只能单继承2继承的没用属性占地方
- 对应线程的interrupt,调用本线程的isInterrupt
- 因为很可能当前线程为执行完造成数据丢失
- volatile保证可见,synchronized同步,wait和notify,对应线程.join
- 只允许本线程访问的一种map形式的结构,key为ThreadLocal对象,值可以是任意的。可以通过对象。set或对象。get获取或设置
- 既实现了Runnable定义run方法执行,又能够配合Callable(将callable当作参数传入构造方法)获取run的返回值
- 调用yield方法,让同优先级的或者有更高优先级的线程去执行。
- 比如有一个线程有ReentrantLock,他持有锁的时候被终止了,那么他的锁也不会释放,其他等待锁的线程就无法获得锁
- 守护线程是一类优先级比较低的线程,他们会随着用户线程的退出而终止,也就是说守护线程不会单独存在,GC线程,
- 必须在线程启动之前调用set来设置
- sleep会使得线程转入wait的状态,并且如果当前线程持有锁,他不会释放。yield会有running转为runnable状态,允许相同优先级的其他线程或者优先级更高的线程去执行。join是会让当前线程由running转为runnable的状态,等待相应的线程执行完之后才能执行后续代码
- 不一定,因为线程的优先级调度是根据实际的OS调度的,Java对OS的兼容没有那么完美
- 比如有一个sdf对象,sdf是线程不安全的,比如我想调用parse这个方法,这个方法分两步,首先执行clear,然后set,如果线程1正好set完,线程二执行clear就会导致线程并发安全问题。一种方法是使用synchorized进行同步,但是效率低,第二种使用threadlocal来保存sdf对象。
- threadlocal使用map保存,每个线程有一个htreadlocalmap对象,该对象保存了所以threadlocal对象以及其存储的值之间的映射关系,如果存储的值是对象,这里保存的是指向堆的地址。key是使用threadlocal内部定义的entry来实现的,这个entry继承了weakreference,所以map中的key都是若引用类型
- map冲突不是使用拉链发来解决的,而是线性探测法,向后寻找空位置
- 内存泄漏-->长生命周期的对象持有短生命周期对象的引用。比如说在线程池中,当一个线程执行完当前任务后,他的threadloacl会置空,那么这些身为弱引用的key会在下一次gc的时候被回收,但是他们的长生命周期的value还在堆空间中,并且由于线程池没被回收,所以这些堆空间中的value就不会被回收造成内存泄漏。
- 多个域名只想同一个服务器,不同域名可以与客户端建立多个连接,既避免了触发Dos防御,又提高了并发。
- 每次发送数据接受数据都建立tcp链接。建立一次tcp链接,再次链接上进行收发数据。发送方不用等第一个请求返回既可以发剩余请求
- 保存在浏览器,记录用户状态
- 请求头:Cookie响应头:setcookie
- 可以,分号分隔,响应头设置多个setcookie字段
- 浏览器
- 在cookie中设置两个字段,expires和max-age,取小的作为年龄,expires记录了过期时间,到了就过期,max-age要计算,颁发时间+max-age=过期时间
- domain制定了cookie所属的域名和访问路径,如果请求不满足这两个就不会携带该cookie
- 时间:长期和短期,存储:物磁盘和内存
- 实现简单,能够记录用户状态。占用带宽比较多,不安全,数量容量限制
- 服务器端保存用户信息和事件的手段
- 用户的事件,用户基本信息
- sessionid
- 基于cookie,使用cookie携带session id或者基于重写url,在url上写session id
- 大量用户的计算和存储资源的耗费大,分布式系统不同服务间无法共享
- 客户发起请求(登录),根据用户信息构建token,将token发送给用户,用户后续请求携带token,服务器解析token识别用户,响应数据
- token是保存用户信息,便于服务器识别用户的手段
- 头部记录使用的加密算法,载荷记录用户名过期时间等信息,签名根据前面两个字段以及密钥生成,服务器用以验证
- 可以跨站,占用空间不大,依赖算法加密的安全性
相关文章:
Java后端面试复习7.23
进程和线程线程优先级线程状态线程构造方式三种推荐用哪种为什么线程中断调用什么方法,本线程怎检查为什么线程不应强制停止线程通信方式四种ThreadLocalFUtureTask线程礼让终止线程的另一个缺陷(锁)守护线程什么时候设置为守护县城sleep&…...

Arduino PID库 (2) –微分导致的过冲
Arduino PID库 (2) – Derivative Kick 参考:手把手教你看懂并理解Arduino PID控制库——微分冲击 pid内容索引-CSDN博客 Arduino PID库 (1)– 简介 问题 此修改将稍微调整derivative term。目标是消除一种称为“…...

基于强化学习算法玩CartPole游戏
什么事CartPole游戏 CartPole(也称为倒立摆问题)是一个经典的控制理论和强化学习的基础问题,通常用于测试和验证控制算法的性能。具体来说,它是一个简单的物理模拟问题,其目标是通过在一个平衡杆(倒立摆&a…...

uniapp0基础编写安卓原生插件和调用第三方jar包(Ch34的jar包)和如何解决android 如何Application初始化
前言 我假设你会uniapp安卓插件开发了,如果不会请看这篇文章,这篇文章是0基础教学。 这篇文章我们将讲一下如何使用CH34XUARTDriver.jar进行开发成uniapp插件。 它的难点是:uniapp如何Application初始化第三方jar包 先去官网下载CH340/CH341的USB转串口安卓免驱应用库:h…...

使用Leaflet进行船舶航行警告区域绘制实战
目录 前言 一、坐标格式转换 1、数据初认识 2、将区域分割成多个点 3、数据转换 4、数据转换调用 二、WebGIS展示空间位置信息 1、定义底图 2、Polygon的可视化 3、实际效果 三、总结 前言 通常而言,海事部门如海事局,通常会在所述的管辖区域内…...

用Ollama 和 Open WebUI本地部署Llama 3.1 8B
说明: 本人运行环境windows11 N卡6G显存。部署Llama3.1 8B 简介 Ollama是一个开源的大型语言模型服务工具,它允许用户在自己的硬件环境中轻松部署和使用大规模预训练模型。Ollama 的主要功能是在Docker容器内部署和管理大型语言模型(LLM&…...

计算机毕业设计选题推荐-学生作业管理系统-Java/Python项目实战
✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…...

RIP实验
实验拓扑: 实验要求: R1-R2-R3-R4-R5:RIP 100 运行版本2 R6-R7:RIP 200 运行版本1 1.使用合理IP地址规划网络,各自创建环回接口 2.R1创建环回 172.16.1.1/24 172.16.2.1/24 172.16.3.1/24 3.要求R3使用R2访问R1环…...

手把手教你如何在宝塔上添加可道云登录页面的ICP备案信息,别跟权威开玩笑。
如何在宝塔上添加可道云登录页面的ICP备案信息 事情的原由来我们开始吧首先登录你的宝塔页面双击打开index.php文件保存退出即可 感谢大佬,希望对被查到的朋友有所帮助! 事情的原由 今天突然收到腾讯云发来的一封Email,说我需要整改我的网站…...

基于JSP技术的大学生校园兼职系统
你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。 开发语言:JSP 数据库:MySQL 技术:JSPJavaBeans 工具:MyEclipse,Tomcat,Navicat 系统展示 首页 学…...

VSCode在windows系统下的配置简单版
参考链接 从零开始的vscode安装及环境配置教程(C/C)(Windows系统)_vscode搭建编译器环境-CSDN博客 vscode生成tasks.json、launch.json、c_cpp_properties.json文件_vscode生成launch.json-CSDN博客 自动生成配置文件简单方便!!! 运行c代…...

C++初学(9)
9.1、结构简介 虽然数组能够和存储多个元素,但所有元素必须相同,也就是说,同一个数组不能既存放int类型也存放float类型,而C的结构可以满足要求。结构是一种比数组更灵活的数据格式,因为同一个结构可以存储多种类型的…...

ardupilot开发 --- 网络技术综述 篇
不信人间有白头 一些概念参考文献 一些概念 以太网、局域网、互联网 以太网(Ethernet),是一种计算机局域网技术。以太网是一种有线网络技术,网络传输介质包括:以太网电缆,如常见的双绞线、光纤等。根据传输速度,可以氛…...

一文详解大模型蒸馏工具TextBrewer
原文:https://zhuanlan.zhihu.com/p/648674584 本文分享自华为云社区《TextBrewer:融合并改进了NLP和CV中的多种知识蒸馏技术、提供便捷快速的知识蒸馏框架、提升模型的推理速度,减少内存占用》,作者:汀丶。 TextBre…...

Go语言加Vue3零基础入门全栈班10 Go语言+gRPC用户微服务项目实战 2024年07月31日 课程笔记
概述 如果您没有Golang的基础,应该学习如下前置课程。 Golang零基础入门Golang面向对象编程Go Web 基础Go语言开发REST API接口_20240728Go语言操作MySQL开发用户管理系统API教程_20240729Redis零基础快速入门_20231227GoRedis开发用户管理系统API实战_20240730Mo…...

ChatGPT能代替网络作家吗?
最强AI视频生成:小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频百万播放量https://aitools.jurilu.com/ 当然可以!只要你玩写作AI玩得6,甚至可以达到某些大神的水平! 看看大神、小白、AI输出内容的区…...

Http自定义Header导致的跨域问题
最近写一个小项目,前后端分离,在调试过程中访问远程接口,出现了CORS问题,接口使用的laravel框架,于是添加了解决跨域的中间件,但是前端显示仍存在跨域问题,以为自己写的有问题,检查了…...
python 中 file.read(), file.readline()和file.readlines()区别和用法
python 中 file.read(), file.readline()和file.readlines()区别和用法 文章目录 python 中 file.read(), file.readline()和file.readlines()区别和用法1. file.read()2. file.readline()3. file.readlines()4. 总结5. 注意事项 file.read(), file.readline(), 和 file.readli…...
python 学习: np.pad
在NumPy中,np.pad函数用于对数组进行填充(padding),即在数组的边界处添加额外的值。这在图像处理、信号处理或任何需要扩展数据边界的场景中非常有用。 以下是np.pad函数的一些关键参数和使用示例: array:…...

等保2.0 | 人大金仓数据库测评
人大金仓数据库,全称为金仓数据库管理系统KingbaseES(简称:金仓数据库或KingbaseES),是北京人大金仓信息技术股份有限公司自主研制开发的具有自主知识产权的通用关系型数据库管理系统。以下是关于人大金仓数据库的详细…...

Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...

基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...

图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...

深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...