自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Threadlocal详解(ThreadLocal,InheritTableThreadLocal,TransmittableThreadLocal)

参考:https://blog.csdn.net/upgroup/article/details/107935832主要从四个问题了解1)ThreadLocal可以用来解决什么问题,你工作中或者使用的框架中哪里用到了?2)ThreadLocal解决不了什么问题?怎么办3)InheritThreadLocal解决不了什么问题,怎么办4)阿里的TransmittableThreadLocal是如何解决这个问题的ThreadLocal可以用来解决什么问题一个变量的值想要在线程中传递,比如说分布式调用

2020-10-24 15:31:20 675

转载 JVM实操

内存溢出内存溢出的原因:程序在申请内存时,没有足够的内存空间栈溢出:方法死循环递归调用,不断建立线程堆溢出:不断创建对象,分配对象的大小大于堆大小直接内存:JVM分配的本地直接内存大于JVM的限制(可以通过-XX:MaxdirectMemorySize来设置)不设置的话默认和堆内存大小一样方法区溢出:在经常动态生产大量Class的应用中,CGLIb字节码增强,动态语言,大量JSP(JSP第一次运行需要编译成Java类),基于OSGi的应用(同一个类,被不同的加载器加载也会设为不同的类)内存泄露

2020-10-23 20:42:03 207

转载 慢查询实操

面试的时候问的多了,实操经验太少了,没有底气,这里具体的做一次数据库中设置MySQL慢查询

2020-10-23 19:48:28 114

原创 面试总结

自己写的面试总结,记录一下,有点乱,不建议观看哈Arraylist和Linkedlist的实现和区别一个是数组实现,一个是双向链表实现一个查询快,一个增删快,linkedlist还实现了deque队列,所以可以用来双向队列Arraylist有线程安全版本copyarraylistHashMap:了解其数据结构、hash冲突如何解决(链表和红黑树)、扩容时机、扩容时避免rehash的优化数组+链表+红黑树有四个构造方法:无参数构造方法,指定loadfactor负载因子,初始化容量参数推荐使用,避

2020-10-23 16:10:40 176

原创 秋招面经(四)

开头日常自我介绍1.多线程开局线程的创建方式和区别,线程池的参数和好处,threadlocal的父子线程如何共享数据(inheritthreadlocal)2.jvm进阶内存模型,创建对象的过程,新生代老生代垃圾回收和对象分配问题,jvm实操调优(jps,jstack,jdump和一些常用的jvm参数)3.数据库索引的创建,索引什么时候会失效,left join之类的表连接,慢查询,leftjoin造成的全表扫描怎么优化,怎么精确定位是哪个语句导致了所有的慢查询,4.linux常用命令(ps

2020-10-23 15:23:56 93

转载 数据库分表和分库的概念和策略

分表的概念和策略对于大型的互联网应用来说,数据库单表的记录行数可能达到千万级甚至是亿级,并且数据库面临着极高的并发访问。采用主从复制(Master-Slave)模式的MySQL架构,只能够对数据库的读进行扩展,而对数据库的写入操作还是集中在Master上,并且单个Master挂载的Slave也不可能无限制多,Slave的数量受到Master能力和负载的限制。因此就需要对数据库的吞吐能力进一步扩展,以满足高并发访问与海量数据存储的需要。对于访问频繁且数据量巨大的单表(百万到千万级别)来说,我们首先需要做的

2020-10-10 15:23:48 264

转载 ConcurrentHashMap详解

存储结构ConcurrentHashMap由多个Segment组合,而每一个Segment是一个类似于HashMap的结构,所以每一个HashMap的内部可以进行扩容,但是Segment的个数一旦初始化就不能改变,默认segment的个数是16个,可以认为ConcurrentHashMap默认支持最多16个线程并发初始化通过ConcurrentHashMap的无参构造函数探寻初始化过程 /** * Creates a new, empty map with a default ini

2020-10-10 13:46:55 988

转载 AQS原理分析

AQS概念AQS 是一个用来构建锁和同步器的框架,使用 AQS 能简单且高效地构造出应用广泛的大量的同步器,比如我们提到的 ReentrantLock,Semaphore,其他的诸如 ReentrantReadWriteLock,SynchronousQueue,FutureTask 等等皆是基于 AQS 的。当然,我们自己也能利用 AQS 非常轻松容易地构造出符合我们自己需求的同步器AQS原理概述AQS的核心思想是,如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并且将共享资源

2020-10-08 18:21:43 84

转载 多线程死锁

导致死锁的四个条件互斥条件:该资源任意时刻只能被一个线程占用请求与保持条件:一个线程因请求资源而阻塞,对已经获得的资源保持不放不剥夺条件:线程已获得的资源在末使用完之前不能被其他线程强行剥夺,只有自己使用完毕后才释放资源。循环等待条件:若干进程之间形成头尾相接的循环等待资源关系如何避免线程死锁破坏互斥条件:这个是办不到的,用锁就是为了让他们互斥破坏请求和保持条件:一次性申请所有资源破坏不剥夺条件:占用部分资源的线程进一步申请其他资源时,如果申请不到,可以主动释放它占有的资源。破坏循环等待条

2020-10-08 15:00:04 129

转载 B+树索引和Hash索引的区别和使用场景

二者区别在MySQL文档中,实际上是把B+树索引写成BTREECREATE TABLE t(aid int unsigned not null auto_increment,userid int unsigned not null default 0,username varchar(20) not null default ‘’,detail varchar(255) not null default ‘’,primary key(aid),unique key(uid) USING BT

2020-10-01 15:44:21 1461

空空如也

空空如也

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

TA关注的人

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