自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 资源 (1)
  • 收藏
  • 关注

原创 定义栈结构实现min(),push(),pop()函数要求时间复杂度为O(1)

题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。例如:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.min(); --> 返回 -3.minStack.pop(); minStack.top(); --> 返回 0.

2021-11-06 18:49:23 224

原创 手撕面试官-synchronized

认识锁上文我们详细介绍了volatile关键字,能够解决指令重排和可见性的问题。但是它并不能够解决原子性的问题。接下来我们将介绍synchronized关键字。synchronized关键字可以用来解决因为CPU切换而导致的原子性问题。synchronized就是我们经常说到的“锁”,如果说后续听人说“管程”也是它。既然是锁,那么我们通过简单的图片来看下锁的场景:我们可以这样去理解锁的概念...

2020-03-17 15:04:32 236

原创 手撕面试官之volatile的作用

术语:术语描述内存屏障一组处理器指令,用于实现对内存操作顺序的限制缓冲行cpu告诉缓存中可以分配的最小存储单位,处理器写缓存行时会加载整个缓存行原子操作不可中断的一组操作缓存行填充缓存命中写命中–写缺失https://blog.csdn.net/Java_HuiLong/article/details/91595952?...

2020-03-11 17:11:25 606

原创 别问我多线程为啥有BUG了

刚学习并发编程时候,肯定有这几个疑问:volatile是啥,为啥要用,我的代码怎么就不安全了。。。。。从0开始,手把手教你,把你拉扯大,操作系统的粗糙模型cpu处理指令非常快,但是如果涉及到与内存交互,比如取一条数据,那么假设cpu直接向内存取值。cpu是填上一天,内存是地上一年。所以在cpu增加了缓存,cpu和缓存交互,缓存和内存交互。用来解决处理速度差异过大的问题。所以读到这,你得给我知...

2020-03-07 15:18:38 339

原创 Springboot下自定义监听器的使用

Servlet和Springboot的关系spring boot 三大特性:组件自动装配:webMVC、webFlux、JDBC等(@EnableAutoConfiguration,@Configuration)嵌入式Web容器:Tomcat、Jetty以及undertow(简单说下我的理解,Spring的核心功能是IOC和DI。那么web部分,在springboot中肯定是做嵌入式的集成...

2020-03-07 11:30:26 609

原创 windows下找到java进程占用CPU过高的线程

首先我们要知道JVM将java中的多线程映射到操作系统是轻量级进程。 那么我们直观的拿到pid是不能够感知该进程内部的线程情况。 所以接下来我会教你如何在windows系统下找到占用cpu内存最高的线程。1. 准备一段问题代码并运行public class StackTest { public static void main(String[] args) { ...

2020-03-07 11:03:51 387

PropsToJsonUtils.java

该工具类可以将"a.b.key=vale"的Properties根据"."作为层级关系生产json格式数据,例如: {"a":{"b":"key":"value"}}。支持重复key节点的动态更新且层级数理论无上限。

2021-11-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除