一.前言    通过eclipse导出jar包十分方便快捷,但作为码农岂能满足GUI的便捷呢?所以一起来CLI吧! 二.JAR包 JAR包是基于ZIP文件格式,用于将多个.java文件和各种资源文件,或将多个.class和各种资源打包为一个文件.用于发布,部署,封装库.组件和插件程序,从而被编译器和JVM使用. 三.通过jar命令打包     1. 格式 jar [option]* 文件名        必选选项(并且仅能选用其中一个) -c ,创建一个jar包 -t ,显示jar包中的内容列表…
一.前言 <Java魔法堂:类加载机制入了个门>中提及整个类加载流程中只有加载阶段作为码农的我们可以入手干预,其余均由JVM处理.本文将记录加载阶段的核心组件——类加载器的相关信息,以便日后查阅.若有纰漏请大家指正,谢谢. 注意:以下内容基于JDK7和HotSpot VM. 二.类加载器种类及其关系 从上图可知Java主要有4种类加载器 1. Bootstrap ClassLoader(引导类加载器):作为JVM的一部分无法在应用程序中直接引用,由C/C++实现(其他JVM可能通过Java来实…
Java魔法堂:String.format详解     目录     一.前言    二.重载方法     三.占位符     四.对字符.字符串进行格式化     五.对整数进行格式化     六.对浮点数进行格式化     七.对日期时间进行格式化     八.其他转换符  九.总结   参考 一.前言 String.format 作为文本处理工具,为我们提供强大而丰富的字符串格式化功能,为了不止步于简单调用 String.format("Hello %s", "John…
一.前言     通过执行形如 jar -cvf src.jar src 命令将多个.class文件打包成JAR包时,你会发现JAR包中除了src目录外还多了个MATE-INF/MAINFEST.MF,那是为什么呢? 其实关于JAR包的描述信息.启动时的配置信息和安全性信息等均保存在META-INF下,因此了解META-INF目录对发布.部署十分重要的哦!下面仅为部分内容的整理,待日后深入实践后再补充完整.官方文档为:http://docs.oracle.com/javase/7/docs/te…
一.前言 通过执行形如 jar -cvf src.jar src 命令将多个.class文件打包成JAR包时,你会发现JAR包中除了src目录外还多了个MATE-INF/MAINFEST.MF,那是为什么呢? 其实关于JAR包的描述信息.启动时的配置信息和安全性信息等均保存在META-INF下,因此了解META-INF目录对发布.部署十分重要的哦!下面仅为部分内容的整理,待日后深入实践后再补充完整.官方文档为:http://docs.oracle.com/javase/7/docs/techno…
一.前言 由于防止维护人员误操作关闭Java控制台程序,因此决定将其改造为以Windows服务的形式运行.弄了一个上午总算搞定了,下面记录下来,以供日后查阅. 二.Java Service Wrapper 官网地址:http://wrapper.tanukisoftware.com/doc/english/download.jsp JavaServiceWrapper以守护进程或windows服务的方式运行java程序.JSW提供四种方案改造原有项目,以实现守护进程或windows服务的方式运行…
一.前言 Java的枚举类型相对C#来说具有更灵活可配置性,Java的枚举类型可以携带更多的信息. // C# enum MyColor{ RED = , BLUE = } Console.Write(MyColor.RED); // Java enum MyColor{ RED(), BLUE(); private String mood; public String getMood{ return mood; } private int index; public int getIndex(…
一.前言 还记得JDK1.4时遍历列表的辛酸吗?我可是记忆犹新啊,那时因项目需求我从C#转身到Java的怀抱,然后因JDK1.4少了泛型这样语法糖(还有自动装箱.拆箱),让我受尽苦头啊,不过也反映自己的水平还有待提高,呵呵.JDK1.5引入了泛型.自动装箱拆箱等特性,C#到Java的过渡就流畅了不少.下面我们先重温两者非泛型和泛型的区别吧! // 非泛型遍历列表 List lst = new ArrayList(); lst.add(); lst.add(); ; for (Iterator =…
一.前言 当在CMD/SHELL中输入 $ java Main<CR><LF> 后,Main程序就开始运行了,但在运行之前总得先把Main.class及其所依赖的类加载到JVM中吧!本篇将记录这些日子对类加载机制的学习心得,以便日后查阅.若有纰漏请大家指正,谢谢! 以下内容均基于JDK7和HotSpot VM. 二.执行java的那刻   大家都知道通过java命令来启动JVM和运行应用程序,但实际的流程又是如何的呢? 1. 首先根据java后的运行模式配置项或<JAVA_H…
一.前言 过去一直搞不清什么是URI什么是URL,现在是时候好好弄清楚它们了!本文作为学习笔记,以便日后查询,若有纰漏请大家指正! 二.从URI说起    1. 概念 URI(Uniform Resource Identifier,统一资源标识符)以字符串来表示某种资源的统一资源标识. 格式为: [scheme:]scheme-specific-part[#fragment] [scheme:]组件 ,URI的名称空间标识. scheme-specific-part组件 ,用于标识资源,内部格式…