`
文章列表
    Java class文件是对Java程序二进制文件格式的精确定义。每一个Java class文件都对一个Java类或者Java接口作出了全面描述。一个class文件中只能包含一个类或者接口。     尽管class文件与Java语言结构相关,但它并不一定必须与Java语言相关。如下图,可以使用其他语言来编写程序,然后将其编译为class文件,或者把Java程序编译为另一种不同的二进制文件格式。   (注:如Scala、Groovy、JRuby等基于JVM的语言)       Java class文件是8位字节的二进制流。数据项按顺序存储在class文件中,相邻的项之间没有任何 ...
    Java虚拟机之所以被称之为是“虚拟”的,就是因为它仅仅是由一个规范来定义的抽象计算机。因此,要运行某个Java程序,首先需要一个符合该规范的具体实现。   Java虚拟机是什么     要理解Java虚拟机,你首先必须意 ...
策略     Java安全体系结构的真正好处在于,它可以对代码授予不同层次的信任度来部分地访问系统。     Microsoft提供了ActiveX控件认证技术,它和Java的认证技术相类似,但是ActiveX控件并不在沙箱中运行。这样,使用了ActiveX,一系列移动代码要么是被完全信任的,要么是完全不被信任的。     版本1.2的安全体系结构的主要目标之一就是使建立(以签名代码为基础的)细粒度的访问控制策略的过程更为简单且更少出错。       在版本1.2的安全体系结构中,对应于整个Java应用程序的一个访问控制策略是由抽象类java.security.Policy的一个子 ...
代码签名和认证     Java安全模型很重要的一点就是它能支持认证。认证可以使用户确认,由某些团体担保的一些class文件是值得信任的,并且这些class文件在到达用户虚拟机的途中没有被改变。          要对一段代码作担保或者签名,必须首先生成一个公钥/私钥对。用户应该保管那把私钥而把公钥公开。至少,应该把公钥给那些要在你的签名上建立安全策略的人。一旦拥有了一个公钥/私钥对,就必须将要签名的class文件和其他文件放到一个JAR文件中,然后使用一个工具(例如版本1.2 SDK中的jarsigner)对整个JAR文件签名。这个签名工具将首先对JAR文件的内容进行单向散列计算,以 ...
    为了解决由网络引起的安全问题,Java体系结构采用了一个扩展的内置安全模型,这个模型随着Java平台的主要版本而不断发展。   为什么需要安全性     Java的安全模型是其多个重要结构特点之一,它使Java成为适于网络环境的技术。因为网络提供了一条攻击连入的计算机的潜在途径 ,因此安全性是非常重要的。     Java安全模型侧重于保护终端用户免受从网络下载的、来自不可靠来源的、恶意程序(以及善意程序中的bug)的侵犯。为了达到这个目的,Java提供了一个用户可配置的“沙箱”,在沙箱中可以放置不可靠的Java程序。沙箱对不可靠程序的活动进行了限制,程序可以在沙箱的安全边界 ...
为什么要平台无关     Java技术在网络环境下非常有用,其中一个关键的理由就是,用Java创建的可执行二进制程序,能够不加改变地运行于多个平台。这一点在网络化环境中尤为重要,因为大多数网络通常都是由各种各样不同种类的计算机和设备互联而成。     此外,新兴的网络化嵌入式设备则展示了Java又一擅长的领域,因为它的平台无关性在这种环境下非常有用。在这个嵌入式的世界,Java的平台无关性也有助于简化系统管理任务。     从开发者的观点看,Java能够减少开发和在多个平台上部署应用程序的成本和时间。   Java的体系结构对平台无关的支持     对平台无关性的支持,像对安全性 ...
    几年前买了《深入Java虚拟机(原书第2版)》一书,由于当时能力有限只看了前几章,最近又重新拿出来细细研读。   Java体系结构包括四个独立但相关的技术: Java程序设计语言; Java class文件格式; Java应用编程接 ...
    每一个人,经历多了,或多或少都会有些人生感悟。而感悟多了,总想把它保存起来,因为生怕自己一不小心就把它遗失了。所以,留下那一刻的心情,那一刻的内心感受,真的很珍贵。       积累个性知识经验     作为一名优秀的程序员,有时候就是要有点偏激,有点个性,有自己的立场,更要有自信。看看你认识或了解的优秀程序员,大多数都应该是如此。业内的大拿们,基本都赞同一个观点,那就是具备独特的个性知识经验的程序员们更受欢迎。个性知识经验,如果没记错的话,是从孟岩的文章中套用过来的。       做自己喜欢做的事     能做自己喜欢做的事,从事自己喜欢做的事业,真的 ...
    近期读了一本书,名字叫做《软件随想录》。这本书的写作风格比较特别,特别之处在于它是由网志整理而成,因此在目录的排版方面不像一般的书籍那么有逻辑,它的目录更像是网志的一种归类。由于是网志,文章相 ...
    项目开发中,经常会用到不同系统之间的数据同步,同步的方式与流程也不尽相同,本文就个人曾经在项目中使用过的数据同步方式与业务流程进行总结。     主要包括三种同步方式:查询数据、推送数据与数据更新通知。   一、主动查询 1、最简单查询   业务流程: 1)目标系统T向源系统S查询数据 2)目标系统T处理业务数据   2、以FTP服务器作为数据中转站   业务流程: 1)源系统S定期上传数据文件到FTP服务器 2)目标系统T定期向FTP服务器查询并下载未处理的数据文件 3)目标系统T处理业务数据   3、以FTP服务器作为数据中转 ...
    刚刚买Robert C. Martin的经典著作《敏捷软件开发:原则、模式与实践》时,当时有些地方看不太懂,今晚又掏出来重新回味,灌输大脑。顺便记录一下经典的原则,有空常来看看,潜移默化。     敏捷软件开发 原则、 ...
    想写这篇文章已经很久了,一直没写主要是为了能够更全面、更真实的将个人的经验进行分享,但又尽量不误导大家,直到这个春节,终于呼之欲出!   在此声明: 1、本文分享的仅仅是个人的一些经验总结,不一定全面或准确; 2、标题使用英文是有原因的。   一、面过的人 1、人才分类 主要指个人能力偏向于某方面的人才: 1)技术型     工作以技术为主或纯做技术,比较想做技术工作。 2)管理型     有一定的管理经验或能力,比较想做管理工作。 3)综合型     有一定的技术能力和管理经验,但通常两者的能力都比较一般,毕竟能力全面而又优秀的人比较少。   2、知识 ...
    上一篇讲了Linux的日常维护命令,这篇讲讲Oracle的日常维护命令。工作中需要使用Oracle数据库的童鞋们,相信或多或少都需要对Oracle做一些基本的维护操作,例如导入导出总该有吧?(哦,你说你用PL/SQL工具来做导入导 ...
    对于程序员来说,掌握一些基本的Linux命令是必不可少的,即使现在用不到,在不久的将来也应该会用到。由于Linux有很多命令,每个命令基本可以用一篇文章介绍,所以本文仅总结一些常用命令的常用用法,如有明显的遗漏或错误,请各位帮忙指出,谢谢!   以下内容基于测试环境:Red Hat 4.5/5   一、服务器硬件配置 1、查看硬盘及分区情况 # fdisk -l   2、查看分区空间使用情况 可以查看各分区大小、已使用、可用、已使用百分比、挂载情况 1)默认单位为K # df   2)可读性更好的显示,如单位M、G等 # df -h   3、 ...
      和大家一样,我也是一名普通的程序员,很快工作五年了。现在依然记得大学时软件工程老师曾说过的一句话,大概是这样的:“工作五年之后,就基本可以分出大家的区别了”,这句话大概有两层意思,第一,大家都 ...
Global site tag (gtag.js) - Google Analytics