- 博客(24)
- 收藏
- 关注
原创 jvm
内存模型 堆:-Xms最小 -Xmx最大 方法区:永久代-Xx:PermSize -Xx:MaxPermSize 虚拟机加载的类信息、常量、静态变量、各个线程共享 虚拟机栈:调用栈,局部变量 本地方法栈:控制参数 -Xms设置堆的最小空间大小。 -Xmx设置堆的最大空间大小。 -XX:NewSize设置新生代最小空间大小。 -XX:MaxNewSize设置新生代最大空...
2018-10-14 21:53:02
226
原创 HashMap原理
数据结构:数组+链表+红黑树Entry<K,V>是Map中的一个接口,Map.Entry<K,V>接口主要用于获取、比较 key和value.Map.entrySet() 这个方法返回的是一个Set<Map.Entry<K,V>>,Map.Entry 是Map中的一个接口,他的用途是表示一个映射项(里面有Key和Value),而Set<...
2018-09-02 17:43:16
140
原创 bat面试题汇总
java基础为什么wait,notify,notifyAll定义在Object中?finalstatic反射IO 集合 多线程线程的状态转换线程池的原理 JVM回收算法各回收器的特点和用处范围,优缺点相关参数及tomcat参数类加载机制调优,性能优化 Spring@Autowired与@Re...
2018-09-01 15:22:42
338
原创 为什么wait,notify,notifyAll定义在Object中?
这是个设计相关的问题,它考察的是面试者对现有系统和一些普遍存在但看起来不合理的事物的看法。回答这些问题的时候,你要说明为什么把这些方法放在Object类里是有意义的,还有不把它放在Thread类里的原因。一个很明显的原因是JAVA提供的锁是对象级的而不是线程级的,每个对象都有锁,通过线程获得。如果线程需要等待某些锁那么调用对象中的wait()方法就有意义了。如果wait()方法定义在Thread类...
2018-09-01 15:19:03
7667
1
原创 nio
ByteBuffer flip()FileChannel positon() SelectorServerSocketChannelSocketChannel 旧io中有3个类被修改了,用以产生FileChannel:FileInputStream、FileOutputStream、RandomAccessFile
2017-09-25 23:36:03
144
原创 文章目录
java基础反射注解代理泛型异常IONIOObject类JVM内存模型类加载机制调优Tomcat调优java并发JMMvolatilesynchronizedlockAQSCondition线程池原理java集合java集合架构概况HashMapArrayListLinkedListHashSetTreeSetHashTable设计模
2017-09-25 23:33:20
200
原创 jvm调优
今天有个电话面试jvm调优,怎么保证吞吐量有限或停顿时间,原理是什么,多线程回收、单线程回收等内存泄漏吞吐量与停顿时间,如鱼和熊掌,不能兼得,优先选择哪一个,要看具体的业务场景,
2017-06-06 22:32:30
205
原创 HashMap原理解析
final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Node[] tab; Node p; int n, i; if ((tab = table) == null || (n = tab.length) == 0) n = (tab = resize()).length; if ((p =
2017-06-06 21:48:26
245
原创 要完成的文章
java基础反射注解代理泛型异常IONIOObject类JVM内存模型类加载机制调优Tomcat调优java并发JMMvolatilesynchronizedlockAQSCondition线程池原理java集合java集合架构概况HashMapArrayListLinkedListHashSetTreeSetHashTable设计模
2017-06-02 22:34:05
176
原创 多线程
happens-before在程序运行过程中,所有的变更会先在寄存器或本地cache中完成,然后才会被拷贝到主存以跨越内存栅栏,此种跨越序列或顺序称为happens-before。注:happens-before本质是顺序,重点是跨越内存栅栏通常情况下,写操作必须要happens-before读操作,即写线程需要在所有读线程跨越内存栅栏之前完成自己的跨越动作,其所做的变更才能对其他线程可见...
2017-06-02 22:24:59
199
原创 maven
Maven is a software project management and comprehension tool. Based on the concept of a Project Object Model (POM), Maven can manage a project's build, reporting and documentation from a central pi
2016-09-05 18:31:28
453
原创 23种设计模式
创建型1. Factory Method(工厂方法)2. Abstract Factory(抽象工厂)3. Builder(建造者)4. Prototype(原型)5. Singleton(单例)结构型6. Adapter Class/Object(适配器)7. Bridge(桥接)8. Composite(组合)9. Decorator(装饰)10.
2015-10-27 10:22:42
199
原创 算法高手
平台:TopCoder,Google Code Jam,Facebook Hacker CupPetr Mitrichev:born 19 March 1985,莫斯科国立大学Tourist:楼天城 :1986年,天城出生在山东济南,小学六年级时随调动工作的父母来到杭州。父亲楼宇大学学测绘专业,现就职于浙大公共管理学院,母亲曾是化学系才女,现在在浙大化学系任教。
2015-08-16 01:01:48
644
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人