- 博客(24)
- 收藏
- 关注
原创 jvm
内存模型 堆:-Xms最小 -Xmx最大 方法区:永久代-Xx:PermSize -Xx:MaxPermSize 虚拟机加载的类信息、常量、静态变量、各个线程共享 虚拟机栈:调用栈,局部变量 本地方法栈:控制参数 -Xms设置堆的最小空间大小。 -Xmx设置堆的最大空间大小。 -XX:NewSize设置新生代最小空间大小。 -XX:MaxNewSize设置新生代最大空...
2018-10-14 21:53:02
235
原创 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
148
原创 bat面试题汇总
java基础 为什么wait,notify,notifyAll定义在Object中? final static 反射 IO 集合 多线程 线程的状态转换 线程池的原理 JVM 回收算法 各回收器的特点和用处范围,优缺点 相关参数及tomcat参数 类加载机制 调优,性能优化 Spring @Autowired与@Re...
2018-09-01 15:22:42
349
原创 为什么wait,notify,notifyAll定义在Object中?
这是个设计相关的问题,它考察的是面试者对现有系统和一些普遍存在但看起来不合理的事物的看法。回答这些问题的时候,你要说明为什么把这些方法放在Object类里是有意义的,还有不把它放在Thread类里的原因。一个很明显的原因是JAVA提供的锁是对象级的而不是线程级的,每个对象都有锁,通过线程获得。如果线程需要等待某些锁那么调用对象中的wait()方法就有意义了。如果wait()方法定义在Thread类...
2018-09-01 15:19:03
7683
1
原创 nio
ByteBuffer flip() FileChannel positon() Selector ServerSocketChannel SocketChannel 旧io中有3个类被修改了,用以产生FileChannel:FileInputStream、FileOutputStream、RandomAccessFile
2017-09-25 23:36:03
151
原创 文章目录
java基础 反射注解代理泛型异常IONIOObject类 JVM 内存模型类加载机制调优Tomcat调优 java并发 JMMvolatilesynchronizedlockAQSCondition线程池原理 java集合 java集合架构概况HashMapArrayListLinkedListHashSetTreeSetHashTable 设计模
2017-09-25 23:33:20
204
原创 jvm调优
今天有个电话面试 jvm调优,怎么保证吞吐量有限或停顿时间,原理是什么,多线程回收、单线程回收等 内存泄漏 吞吐量与停顿时间,如鱼和熊掌,不能兼得,优先选择哪一个,要看具体的业务场景,
2017-06-06 22:32:30
217
原创 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
256
原创 要完成的文章
java基础 反射注解代理泛型异常IONIOObject类 JVM 内存模型类加载机制调优Tomcat调优 java并发 JMMvolatilesynchronizedlockAQSCondition线程池原理 java集合 java集合架构概况HashMapArrayListLinkedListHashSetTreeSetHashTable 设计模
2017-06-02 22:34:05
185
原创 多线程
happens-before 在程序运行过程中,所有的变更会先在寄存器或本地cache中完成,然后才会被拷贝到主存以跨越内存栅栏,此种跨越序列或顺序称为happens-before。注:happens-before本质是顺序,重点是跨越内存栅栏 通常情况下,写操作必须要happens-before读操作,即写线程需要在所有读线程跨越内存栅栏之前完成自己的跨越动作,其所做的变更才能对其他线程可见...
2017-06-02 22:24:59
213
原创 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
461
原创 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
203
原创 算法高手
平台:TopCoder,Google Code Jam,Facebook Hacker Cup Petr Mitrichev:born 19 March 1985,莫斯科国立大学 Tourist: 楼天城 :1986年,天城出生在山东济南,小学六年级时随调动工作的父母来到杭州。父亲楼宇大学学测绘专业,现就职于浙大公共管理学院,母亲曾是化学系才女,现在在浙大化学系任教。
2015-08-16 01:01:48
657
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人