每天一个面试题
文章平均质量分 71
狂飙的周舟
终生学习践行者
展开
-
java多线程与并发(下集)
java多线程与并发(下集) 一 synchronized关键字 1.实现synchronized的底层实现原理 1)java对象头 2)Monitor:每个java对象天生自带了一把看不见的锁 2.为什么有些人会对synchronized嗤之以鼻? 1)早期版本中,synchronized属于重量级锁,依赖于Mutex Lock实现 2)线程之间的切换需要从用户态转换到和心态,开销较大 java6以后,性能得到了很大的提升; 1)Adaptive Spining 自适应自旋锁 自适应自旋锁的由来,由于原创 2022-04-13 22:19:05 · 57 阅读 · 0 评论 -
java多线程与并发(上集)
java多线程与并发 一、Thread中的start和run方法的区别 1)调用start()方法会创建一个新的子线程并启动 2)run()方法只是Thread的一个普通方法的调用 二、Thread和Runnable是什么关系 1)Thread是实现了Runnable接口的类,使得run支持多线程 2)因类的单一继承原则,推荐多使用Runnable接口 三、如何给run()方法传参 1)构造函数传参 2)成员变量传参 3)回调函数传参 四、如何实现处理线程的返回值 1)主线程等待法 2) 使用Thread原创 2022-04-11 22:27:05 · 377 阅读 · 0 评论 -
谈谈对java的理解
谈谈对java的理解 每当遇到这个问题时,对于我们学java的小伙伴来讲,是一件非常头疼的事,这是因为阐述这件事太宽泛了,可说的点很多,于是就无从下手。因此,本人汇总了如下几点,可以供小伙伴参考: 一.平台无关性:一次编译,到处运行; 1.那为什么JVM不直接将源码解析成机器码去执行呢?是因为如果这么做了,会出现以下情况 1)准备工作:每次执行都需要各种检查 2)兼容性:也可以将别的语言解析成字节码 2.那JVM如何加载.class文件呢? 1)谈谈ClassLoader:ClassLoader在jav原创 2022-04-05 15:50:10 · 1664 阅读 · 0 评论 -
linux系统中操作语句精进
linux系统中操作语句精进 一、linux系统中如何查找特定的文件 1.find ~ -name “find.java” :精确查找文件 2.find ~ -name “find*” :模糊查找文件 3.find ~ -iname “target*”:不区分文件名大小写去查找文件 4.man find:更多关于find指令的使用说明 二、linux系统中如何检索文件内容 1.一般使用grep,语法为 grep [options] pattern file 1)全称:Global Regular Expre原创 2022-03-28 23:13:44 · 838 阅读 · 0 评论 -
Redis如何做持久化
Redis如何做持久化 一、RDB RDB(快照)持久化:保存某个时间点的全量数据快照 手动触发: 1.save:阻塞Redis的服务器进程,直到RDB文件被创建完毕 2.bgsave:Fork出一个子进程来创建RDB文件,不阻塞服务器进程 自动触发: (1.根据redis.conf配置里的save m n定时触发(用的是bgsave) (2.主从复制时,主节点自动触发 (3.执行debug reload (4.执行shutdown且没有开启AOF持久化 对于bgsave,其原理是(copy-on-writ原创 2022-03-27 23:26:20 · 701 阅读 · 0 评论 -
Redis从海量Key里查询某一个固定前缀的Key
从海量数据里查询符合搜索的数据原创 2022-03-27 17:28:48 · 3021 阅读 · 0 评论 -
【多线程】Java线程池七个参数详解
【多线程】Java线程池七个参数详解 /** * Creates a new {@code ThreadPoolExecutor} with the given initial * parameters. * * @param corePoolSize the number of threads to keep in the pool, even * if they are idle, unless {@code allowCoreThrea原创 2021-09-15 00:18:42 · 186 阅读 · 0 评论