Java 技术,IBM 风格: 类共享

Java™ 5.0 平台的 IBM 实现中新的共享类特性提供了一种完全透明和动态的方法,可以共享已经装载的所有类,而不会对共享类数据的 JVM 施加限制。这个特性为减少虚拟内存占用和改进启动时间提供了一个简单且灵活的解决方案,大多数应用程序都能够因此受益。本文讨论这个特性是如何工作的、如何使用它以及何时使用它,还介绍它提供的一些特性。

在 Java 虚拟机(JVM)进程之间共享已经装载的类,这种概念并不是新的。例如,Sun 的 CDS 特性将系统类写到一个只读文件中,这个文件在内存中映射到 JVM。IBM z/OS® 1.4.2 JVM 中的 Shiraz 特性使用一个主 JVM 填充类缓存,然后从 JVM 可以共享这个类缓存。

JVM 5.0 的 IBM 实现进一步发展了这个概念,允许将所有 系统类和应用程序类存储在共享内存中一个一致的动态类缓存中。在支持 JVM 的 IBM 实现的所有平台上都支持这个共享类 特性。这个特性甚至支持与运行时字节码修改进行集成,这将在本文 后面 讨论。

共享类特性是从头设计的,它是一个可以打开和关闭的选项,可以减少虚拟内存占用并改进 JVM 启动时间。因此,它非常适合多个 JVM 运行相似代码的环境或者 JVM 常常重新启动的环境。

除了 JVM 及其类装载器中的运行时类共享支持之外,还有一个公共的 Helper API,可以将类共享支持集成到定制的类装载器中,本文将 详细 讨论这个问题。

它如何工作

我们先看看共享类特性如何操作的技术细节。

启用类共享

启用类共享的方法是将 -Xshareclasses[:name=] 添加到现有的 Java 命令行上。当 JVM 启动时,它寻找给定名称的类缓存(如果没有提供名称,那么选择一个默认名称),并按照需要连接现有的缓存或创建一个新的缓存

使用参数 -Xscmx[k|m|g] 指定缓存的大小;这个参数只应用于 JVM 创建新缓存的情况。如果省略这个选项,那么选择一个与平台相关的默认值(通常是 16MB)。注意,一些操作系统设置可能会限制可分配的共享内存量,例如 Linux 上的 SHMMAX 通常设置为大约 20MB。这些设置的细节可以在适当的用户指南的 Shared Classes 部分中找到(参见 参考资料 中的链接)。

类缓存

类缓存 是一个大小固定的共享内存区,它在使用它的 JVM 的生命周期之外仍然持久地存在。一个系统上可以有任意数量的共享类缓存,这只受操作系统设置的限制;但是一个 JVM 在它的生命周期中只能连接一个缓存。

JVM 并不拥有缓存,也没有主/从 JVM 的概念;实际上,任意数�

相关文档:

===================================TimerTask=======================================

import java.util.TimerTask;

import java.util.Calendar;

public class MyTask extends TimerTask

{

private ......

在本文通过提供使Java 应用程序可以使用 USB 设备的 API 而使这个过程变得更容易.

Java 平台一直都以其平台无关性自豪。虽然这种无关性有许多好处,但是它也使得编写与硬件交互的 Java 应用程序的过程变得相当复杂。在本文中,研究科学家蒋清野讨论了两个项目,它们通过提供使Java 应用程序可以使用 USB 设备的 API 而使这 ......

package com.tienway.util;

import java.util.ArrayList;

public class StringUtil

{

public static String ContextType1ToType2(String Type1Context)

{

if (Type1Context== null || Type1Context.length() == 0)

{

return "";

}

char[] c = Type1Con ......

转自:http://ttitfly.javaeye.com/blog/155422

1.java里的clone分为:

A:浅复制(浅克隆): 浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。

b:深复制(深克隆):深复制把要复制的对象所引用的对象都复制了一遍。

Java中对象的克隆,为了获取对象的一份拷贝,我们可以利用Object类的clone()方法。必须要遵循 ......

code review 工具列表

1.代码格式检查checkstyle;

2.性能安全最佳实践检查RAD Software Analyzer和FindBug;

3.依赖检查JDepend;

4.重复性检查eclipse PMD插件;

5.复杂度检查eclipse Metrics插件;

6.协作工具Jupiter

Jupiter

1.Unset表示没有选择,而不是一个具体类型

2.三个阶段有默认的Filter条件� ......

java 共享类,Java 技术,IBM 风格: 类共享相关推荐

  1. 使用类共享提高性能,探索 IBM JRE 中最新的类共享特性

    共享类基础结构是在 IBM JRE for the Java platform SE 的版本 5 中首次引入的.最新版本对这个特性的改进有助于提高 Java 应用程序在启动时间和内存使用量方面的性能. ...

  2. Java提高篇 —— Java三大特性之继承

    一.前言 在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事 ...

  3. Java八股整理--java基础

    1.方法重写与方法重载的区别: 方法重载:是指在同一个类中的多个方法有相同的名称,但是方法签名不同,编译器能够根据方法签名决定调用哪个方法.方法签名中包含方法名和参数,而方法重载是相当于多个相同的方法 ...

  4. Day55-每日一道Java面试题-Java 面向对象编程三大特性: 封装 继承 多态

    Java 面向对象编程三大特性: 封装 继承 多态 封装 封装把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法,如果属性不想被外界访问,我们大可不必提供方法给外界访问.但是如果一个类没有 ...

  5. Java 编程的动态性 第1 部分: 类和类装入--转载

    原文地址:http://www.ibm.com/developerworks/cn/java/j-dyn0429/ 本文是这个新系列文章的第一篇,该系列文章将讨论我称之为 Java 编程的动态性的一系 ...

  6. java 继承 意义_Java中继承,类的高级概念的知识点

    1.继承含义 在面向对象编程中,可以通过扩展一个已有的类,并继承该类的属性和行为,来创建一个新的类,这种方式称为继承(inheritance). 2.继承的优点 A.代码的可重用性 B.子类可以扩展父 ...

  7. java 类爆炸_Java 封装与类

    一.面向对象编程 面向对象编程三大特性:封装.继承和多态. 类是实现封装的手段,是面向对象编程的基本单元. 封装隐藏了类的内部实现细节,暴露给外界可控的操作,提高数据的完整性和安全性,提高模块的可重用 ...

  8. java/03/类与对象,深入分析类与对象(权限修饰,构造方法和简单java类),数组的定义及使用

    java/03/类与对象,深入分析类与对象(权限修饰,构造方法和简单java类),数组的定义及使用 七十年代,IBM的Smalltalk语言最先推广面向对象,后来C语言变为C++,后来C++又产生了J ...

  9. JAVA学习笔记—JAVA SE(四)JAVA核心库类(下)

    文章目录 四.JAVA核心库类(下) 1. 异常机制和File类 1.1 异常机制 1.1.1 基本概念 1.1.2 异常的分类 1.1.3 异常的避免 1.1.4 异常的捕获 1.1.5 异常的抛出 ...

  10. 【Java基础】Java类和对象

    文章目录 一.什么是类和对象? 1.类的定义及可用关键字 2.成员变量的定义和声明 3.面向对象的三大基本特征 3.1封装性 3.2 继承性 3.3多态性 二.创建对象的几种方法 1.显式创建对象 2 ...

最新文章

  1. 2.逆向分析Hello World!程序-上
  2. python变量作用域 for_python变量作用域
  3. CentOS下python-mysqldb安装
  4. 【全国动态】服务器列表
  5. angular-过滤器
  6. mysql binlog 大数据_后起之秀 | MySQL Binlog增量同步工具go-mysql-transfer实现详解
  7. 菜鸟的学习之路(8) — 数组(Array)
  8. python java正则表达式_java 正则表达式
  9. Kaggle入门预测赛,手写数字识别Digit Recognizer,使用Kaggle kernel作答,F=0.98
  10. Excel闪退问题解决
  11. 安卓客户端使用矢量图
  12. Linux下 文件或文件夹的复制(拷贝 cp)
  13. paypal接入指南
  14. 独门秘籍 针式打印机换针小窍门
  15. java 数独算法_Java:递归数独解法计数算法
  16. html校园网页设计作品欣赏,html网页设计作品
  17. c语言编程数组例题,c语言编程有关数组的几道例题.docx
  18. 基于FaceX-Zoo实现的Face Mask Adding人脸戴口罩
  19. 《特征工程入门与实践》--- 特征学习
  20. nyoj892买牛奶

热门文章

  1. 如何查看声卡、pcm设备以及tinyplay、tinymix、tinycap的使用
  2. 微博 用户画像_面向新浪微博的用户画像研究
  3. lambda表达式(Shawn),android物联网开发配套代码
  4. c语言简单的图案设计,分形艺术图案设计
  5. CSDN:2020年度CSDN博客之星评选竞赛——180号【一个处女座的程序猿】,感谢您,投上的宝贵一票,感谢!感恩!
  6. 韩国五大财阀家族企业
  7. 语音源码构建了语音社交的应用基础,模式多样,功能丰富
  8. windows下V-Rep下载及安装教程
  9. Excel IF+COUNTIF、IFERROR+VLOOKUP使用组合公式
  10. 搜狗站长html标签验证,各大搜索引擎站长验证以及百度统计代码配置