java基础(三)
1、枚举类,使用enum定义的枚举类默认继承java.lang.Enum,而不是Object类。枚举类的所有实例必须在枚举类中显示列出,否则这个枚举类永远都不能产生实例。相关内容较多,需要后续继续跟进。枚举类里定义抽象方法时无需显示使用abstract关键字将枚举类定义成抽象类,但因为枚举类需要显示创建枚举值,而不是作为父类,所以定义每个枚举类时必须为抽象方法提供实现。
2、java垃圾回收只会回收heap当中的对象,不会回收任何物理资源。垃圾回收机制回收任何对象之前,只会先调用finalize方法,对象在堆内存中,存在三种状态:激活状态、去活状态、死亡状态。两个强制系统垃圾回收的方法:System.gc()
和Runtime.getRuntime().gc()。在强制垃圾回收时,也不能确定系统什么时候回收垃圾,也就是说这时候如果显式的在finalize方法中做相关操作时并不总是有效,可能还没等到finalize方法执行进程已经结束。
3、java中的引用,分为强引用、软引用、弱引用、虚引用。目前未见到软引用、弱引用、虚引用的使用,以后碰到再分析
4、修饰符范围总表
顶层类/接口 | 成员属性 | 方法 | 构造器 | 初始化块 | 成员内部类 | 局部成员 | |
public | √ | √ | √ | √ | √ | ||
private | √ | √ | √ | √ | |||
protected | √ | √ | √ | √ | |||
包访问控制符 | √ | √ | √ | √ | √ | √ | √ |
abstract | √ | √ | √ | ||||
final | √ | √ | √ | √ | |||
static | √ | √ | √ | √ | |||
strictfp | √ | √ | √ | ||||
synchronized | √ | ||||||
native | √ | ||||||
transient |
5jar打包
创建JAR文件:不显示压缩过程jar cf XX.jar XX 显示压缩过程 jar cvf XX.jar XX
查看JAR文件内容:jar tf test.jar 详细内容 jar tvf test.jar
解压JAR文件:jar xf test.jar 带提示信息解压 jar xvf test.jar
更新JAR文件:jar uf test.jar XX.class 更新时显示详细信息 jar uvf test.jar XX.class
问题描述:HelloDate目录下有HelloDate.class、HelloDate.java文件,利用jar命令将文件夹HelloDate打包成test.jar,修改MAINFEST文件后用java -jar运行提示“wrong name“的错误?
问题解决:HelloDate.java文件在编写时未使用Package打包,生成的HelloDate.class无文件目录信息,因此报错。有两种解决方法;
(1)生成jar文件时,使HelloDate.class位于jar的根目录下
(2)在HelloDate.java中使用Package打包,用jar命令打包生成的Package文件夹
问题总结:产生这个问题的原因还是文件目录的问题,由此可以看出Package的重要性,在以后的编码过程中要注意代码文件与class文件的管理,用好Package,另外若编写的程序是纯控制台运行的话,使用javaw,或双击jar是无法看到输出结果的
java基础(三)的更多相关文章
- Java 基础三、接口与内部类
1. 在Java程序语言中,接口是对类的一种描述.例如Arrays类中sort方法声明可以对对象进行排序,但前提是对象所属的类必须实现Comparable接口. public interface ...
- java基础三种循环的使用及区别
摘要:Java新人初学时自己的一些理解,大神们路过勿喷,有什么说的不对不足的地方希望能给予指点指点,如果觉得可以的话,希望可以点一个赞,嘿嘿,在这里先谢了.在这里我主要说的是初学时用到的Java三个循 ...
- java 基础三
1 运算符 1.1 比较运算符 比较运算符的结果都是boolean类型,也即是要么是true,要么是false. 比较运算符"=="不能写成"=". > ...
- Java基础(三)-final关键字分析
今天来谈谈final关键字的作用, 虽然有很多博文关于final进行了很深的研究,但还是要去记录下谈谈自己的见解加深下印象.下面直接进入主题: 一.final关键字的作用 1.被final修饰的类不能 ...
- java基础(三)-----java的三大特性之多态
面向对象编程有三大特性:封装.继承.多态. 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据.对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法. 继承 ...
- java基础(三):反射、反序列化破解单列模式和解决方式
单例模式指的是一个类只有一个对象,通过一些措施达到达到这个目的.但是反射和反序列化可以获得多个不同的对象. 先简单的认识一下单例模式 一:单例模式 通过私有构造器,声明一个该类的静态对象成员,提供一个 ...
- Java基础三(Scanner键盘输入、Random随机数、流程控制语句)
1.引用类型变量的创建及使用2.流程控制语句之选择语句3.流程控制语句之循环语句4.循环高级 ###01创建引用类型变量公式 * A: 创建引用类型变量公式 * a: 我们要学的Scanner类是属于 ...
- java基础(三) 加强型for循环与Iterator
引言 从JDK1.5起,增加了加强型的for循环语法,也被称为 "for-Each 循环".加强型循环在操作数组与集合方面增加了很大的方便性.那么,加强型for循环是怎么解析的 ...
- java基础 三 概念和java程序的结构.
一.java的一些概念: JRE(java runtime environment):java程序运行环境,如果要运行java程序,需要jre支持.jre里包含jvm JDK(java devel ...
随机推荐
- win7下装ubuntu14.04双系统
一.给ubuntu准备安装空间 计算机--右键--管理-磁盘管理--选择一个空余空间较多的磁盘--右键--压缩卷--压缩大概60G空间(接下来ubuntu就会装到这60G里面) 二.制作启动u盘 ...
- python中文分词:结巴分词
中文分词是中文文本处理的一个基础性工作,结巴分词利用进行中文分词.其基本实现原理有三点: 基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG) 采用了动态规 ...
- C#汉字字母数字正则
http://novell.me/master-diary/2014-11-15/regular-express-csharp-example.html https://msdn.microsoft. ...
- 说一说ASCLL和Unicode
关于字符编码这个展开来说有太多东西了,这里主要是想说一说最常说的ASCLL和Unicode字符编码的问题,这样至少你在用相关函数的时候,可以搞明白参数的真正含义. ASCLL编码 计算机就是0和1的世 ...
- JUnit4 中@AfterClass @BeforeClass @after @before的区别对比
JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的几个annotation: @Before:初始化方法 对于每一个测试方法都要执行一次(注意与BeforeCla ...
- MRDS学习四——自动型机器车
由自己的所在开始,探索自己周围的简单机器车,假设车子的行走路径如下: 我们要把L型路径写成一个Activity,然后由外部输入这个L的大小,最后这个Activity要能够在完成行走路径时吐出更大的L大 ...
- 媒体查询判断ipad和iPhone各版本
/* 判断ipad */ @media only screen and (min-device-width : 768px) and (max-device-width : 1024px){ /* s ...
- html页面的CSS、DIV命名规则
CSS命名规则 头:header 内容:content/containe 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:l ...
- 【荐】使用eval()、new Function()将JSON字符串转换为JSON对象
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 第一种解析方式:使用eval函数来解析,并且使用j ...
- c++笔记整理
一:导读 假设编写了一个C++程序,如何让他允许起来呢,这取决于计算机环境和所使用的C++编译器. 1.使用文本编辑器编写程序,并将其保存在文档中,====此就是源代码 2.编译源代码,编译过程就意味 ...