面试笔记
文章平均质量分 90
面试笔记
Tiglle
这个作者很懒,什么都没留下…
展开
-
面试笔记-9.Java常用类库与技巧
一 1.error和exception的区别 图:error和exception的区别.png 3.Error和Exception包含的类 图:Error和Exception分类.png 2.RuntimeException和非RuntimeException的异常和Error的异常 图:RuntimeException-非RuntimeException-Error常用异常类.png 3.java异常处理原则 图:java异常处理原则.png 4.如何设计高效主流异常处理框架 图原创 2021-03-13 12:14:25 · 203 阅读 · 0 评论 -
面试笔记-8.Java多线程与并发原理
一 1.线程安全的问题 图:线程安全的问题.png 1.线程安全性主要体现在三个方面:原子性、可见性、有序性 1.原子性:所有的指令要么全部执行,要么一个都不执行。提供互斥访问,同一时刻只能有一个线程对数据进行操作(CAS算法(Atomic)、synchronized、Lock) A.保证原子性的三种方式: -------1.Atomic:基于CAS算法实现,竞争激烈时能维持常态,比Lock性能好. -------2.synchronized:不可中断锁,适合竞争不激烈,可读性好的情况 ------原创 2021-03-13 11:45:52 · 187 阅读 · 0 评论 -
面试笔记-7.Java多线程与并发
一 1.进程和线程的区别 1.一个程序由一个或多个进程组成,一个进程由一个或多个线程组成。 2.不同进程之间是独立的地址空间、独立的资源占用如内存、I/O、cpu等。但同一进程的不同线程共享本进程的地址空间和资源。 3.两者均可并发执行。但进程切换时,消耗的资源大,效率高。所以涉及到频繁的切换时,或者要求同时进行并且又要共享某些变量的并发操作,只能用线程不能用进程。 2.java进程和线程的关系 图:java进程和线程的关系.png 3.并发和并行的区别 1.并发(Concurrent):指一个处理原创 2021-03-12 21:59:34 · 145 阅读 · 0 评论 -
面试笔记-6.GC相关
一 1.对象被判定为垃圾的标准 没有被其他对象引用. 2.判定类是否无用的类的条件 1.该类的所有实例都已经被回收 2.加载该类的ClassLoader以及被回收 3.该类对应的java.lang.Class对象没有在任何地方被引用,无法在任何地方通过反射访问该类的所有方法。 2.对象存活判断法 1.引用计数算法 图:引用计数算法.png 图:引用计数算法优缺点.png 1.原理:给对象添加一个引用计数器,每当有一个地方引用它时,计数器就加1.当引用失效,计数器就减1.计数器为0的对原创 2021-03-12 21:41:45 · 201 阅读 · 0 评论 -
面试笔记-5.JVM
1.谈谈你对java的理解 1.平台无关性 2.面向对象 3.语言特性 4.异常处理 5.类库 5.GC 2.javap javap是JDK自带的反汇编器,可以查看java编译器为我们生成的字节码。通过它,我们可以对照源代码和字节码,从而了解很多编译器内部的工作。 javap -c 文件名(不带后缀的) 会打印在控制台上 一 1.为什么java能跨平台 图:为什么java能跨平台.png 二 1.JVM结构 1.类加载器(ClassLoader):在JVM启动时或者在类运行时将需要的class加原创 2021-03-12 21:11:07 · 131 阅读 · 0 评论 -
面试笔记-4.Linux
一 1.find指令 (在指定目录下查找文件) 看此文章 find path -option path:路径,缺省为当前目录和其所有子目录 -option: -------1.-mount、-xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件 -------2.-amin n : 在过去 n 分钟内被读取过 -------3.-anewer file : 比文件 file 更晚被读取过的文件 -------4.-atime n : 在过去n天内被读取过的文件 --原创 2021-03-12 20:47:05 · 135 阅读 · 0 评论 -
面试笔记-3.Redis
一 1.Memcache和Redis的区别 Memcache 1.只支持简单数据类型,代码层次类似于hash 2.不支持数据持久化 3.不支持主从 4.不支持分片 Redsi 1.支持多种数据类型 2.支持数据持久化 3.支持主从 4.支持分片 2.Redis的分片 分割数据到多个Redis实例 redis分片存储算法有两种: -------1.最简单的分区方式为范围分区,就是映射一定范围的对象到特定的Redis实例。比如,ID从0到10000的用户会保存到实例R0,ID从10001到20000的原创 2021-03-12 20:30:52 · 181 阅读 · 0 评论 -
面试笔记-2.数据库
一.如何设计一个关系型数据库 程序实例模块: 1.存储模块:逻辑关系转化成物理关系的存储管理 2.存机制:优化执行效率 3.SQL解析:进行SQL语句的解析 4.日志管理:记录操作日志 5.权限划分:进行多用户管理的权限划分 6.容灾机制:灾难恢复模块 7.索引管理:优化数据查询效率 8.锁管理:使得数据库支持并发操作 存储模块(文件系统): 1.磁盘或者固态硬盘存储所有数据 二.索引 1.简介 索引是为了加速对表中数据行的检索而创建的一种分散存储的(不连续的)数据结构,硬盘级的。 2.为什么使原创 2021-03-12 19:52:58 · 198 阅读 · 0 评论 -
面试笔记-1.计算机网络面试核心
一.网络 1.OSI七层模型 应用层 :为网络用户之间的通信提供专用的程序和协议 表示层 :提供数据压缩、解压、加密等服务,为应用层提供语法选择,语法转换 会话层 :建立、管理和终止表示层实体之间的会话连接 : 前三步之后用户的操作便结束了,剩下的是信息如何在网络中传递的问题 传输层 :为会话层提供可靠的、无误的数据传输 网络层 :基于IP地址为数据的传输进行网络间的路由选择 数据链路层:物理地址寻址,为网络层提供数据传送服务 物理层 :为数据传输提供物理媒体原创 2021-03-12 19:05:09 · 454 阅读 · 0 评论