- 博客(7)
- 收藏
- 关注
原创 sql优化学习总结
1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2、应尽量避免在 where 子句中使用 != 或 <> 操作符,否则将引擎放弃使用索引而进行全表扫描。.in 和 not in 也要慎用,否则会导致全表扫描,对于连续的数值,能用 between 就不要用 in 了,很多时候用 exists 代替 in 是一个好的选择。3、任何...
2018-03-02 08:32:10
161
原创 I/O知识学习
1、在整个Java.io包中最重要的就是5个类和一个接口。5个类指的是File、OutputStream、InputStream、Writer、Reader;一个接口指的是Serializable.掌握了这些IO的核心操作那么对于Java中的IO体系也就有了一个初步的认识了。2、Java I/O主要包括如下几个层次,包含三个部分: 1.流式部分――IO的主体部分,字节流inputxxxx/outp...
2018-02-27 14:50:40
211
原创 集合心得
1、 Collection分为两种类型的接口:List和Set,两者最明显的差别是list支持放入重复的对象,而set不支持。list接口常用的实现类有:ArrayList、linkedlist、vector、stack;Set接口常用的实现类有HashSet、TreeSet。2、ArrayList:是基于数组方式实现的,无容量的限制;在执行插入操作时可能要扩容,在删除元素时并不会减小数组的容量...
2018-02-25 20:12:29
164
原创 Jvm调优的方法
其实,JVM调优只要是指的内存管理方面的调优,包括各个代的大小,GC策若,由于gc动作会导致应用线程的挂起,严重影响性能,这些调优对于应用很重要,下面这些方法主要是为了尽量降低gc所导致的应用暂停时间的方法:一、代大小的调优。1、避免新生代大小设置的过小(主要是minorGC和FullGC的关系)。新生代过小会导致,一是minorGC次数增加,二是可能导致minorGC对象直接进入旧生代,此时如进...
2018-02-25 09:49:57
173
原创 内存分配和回收策略
1、对象的内存分配往大的方向说就是在java堆上分配,对象主要分配在新生代的Eden区上,如果启动了本地线程分配缓冲,将按照线程优先分配在tlab上分配。少数情况下可能直接分配在老年代中,其细节取决于哪一种垃圾收集器组合,还有虚拟机中和内存相关的参数设置。其他几种内存分配方法是2、对象优先分配在Eden区,大多数情况下新生代分配在eden去,如果区没有足够的内存空间,虚拟机将发起GC;3、大对象直
2018-02-05 22:37:25
222
原创 如何判断那些内存需要回收(GC)
一、通过可达性分析算法来判断对象是否还活着,这个算法的基本思路就是通过一系列的被称为“GC ROOT”的对象作为起始点,从这些节点往下开始搜素,搜索所走过的路径称为引用链,当一个对象到GC Roots没有任何引用链相连接(用画图来说,就是从GC Roots到这个对象不可达)时,则证明此对象是不可用的,因此就会被判定为可回收的对象(在java语言中,可作为GC Roots的对象包括下面几种,1、虚拟
2018-02-05 22:05:23
1292
原创 关于java垃圾回收GC的学习心得记录
一、那些内存需要回收? 1、程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而亡,栈中的栈帧随着方法的进入和退出而有条不许的执行着出栈和入栈操作;每一个栈帧中分配多少内存基本上是在类结构确定下来就已知,因此这几个区域的内存分配和回收具有确定性,这几个区域不需要过多考虑回收的问题,因为方法结束,或线程结束,内存自然跟着回收了。而java堆和方法区则不一样,因为一个接口中的多个实现类需要的
2018-02-05 21:29:42
205
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人