精简JRE体积的小工具:http://blog.csdn.net/cping1982/archive/2008/09/02/2865198.aspx 项目地址:http://code.google.com/p/greenvm/ 关键字:JRE,精简,压缩,JVM,JAVA.NET,虚拟机,绿色软件,最小空间,脱框,压缩,GREEN,GREENJVM       9月6日更新版本为 0.1.1.4 变更:       增加[SET_START_MAIN_CLASS_AUTO_LOAD]参数,当此项…
Java应用程序的打包和发布 简化Java应用程序的打包和发布 发布Java应用程序时Java提供了一系列打包和发布工具,可以显著的简化发布过程 该文章提供了打包Java code的几种方法,探讨Java manifest 文件,给出用于管理JAR文件所依赖文件.估计跨平台发布所需的CLasspath的合适方法.如何使用manifest包版本特性来确认包的兼容性... 什么是JAR文件? 在开发过程中,我们可以直接使用Java class文件来运行程序,但这并不是一个好方式,好在Java 提供了…
[JAVA]虚拟机指令集 – – – 0x00 nop 什么都不做 0x01 aconst_null 将null推送至栈顶 0x02 iconst_m1 将int型-1推送至栈顶 0x03 iconst_0 将int型0推送至栈顶 0x04 iconst_1 将int型1推送至栈顶 0x05 iconst_2 将int型2推送至栈顶 0x06 iconst_3 将int型3推送至栈顶 0x07 iconst_4 将int型4推送至栈顶 0x08 iconst_5 将int型5推送至栈顶 0x09…
本文转载自Java SE7 虚拟机指令操作码助记符 导语 在Class文件中,Java方法里的方法体,也就是代表着一个Java源码程序中程序的部分存储在方法表集合的Code属性中.存储在Code属性中的是字节码,也就是编译后的程序.Java虚拟机的指令由两部分组成,首先是一个字节长度.代表某种含义的数字(即操作码),在操作码后面跟着零个或多个代表这个操作所需的参数(即操作数).由于Java虚拟机采用的是面向操作数栈而不是寄存器的架构,所以大多数指令不包含操作数,只有一个操作码. 操作码的长度只有…
使用cxf发布的webservice不知道什么情况总会有时管用有时不管用,对于项目来说这肯定不行.又不想改动webservice因为代码太多.人懒! 于是便使用httpclient与webservice通过肥皂协议通信. 先看必须使用到的jar包. 看看webservice发布的接口,这边我放了两个发布的接口,xml很清晰的写出了两个方法的信息,我们要用到的就是他提供的这些信息. 下面我们再看看webService的java写法.这边由于我没注解参数名称所以上面显示的是arg0 . 1 2-  …
Google于2007年底正式发布了Android SDK, 作为 Android系统的重要特性,Dalvik虚拟机也第一次进入了人们的视野.它对内存的高效使用,和在低速CPU上表现出的高性能,确实令人刮目相看. 依赖于底层Posix兼容的操作系统,它可以简单的完成进程隔离和线程管理.每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例, 其代码在虚拟机的解释下得以执行. 很多人认为Dalvik虚拟机是一个Java虚拟机,因为Android的编程语言恰恰就是Java语言.但是这…
发布(Publish)和逸出(Escape)这两个概念倒是第一次听说,不过它在实际当中却十分常见,这和Java并发编程的线程安全性就很大的关系. 什么是发布?简单来说就是提供一个对象的引用给作用域之外的代码.比如return一个对象,或者作为参数传递到其他类的方法中. 什么是逸出?如果一个类还没有构造结束就已经提供给了外部代码一个对象引用即发布了该对象,此时叫做对象逸出,对象的逸出会破坏线程的安全性. 概念我们知道了,可我们要关注什么地方呢?我们要关注的时候就是逸出问题,在不该发布该对象的地方就…
JVM垃圾处理方法(标记清除.复制.标记整理) 1.标记清除 标记阶段:先通过根节点,标记所有从根节点开始的对象,未被标记的为垃圾对象. 清除阶段:清除所有未被标记的对象. 2.复制算法 将原有的空间分为两块,每次只使用其中的一块,将正在使用的内存中的存活的对象复制到未使用的内存块中, 然后清除正在使用的内存块中的所有对象. 3.标记----整理 1.标记阶段:先通过根节点,标记所有从根节点开始的可达对象,为被标记的为垃圾对象 2.整理阶段:将所有的存活对象压缩到内存的一段,之后清理边界所有空间…
祝大家五一劳动节快乐,工作顺利! 又到了总结上个月干货的时候了,这个月我们带来了各种Java技术干货,各种送书抽奖福利,各种面试题分享,各种最新动态资讯等. 5.1重磅活动 | 区块链免费送书 & 星球特价 Java 程序打日志的正确姿势 史上最全 BAT 大厂面试题整理 BAT Java面试题答案分解 Java 9 被无情抛弃,直接升级到 Java 10 高级 Java 面试通关知识点整理 Java生成随机数的几种高级用法 天了噜,Java 8 要停止维护了 Java成神之路技术干货整理 Sp…
在上篇 RabbitMQ 之Work Queues (工作队列)教程中,我们创建了一个工作队列,工作队列背后的假设是每个任务都交付给一个工作者. 在这一部分,我们将做一些完全不同的事情 - 我们将向多个消费者传递信息.此模式称为“发布/订阅”. 这篇为译文加上自己的理解,英文原文请移步:http://www.rabbitmq.com/tutorials/tutorial-three-java.html 为了说明这种模式,我们将构建一个简单的日志记录系统. 它将包含两个程序 - 第一个将发出日志消…