1.StringBuffer
StringBuffer是使用缓冲区的,本身也是操作字符串的,但与String不同,String类的内容一旦声明之后则不可改变,改变的只是其内存地址的指向,而StringBuffer中的内容可以改变。
对StringBuffer而言,本身是一个具体的操作类,所以不能像String那样采用直接赋值的方式进行对象的实例化,必须通过构造方法完成。
StringBuffer类的应用:频繁修改字符串的内容,用String类是不合适的,此时应该用StringBuffer。
2.Runtime类
Runtime运行时,是一个封装了JVM进程的类,每一个java程序实际上都是启动了一个JVM进程,那么每一个JVM进程都是对应这个一个Runtime实例,此实例是由JVM为其实例化的。
每个 Java 应用程序都有一个 Runtime
类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime
方法获取当前运行时。应用程序不能创建自己的 Runtime 类实例。
本类的构造方法被私有化了。
可用Runtime类得到内存使用情况。maxMemory()最大内存,freeMemory()当前空闲内存,gc()垃圾回收。
2.1 Runtime与Process类
除了观测内存使用量之外,也可以直接使用Runtime类运行本机的可执行程序,如,调用记事本等。
public Process exec(String command)throws IOException
exec()返回的是Process类对象。
3. 国际化程序
显示不同国家文字。根据不同的语言环境找到不同的资源文件,之后从资源文件中取出内容,资源文件中的内容都是以key->value形式保存,所以在读取的时候通过key找到对应的value。
三个类:
java.util.Locale:用于表示一个国家的语言类。
java.util.ResourseBundle:用于访问资源文件。
java.text.MessageFormat:格式化资源文件的占位符。
3.1 Locale类
Locale表示的是本地,实际上使用的是一个ISO编码的封装类。对于各个国家来说都存在一个唯一的编码,那种编码称为ISO编码,使用Locale可以指定一个具体的国家编码。
如:中国:zh-CN。 英语 -美国:en-US。法语:fr-FR。
3.2 ResourseBundle
此类是专门完成属性文件读取操作的,读取的时候直接指定文件名称即可(此文件名称一般不需要指定后缀,后缀统一为*.properties)。可以根据Locale所指定的区域码来自动选择所需要的资源文件。
public static final ResourceBundle getBundle(String baseName, Locale locale) Locale locale)
指定操作的资源文件,并传人Locale对象。
资源文件命名最好首字母大写。
3.3 处理动态文本
在资源文件中进行一些动态文本的配置,设置占位符,这些符号中的内容暂时不固定,而是在程序执行的时候由程序进行设置的,要实现这样的功能,则必须使用java.text.MessageFrom类。
在Fromat类中还存在数字格式化的Fromat(NumberFormat)、日期格式化的Fromat(DateFromat)。
占位符使用{数字}的形式表示,第一个内容"{0}"、"{1}"表示第二个内容。
在MessageFormat类中主要用format()方法,处理动态文本。
public static String format(String pattern,Object... arguments)
3.4 使用一个类代替资源文件
也可以直接使用一个类来存放所有的资源文件内容,但是此类在操作的时候必须继承一个类java.util.ListResourceBundle.
4 System类
System类是一些与系统相关的属性和方法的集合,而且在System类中所有的属性都是静态的,要想引用这些属性和方法,直接使用System类调用。
System类中除了可以进行内容的输出外,还可以通过方法肚饿一个操作的计算时间。
还可以列出本机的全部系统属性。
4.1 对象的垃圾回收
手动调用的时候就是调用System.gc()或者Runtime.getRuntime().gc().但是一个对象在回收之前需要做的一些收尾工作,就必须覆写Object类中的
protected void finalize()throws Throwable
在对象在回收之前调用,处理对象回收前的若干操作,如释放资源等。