自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

沙漏

一步步从无到有的创造

  • 博客(15)
  • 收藏
  • 关注

原创 JVM调优及参数设置

(1)参数-Xms:初始堆大小-Xmx :最大堆大小 此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存-Xmn :年轻代大小 整个堆大小=年轻代大小+ 年老代大小+ 持久代大小。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。-XX:NewSize:设置年轻代大小-XX:

2016-08-23 16:27:13 7153 3

原创 JVM垃圾收集器

Java有四种类型的垃圾回收器:(1)串行垃圾回收器(Serial Garbage Collector)(2)并行垃圾回收器(Parallel Garbage Collector)(3)并发标记扫描垃圾回收器(CMS Garbage Collector)(4)G1垃圾回收器(G1 Garbage Collector) 上面为新生代收集器,下面是老年代收集器。如果两个收集器之

2016-08-23 11:11:24 568

原创 JVM垃圾收集算法

1、标记-清除算法算法分为两个阶段 标记和清除(1)标记出要回收的对象,在标记完成后统一回收未被标记的对象,从根节点出发,若是存在引用链就把对象进行标记。(2)不足:标记和清除的效率都低,二是空间问题,标记清除之后会产生大量的不连续的内存碎片,空间碎片太多的话,在程序运行期间,如果需要足够连续的内存空间时不得不提前出发另一次垃圾回收动作。2、复制算法将可用内存划

2016-08-22 10:39:08 577

原创 JVM内存分配和垃圾回收策略

内存分配和回收策略Java技术体系所倡导的自动管理内存解决了两个问题:(1)给对象分配内存(2)回收分配给对象的内存对象内存的分配主要在Eden区上,少数会在老年代中。(1)对象有优先分在Eden区上     大多数情况下对象优先分配在Eden区上,当Eden区上没有足够空间进行分配的时候将发起一次MinorGC;(2)大对象直接进入老年代大对象是指需要大量

2016-08-22 10:35:19 540

原创 java中对象的引用类型及判断对象是否存活的算法

堆中几乎存放着Java世界中所有的对象实例,垃圾收集器在对堆回收之前,第一件事情就是要确定这些对象哪些还“存活”着,哪些对象已经“死去”(即不可能再被任何途径使用的对象)1.引用计数算法   很多教科书判断对象是否存活的算法是这样的:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值加1;当引用失效时,计数器减1;任何时刻计数器都为0的对象就是不可能再被使用的。  (1)

2016-08-19 10:27:45 3003

原创 JVM的内存分区----运行时的数据区域

对java程序员来说,在虚拟机自动管理机制的帮助下,不需要对每个new操作去写配对的delete/free代码,即java程序员把内存的控制权利交给了java虚拟机。运行时数据区域Java虚拟机在执行java程序的时候会把它管理的内存划分为若干个不同的区域,这些区域都有自己的用途和创建以及销毁时间。(1)程序计数器1)当前线程所执行的行号指示器。通过改变计数器的值来确定下一

2016-08-18 21:11:32 2818

原创 剑指offer----左旋转字符串----java实现

对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。思路:(1)借助于单词翻转的顺序地思路,把字符串的部分左移,可以把字符串看成两部分,要左移的n位分为一部分,剩下的分为一部分1)先翻转第一部分2)翻转第二部分3)整体翻转当字符串的场地小于等于要左旋的位数时,不需要旋转

2016-08-15 17:00:39 2804 1

原创 剑指offer----翻转单词顺序列----java实现

牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?思路:(1)先翻转整个句

2016-08-15 16:35:39 2705

原创 剑指offer----和为S的连续正数序列----java实现

输入一个正数s,打印出所有和为s的连续正数序列(至少含有两个数)。例如输入15,由于1+2+3+4+5=4+5+6=7+8=15;所以打印出三个连续序列1~5,4~6,7~8;思路:从递增数组中两个何=和为s的数得到启示,我们也可以设置两个指针,一个指向当前序列的最小的数,一个指向当前序列最大的数。1)设置两个指针,一个为small指向当前正数序列中最小的数,一个为big指向当前正

2016-08-15 12:48:23 3528 1

原创 剑指offer----和为S的两个数----java实现

输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 分析要求:(1)数组是递增的数组;即数据已经是有序的了。(2)输出乘积最小的一对和为S的数;和相等的情况下,两个数相差越大,乘积越小。思路:定义两个指针,一个是指向数组的起始位置变量设为low,一个指向数组的终止位置处变量设为high。1)如果和

2016-08-15 11:49:21 500

原创 剑指offer----链表中环的入口节点----java实现

一个链表中包含环,请找出该链表的环的入口结点。此问题包含两个步骤:(1)判断链表中是否有环(2)找出环一、1)选择快慢指针,让快指针每次走两步,慢指针每次走一步,若是单链表中有环的话,那么两个指针会相遇,即指向的相同的节点的值相等来判断。2)当相遇的时候,慢指针在环中走了k步,设环之外的部分长为x,环的长度为n,则快指针一共走了 x+m*n步,(m为快指针在环中走的圈数),

2016-08-11 11:54:01 4733 3

原创 Spring事务的传播和隔离

事务的传播和隔离一、事务的传播当事务方法被另一个事务方法调用时, 必须指定事务应该如何传播.例如: 方法可能继续在现有事务中运行,也可能开启一个新事务,并在自己的事务中运行.事务的传播行为可以由传播属性指定. Spring 定义了7  种类传播行为.常用的:(1) PROPAGATION_REQUIRED: 如果存在一个事务,则支持当前事务。如果没有事务则开

2016-08-04 15:20:31 500

原创 Spring的事务管理机制

一、数据库事务数据库事务(Database Transaction),是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。事务的四个关键属性(ACID):(1)原子性(atomicity):事务是一个原子操作, 由一系列动作组成.事务的原子性确保动作要么全部完成要

2016-08-04 10:54:26 689

原创 Web-Harvest的简要介绍

一、简述Web-Harvest 是一个用Java写的开源的Web数据提取工具。它提供了一种从所需的页面上提取有用数据的方法。为了达到这个目的,你可能需要用到如XSLT,XQuery,和正则表达式等操作text/xml的相关技术。Web-Harvest主要着眼于目前仍占大多数的基于HMLT/XML的页面内容。另一方面,它也能通过写自己的Java方法来轻易扩展其提取能力。

2016-08-01 19:42:04 2509

原创 XPath学习笔记

一、XPth是干什么的?XPath是W3C的一个标准。它最主要的目的是为了在XML1.0或XML1.1文档节点树中定位节点所设计。XPath是一种表达式语言,在XML中查找信息,它的返回值可能是节点,节点集合,原子值,以及节点和原子值的混合等。二.XPth语法在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或成为根节点)。XPa

2016-08-01 15:08:49 465

空空如也

空空如也

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

TA关注的人

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