摘要: 并发1 并发编程的挑战 上下文切换 无锁编程 cas算法 使用最少线程 协程 死锁 死锁产生的必要条件 互斥 请求与保持 不可剥夺 循环等待 资源限制 重点的关键字 volatile 保障了共享变量的可见性 会生成一个Lock前缀的指令 当前缓冲行写会主内存 令其他处理器的对应该地址的缓冲行失效 缓 阅读全文
posted @ 2021-02-28 02:31 八佰山兵上北坡 阅读(45) 评论(0) 推荐(0) 编辑
摘要: JVM 一 运行时数据区域 什么是线程独享 什么是线程共享的 对象创建 创建对象 new 指令的时候 newInstance()方法 对象创建的流程 遇到了一个new Student() 先去加载Student类 内存分配的方式 指针碰撞 空闲列表 内存布局 有几部分组成 访问定位 两种形式 现在采 阅读全文
posted @ 2021-02-28 02:28 八佰山兵上北坡 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 1.什么情况下会发生栈内存溢出。 描述栈定义,再描述为什么会溢出,再说明一下相关配置参数,OK的话可以给面试官手写是一个栈溢出的demo。 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。) 栈的优势是,存 阅读全文
posted @ 2021-02-28 02:15 八佰山兵上北坡 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-02-28 02:12 八佰山兵上北坡 阅读(43) 评论(0) 推荐(0) 编辑