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),是北京人大金仓信息技术股份有限公司自主研制开发的具有自主知识产权的通用关系型数据库管理系统。以下是关于人大金仓数据库的详细…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
微服务通信安全:深入解析mTLS的原理与实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言:微服务时代的通信安全挑战 随着云原生和微服务架构的普及,服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...
聚六亚甲基单胍盐酸盐市场深度解析:现状、挑战与机遇
根据 QYResearch 发布的市场报告显示,全球市场规模预计在 2031 年达到 9848 万美元,2025 - 2031 年期间年复合增长率(CAGR)为 3.7%。在竞争格局上,市场集中度较高,2024 年全球前十强厂商占据约 74.0% 的市场…...
Java多线程实现之Runnable接口深度解析
Java多线程实现之Runnable接口深度解析 一、Runnable接口概述1.1 接口定义1.2 与Thread类的关系1.3 使用Runnable接口的优势 二、Runnable接口的基本实现方式2.1 传统方式实现Runnable接口2.2 使用匿名内部类实现Runnable接口2.3 使用Lambda表达式实现Runnable接口 三、Runnabl…...
多模态大语言模型arxiv论文略读(112)
Assessing Modality Bias in Video Question Answering Benchmarks with Multimodal Large Language Models ➡️ 论文标题:Assessing Modality Bias in Video Question Answering Benchmarks with Multimodal Large Language Models ➡️ 论文作者:Jea…...
第21节 Node.js 多进程
Node.js本身是以单线程的模式运行的,但它使用的是事件驱动来处理并发,这样有助于我们在多核 cpu 的系统上创建多个子进程,从而提高性能。 每个子进程总是带有三个流对象:child.stdin, child.stdout和child.stderr。他们可能会共享…...
