《head first java 》读书笔记(五)
Updated 2014/04/09 P581--P615
如何组织、包装与部署Java程序。
部署的选择
本机: Executable Jar
两者之间的结合: Web Start, RMI app
远程
将源代码与类文件分离(javac 的-d选项指定class存放目录)。-d选项会要求编译器将编译结果根据包的结构来建立目录并输出,如果目录还没有建好,编译器会自动处理这些工作。
标准的组织化结构是创建出项目目录,然后在其下建立source和classes目录。
创建可执行的JAR
1. 确定所有的类文件都在classes目录下
2. 创建manifest.txt来描述哪个类带有main()方法 (Main-Class: MyApp)
3. 执行jar工具来创建带有所有类以及manifest的JAR文件
jar –cvmf manifest.txt app1.jar *.class
或jar –cvmf manifest.txt app1.jar MyApp.class
执行JAR
%cd Myproject/classes //Java虚拟机必须要能找到JAR,所以它必须在classpath下。让JAR
//曝光的最好方式是把它放在工作目录下。
%java –jar app1.jar
1.将类以包来组织,并在前面加上域名称以防止命名冲突。
2.要让编译过的类可以放在正确的包目录结构中,使用-d编译标识:
%cd source
%javac –d ../classes com/wickedlysmart/Foo .
3.切换到classes目录然后指定完整的类名来执行程序:
%java com.wickedlysmart.Foo
4.可以把类包进JAR中,它的格式是根据pkzip制作的。
5.将描述哪个类带有main()的manifest包进JAR中可以制作出可执行的AR文件。manifest文件是个带有像下面这样设定的文本文件,最后要换行才能保证正确:
Main-Classes: com.wickedlysmart.Foo
6.用下面的命令格式来创建JAR文件:
jar –cvfm manifest.txt MyJar.jar com
7.JAR中的结构必须完全的符合包的目录结构
8.以下面的命令格式来执行JAR: java –jar MyJar.jar
Java Web Start
将程序制作成可执行的JAR
编写.jnip文件
把.jnip与JAR文件放到Web服务器
对Web服务器设定新的mime类型
设定网页链接到.jnip文件
对JWS应用程序而言,一旦从网站上面下载后,用户不必通过浏览器就可以离线执行程序
Java远程调用(RMI)技术,Servlet,Enterprise Java Bean(EJB), Jini ,以及EJB与Jini如何运用RMI
一般来说,对象的方法调用都是在相同的Java虚拟机上面进行的。
如果要调用不同机器上的对象的方法呢?
………….(因为Jar后面的东西目前没涉及到,没有继续读下去)
《head first java 》读书笔记(五)的更多相关文章
- JAVA编程思想读书笔记(五)--多线程
接上篇JAVA编程思想读书笔记(四)--对象的克隆 No1: daemon Thread(守护线程) 参考http://blog.csdn.net/pony_maggie/article/detail ...
- JAVA编程思想读书笔记(四)--对象的克隆
接上篇JAVA编程思想读书笔记(三)--RTTI No1: 类的克隆 public class MyObject implements Cloneable { int i; public MyObje ...
- JAVA编程思想读书笔记(三)--RTTI
接上篇JAVA编程思想读书笔记(二) 第十一章 运行期类型判定 No1: 对于作为程序一部分的每个类,它们都有一个Class对象.换言之,每次写一个新类时,同时也会创建一个Class对象(更恰当的说, ...
- JAVA编程思想读书笔记(二)--容器
接上篇JAVA编程思想读书笔记(一) 第八章.对象的容纳 No1: java提供了四种类型的集合类:Vector(矢量).BitSet(位集).Stack(堆栈).Hashtable(散列表) No2 ...
- Java编程思想读书笔记之内部类
现在是够懒得了,放假的时候就想把这篇笔记写出来,一直拖到现在,最近在读<Java编程思想>,我想会做不止这一篇笔记,因为之前面试的时候总会问道一些内部类的问题,那这本书的笔记就从内部类开始 ...
- Java编程思想读书笔记(一)【对象导论】
2018年1月7日15:45:58 前言 作为学习Java语言的经典之作<Java编程思想>,常常被人提起.虽然这本书出版十年有余,但是内容还是很给力的.很多人说这本书不是很适合初学者,我 ...
- Java编程思想读书笔记(二)【一切都是对象】
begin 2018年1月9日17:06:47 第二章 一切都是对象 Java语言假设我们只进行面向对象的程序设计. 2.1 用引用操纵对象 每种编程语言都有自己的操纵内存元素的方式 操纵内存元素的方 ...
- <Java编程思想>读书笔记(1)-对象导论、一切都是对象
1.面向对象编程:OOP (Object-oriented Programming) 2.Alan Kay 总结的面向对象语言5个基本特性: 1) 万物皆为对象 2) 程序是对象的集合,他们通过发送消 ...
- Java编程思想读书笔记
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- Java编程思想读书笔记--第14章类型信息
7.动态代理 代理是基本的设计模式之一,它是你为了提供额外的或不同的操作,而插入的用来代替“实际”对象的对象.这些操作通常涉及与“实际”对象的通信,因此代理通常充当着中间人的角色. 什么是代理模式? ...
随机推荐
- 数据结构与算法课程作业--1014. Translation
这道题思想很简单,就是用map将foreign的作为键值,english的值作为对应的映射值,然后通过直接用foreign作为map对象的下标直接查找. 本题比较烦人的一点就是输入数据,我使用了get ...
- Netfilter深度解剖
在网络上发现这个Netfilter写的很好的系列文章,为了便于后期寻找,特此标注下博客地址,感谢大大神提供. ---------------------------分割线开始---- ...
- 《Linux下sed命令的使用》
grep -v 关键字 文件 文件中的关键字给过滤掉 grep -v “^关键字” 文件 以关键字开头的给过滤掉 sed -e ‘/关键字/d’文件 输出时把关键字给删除掉 以/etc ...
- iframe整理学习笔记
朋友问了一个比较怪的问题,iframe下自适应的问题,因为很少使用iframe的原因,怀着对iframe的疑惑采用了一点点实践;以下frame表示针对的iframe元素 解决的方法:对iframe进行 ...
- Redis源码研究--双向链表
之前看的内容,占个位子,以后补上. ----------8月4日--------------- 双向链表这部分看的比较爽,代码写的中规中矩,心里窃喜,跟之前学的<数据结构>这本书中差不多. ...
- js拖拽3D立方体旋转
这段时间有点闲,所以就自己找些小玩意来练习练习.今天做了一个可以拖拽页面内空白位置3D立方体就会跟着转动的小例子,布局方面用到css3 3D转换技术,通过transform控制旋转实现的. 上个图 代 ...
- ios 录音
http://code4app.com/ios/%E5%BD%95%E9%9F%B3%E5%92%8C%E6%92%AD%E6%94%BE/51ba821b6803fa6901000000
- CLR via C# 计算限制的异步操作读书笔记
1. 使用线程池搪行简单的计算限制操作 ThreadPool.QueueUserWorkItem(WaitCallback callback) 2.CLR默认情况下自动使初始线程的执行上下文流向辅助线 ...
- trade 主要前端组件
jQuery Custombox http://www.jqueryfuns.com/resource/view/27
- 6、WPF中的特殊字符与空白
特殊字符: 小于号 < 字符实体采用<表示 大于号 > 字符实体采用>表示 &符号 字符实体采用&表示 引号"&quo ...