`
文章列表

jvm垃圾回收

    博客分类:
  • jvm
垃圾回收方法: 引用计数器:如果一个变量引用一个对象,就对该对象引用加1,当对象超过生存期或被重置为其他值,减1,到零时垃圾回收,缺陷:循环引用:父类引用子类,子类又引用父类将永远不会被回收。 跟踪收集: 从根结节点开始引用检查,利用标记标识被引用对象,未标记清除。 拷贝收集: 针对内存碎片,根据算法标记被引用对象,并从现在内存区域拷贝到一个大的空白区域,原区域整体回收,该方法利用引用句柄指向堆对象,这样对象的地址改变时更新句柄指向,缺陷:拷贝过程将停止程序运行,性能代价比较大。 按代收集:

jvm体系结构

    博客分类:
  • jvm
VM可以由不同的厂商来实现。由于厂商的不同必然导致JVM在实现上的一些不同,然而JVM还是可以实现跨平台的特性,这就要归功于设计JVM时的体系结构。 我们知道,一个JVM实例的行为不光是它自己的事,还涉及到它的子系统、存储区域、数据类型和指令这些部分,它们描述了JVM的一个抽象的内部体系结构,其目的不光规定实现JVM时它内部的体系结构,更重要的是提供了一种方式,用于严格定义实现时的外部行为。每个JVM都有两种机制,一个是装载具有合适名称的类(类或是接口),叫做类装载子系统;另外的一个负责执行包含在已装载的类或接口中的指令,叫做运行引擎。每个JVM又包括方法区、堆、Java栈、程序计数器和 ...
JAVA的安全模型不同于传统的安全方法,传统的安全方法中,大多数操作系统允许应用程序充分访问系统资源,在操作系统不提供安全保护的机器里,运行环境不能被信任。为了弥补这个缺陷,安全策略经常要求在应用程序执行之前对应用程序建立信任,例如要求程序员在执行从网上获得的应用程序前,先检查病毒和源代码中不安全的代码。这种方法有2个问题: (1)确定程序是否安全的检查很复杂很浪费时间,很少有程序员愿意花时间读程序的源代码,然后再将它编译成本地机器码以保证程序是安全的。 (2)病毒检查要不断维护以保证有效性。

java安全管理器

    博客分类:
  • jvm
每个Java应用都可以有自己的安全管理器,它是防范恶意攻击的主要安全卫士。安全管理器通过执行运行阶段检查和访问授权,以实施应用所需的安全策略,从而保护资源免受恶意操作的攻击。实际上,安全管理器根据Java安全策略文件决定将哪组权限授予类。然而,当不可信的类和第三方应用使用JVM时,Java安全管理器将使用与JVM相关的安全策略来识别恶意操作。在很多情况下,威胁模型不包含运行于JVM中的恶意代码,此时Java安全管理器便不是必需的。当安全管理器检测到违反安全策略的操作时,JVM将引发AccessControlException或SecurityException。     在Java应用中 ...
classloader分类 启动类装载器 扩展类装载器 应用装载器 启动类装载器加载java基本api相关的类。 扩展装载器加载JAVA_HOME/jre/lib/ext目录下的class文件 应用装载器加载应用程序相关jar包及程序相关class 启动顺序 启动类装载器---->扩展类装载器---->应用装载器 类装载器执行 类装载采用双亲委托模式,即应用装载器请求它的父装载器(扩展装载器),扩展装载器请求它的父装载器(启动装载器),顶层的装载器一定是启动类装载器,如果父装载器不能返回所需类,就由自己来加载。 类装载器的安全机制 jvm可以有多个classl ...
AJAX是web2.0的基石,现在网上流行几种开源的AJAX框架,比如:jQuery,Mootools,Dojo,Ext JS等等,那么我们到底在什么情况下该使用那个框架?以下是一组摘抄的数据: Ajaxian在2007年底对Ajax工具进行了调查,部分调查结果见下表(其中数 ...
jqery与extjs是两个非常流行的js框架,主要提供与网站的交互接口,两个主要因素决定我们的选择。 license jquery基于GPL与MITl license,基本上没有没有任何限制,extjs基于GPLv3商用license,如果你的应用程序不是开源的,并且使用extjs需要支付几百元的费用。 体积 extjs是一个非常完善的框架,而jquery核心库需要依赖于插件来实现很多高级功能,因此extjs比jqery更大,jquery的缺点是需要查询合适的插件, extjs拥有一些独特的功能,如离线存储,它能够使浏览器在断网时完成存储,它依赖于Google Gears 或者 Adobe A ...

Adobe AIR 简介

    博客分类:
  • ajax
Adobe® AIR® 是一种跨操作系统的运行时,通过它可以利用现有 Web 开发技术(Adobe® Flash® CS3 Professional、Adobe® Flash® CS4 Professional、Adobe® Flex™、Adobe® ActionScript® 3.0、HTML、JavaScript®、Ajax)构建丰富 Internet 应用程序 (RIA) 并将其部 ...
众所周知,Ajax 可以使得 Web 应用程序的响应速度提高一大块,然而云计算和 SaaS(Software as a Service) 的用户仍然期望获得更快的响应速度,那 Web 应用程序还能更快吗?答案是肯定的。随着硬件技术的不断升级,客户端计算机的计算能力逐步提高,如果 Web 应用程序可以充分利用闲置的客户端计算能力,那将进一步提高其响应速度,但如何充分利用客户端计算能力便成了开发者新的挑战, Google Gears 正是帮助 Web 应用程序开发者应对这种挑战的有力工具。其次,用户有时希望在离线的情况下也可以使用 Web 应用程序,这无形当中增加了 Web 应用程序开发者的痛苦指数 ...

观察和测量

许多计算机系统记录现实世界中各种对象的信息,这些信息通常表现为计算机系统中的记录、属性、对象等其他各种各样的形式。最典型的方式是把某项信息记录成某个对象的一个属性,例如,一个人体重70公斤记录成“人(Perso ...

责任模式

描述责任关系,最直观的例子是组织结构,上级组织与下层组织之间的关系,从具体层面讲是一种所属关系,人和组织之间的所属关系是责任关系。 变化 子类的增加:如跨国企业,有分公司,分公司又有子公司,子公司又有办事处,定义一种组织层次结构描述,并且每个子类型拥有不同的约束规则,如:不能有父节点,父节点必须是了公司等。 类型拥有多个隶属层次关系:如某个部门同时属于销售部门也属于生产部门,利用组织结构类型来描述变化。

XA事务规范

在谈到XA规范之前,必须首先了解分布式事务处理(Distributed Transaction Processing,DTP)的概念。Transaction,即事务,又称之为交易,指一个程序或程序段,在一个或多个资源如数据库或文件上为完成某些功能的执行过程的集合。  ...

JCA和Web服务的讨论

    博客分类:
  • java
前不久我去了趟东海岸,在那里我拜会了很多开发者、客户以及合作伙伴,跟各种各样的人交谈过,并听到了很多圈内的趣事。 最近,我主要忙于一项大的Web服务。因此花了大量的时间来学习、找人谈话并写了一些关于这项技术的东西。在与该领域内不同的客户群交流时,我吃惊地发现一个问题一而再再而三地反复出现。 人们总是问我J2EE连接器体系结构(J2EE Connector Architecture,JCA)和Web服务的区别是什么。他们很想知道选择其中一个而不是另外一个的标准是什么。最初,我感到很诧异,因为答案看上去那么显而易见。但是,稍加思索,我就明白了人们为什么会混淆。供应商们将Web服务定位 ...

Oracle hints语句

存储在数据库中数据的分布情况开发人员或管理员比Oracle优化器更加的清楚,在优化器不能作出最优查询路径选择的情况下,使用HINT(提示)人为的固定查询路径,一定程度能生成更优的执行计划 /*+ALL_ROWS*/表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.SELECT/*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHEREEMP_NO='SCOTT';
QueryOptimizer一共经历了两个历史阶段:RBO和CBO。RBO时代,Oracle
Global site tag (gtag.js) - Google Analytics