自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 一文简单了解八种单例模式

​一文简单了解八种单例模式1、饿汉式(静态常量)[可用]2、饿汉式(静态代码块)[可用]3、懒汉式(线程不安全)[不可用]4、懒汉式(线程安全,同步方法)[不推荐使用]5、懒汉式(线程不安全,同步代码块)[不可用]6、双重检查[推荐使用]7、静态内部类[推荐使用]8、枚举类[推荐使用]八种单例模式的小结:各种写法的使用场合:面试常见问题:首先我们通过单例模式的作用来看为什么会出现单例模式。单例模式的出现可以节省内存和计算、保证结果正确、方便管理。其主要适用于:无状态的工具类(日志类等提供的服务都是一样的

2020-07-31 21:45:44 137

原创 多角度简单解析synchronize关键字

这里写自定义目录标题Synchronized简介作用不使用synchronize的后果两种用法对象锁类锁多线程访问同步方法的7种情况Synchronized的性质Synchronized原理加锁和释放锁的原理可重入原理保证可见性原理Synchronized的缺陷常见面试问题Synchronized简介作用保证在同一时刻最多只有一个线程执行该段代码,以达到并发安全的效果。其主要通过拿到锁来保证执行代码块的线程唯一性,只有拿到锁的线程才能执行synchronize中的代码。不使用synchronize的

2020-07-27 20:30:59 221

原创 IDEA调试技巧--看线程生命周期

线程共有6个生命周期状态:new、runnable、wait、block、time_wait、terminal。我们可以使用IDEA工具对每个线程状态进行debug调试获取,具体操作如下:1、首先在代码块中打上断点2、右击断点可以选择需要停下的线程:3、选择需要查看状态的线程(IDEA会帮附上对应状态,但是有些并不是多线程的状态):4、执行获取状态的代码操作:...

2020-07-27 20:30:05 4686

原创 记录一次大公司面试题

Arratlist 和 Linkedlist区别Arratlist 扩容HashMap底层HashMap扩容介绍一下HashMap 2次幂的原因MySQL怎么优化MySQL中explain查询出的字段有哪些,介绍一下用过分页吗,介绍一下使用的分页千亿数据怎么分页说一下间隙锁间隙锁怎么用redis有哪些常用的数据结构redis用了哪些结构其他nosql数据结构了解吗redis的持久化介绍一下redis集群怎么用,怎么保证数据一致介绍SpringCloudzuul你是怎么使用的

2020-07-03 16:35:19 254

空空如也

空空如也

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

TA关注的人

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