`
merrymode
  • 浏览: 53294 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
JVM调优总结(四)-垃圾回收面临的问题 原创作者: 和你在一起      如何区分垃圾       上面说到的“引用计数”法,通过统计控制生成对象和删除对象时的引用数来判断。垃圾回收程序收集计数为0的对 ...
JVM调优总结(三)-基本垃圾回收算法 原创作者: 和你在一起     可以从不同的的角度去划分垃圾回收算法: 按照基本回收策略分 引用计数(Reference Counting): 比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。   标记-清除(Mark-Sweep):     此算法执行分两阶段。第一阶段从引用根节点开始标记所有被引用的对象,第二阶段遍历整个堆,把未标记的对象清除。此算法需 ...
Java对象的大小     基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。     在Java中,一个空Object对象的大小是8byte ,这个大小只是保存堆中一个没有任何属性的对象的大小。看下面语句: Object ob = new Object();     这样在程序中完成了一个Java对象的生命,但是它所占的空间为:4byte+8byte 。4byte是上面部分所说的Java栈中保存引用的所需要的空间。而那8byte则是Java堆中对象的信息。因为所有的Java非基本类型的对象都需要默认继承Object对象,因此不论什 ...
转载自:http://www.iteye.com/wiki/jvm/2858-JVM 数据类型     Java虚拟机中,数据类型可以分为两类:基本类型 和引用类型 。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。 基本类型包括:byte,short,int,long,char,float,double,Boolean,returnAddress 引用类型包括:类类型 ,接口类型 和数组 。 堆与栈     堆和栈是程序运行的关键,很有 ...
在软件开发中,有时候可能会需要创建一些特别复杂的对象,如果系统中已经存在同样类型的对象,并且不同的属性个数相差不大的话,用Prototype模式可能是一个理想的选择。 定义 :用原型实例指定创建物件的种类,并且通过拷 ...
转载自:http://xupo.iteye.com/blog/463426 在开发中,如果某个实例的创建需要消耗很多系统资源,那么我们通常会使用惰性加载机制,也就是说只有当使用到这个实例的时候才会创建这个实例,这个好处在单例模式中得到了广泛应用。这个机制在single-threaded环境下的实现非常简单,然而在multi-threaded环境下却存在隐患。本文重点介绍惰性加载机制以及其在多线程环境下的使用方法。(作者numberzero,参考IBM文章《Double-checked locking and the Singleton pattern》,欢迎转载与讨论) 1       单例模式 ...
16进制浮点数的表示方法,根据IEEE的标准,分为32位和64位两种,参数分别如下:              符号位      指数位             尾数位            指数偏移量 32位     1[31]     8[23-30]        23[0-22]   ...
转载自:http://blog.csdn.net/barenx/archive/2008/04/03/2246176.aspx 1. 编码知识 1.1 文本和字符 在计算机程序中或者数据文件里,文本(text)是作为数字序列存储的。序列中的数字是具有不同大小、取值和解释的整数。如何解释这些整数是 ...
java中堆栈(stack)和堆(heap)【转摘】       地址:http://blog.csdn.net/jerryao/archive/2006/07/04/874101.aspx 一、堆栈(stack)和堆(heap)? (1)内存分配的策略   按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式 ...
17种正则表达式 "^\d+$"  //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$"  //正整数 "^((-\d+)|(0+))$"  //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$"  //负整数 "^-?\d+$"    //整数 "^\d+(\.\d+)?$"  //非负浮点数(正浮点数 + 0) "^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[ ...
转载自:http://www.iteye.com/news/18725 下面是JDK中有关23个经典设计模式的示例,在stakeoverflow也有相应的讨论: http://stackoverflow.com/questions/1673841/examples-of-gof-design-patterns Structural(结构模式) Adapter: 把一个接口或是类变成另外一种 ...
Java 位运算[转] 一,Java 位运算 1.表示方法:  在Java语言中,二进制数使用补码表示,最高位为符号位,正数的符号位为0,负数为1。补码的表示需要满足如下要求。  (l)正数的最高位为0,其余各位代表数值本身(二进制数)。 ...
转自:http://www.iteye.com/topic/720209 exploit-db网站在7月14日爆出了一个Struts2的远程执行任意代码的漏洞。 漏洞名称:Struts2/XWork < 2.2.0 Remote Command Execution Vulnerability 相关介绍: •http://www.exploit-db.com/exploits/14360/ •http://sebug.net/exploit/19954/ Struts2的核心是使用的webwork框架,处理 action时通过调用底层的getter/setter方法来处理http ...
当使用 fail-fast iterator 对 Collection 或 Map 进行迭代操作过程中尝试直接修改 Collection / Map 的内容时,即使是在单线程下运行, java.util.ConcurrentModificationException 异常也将被抛出。   Iterator 是工作在一个独立的线程中,并且拥有一个 mutex 锁。 Iterator 被创建之后会建立一个指向原来对象的单链索引表,当原来的对象数量发生变化时,这个索引表的内容不会同步改变,所以当索引指针往后移动的时候就找不到要迭代的对象,所以按照 fail-fast 原则 Iterator 会马上抛出 ...
【转载自http://milk-36.iteye.com/blog/617155】 Java 1.5版本最终提供了对编程中最基础数据结构之一-Queue的内在支持。本文章将探究新添加到java.util包中的Queue接口,演示如何去使用这个新特性去使你的数据处理流式化。 by Kulvir Singh Bhogal  (Translated by Victor Jan 2004-09-26 ) (英文原文见http://www.devx.com/Java/Article/21983/1954?pf=true ) 在计算机学科中,基础数据结构之一 — Queue。你会想起Queue是一种数据 ...
Global site tag (gtag.js) - Google Analytics