Java程序设计CharSequence接口、AutoCloseable接口、Runtime类
描述字符串标准的接口
常见的子类有3个:String、StringBuffer、StringBuilder
CharSequence接口方法
public char charAt(int index) | 获取指定索引字符 |
public int length() | 获取字符串长度 |
public CharSequence subSequence(int start,int end) | 截取部分字符串 |
public class Hello {
public static void main(String[] args) {
CharSequence str = 'ABCDEFG';
CharSequence a = str.subSequence(0,3);
System.out.println(a);
}
}
大部分情况下都先考虑String,只有在频繁修改这一操作中才会考虑使用StringBuffer或StringBuilder
结合异常处理结构在资源操作完成后实现自动释放功能
接口定义:
演示:
public class Hello {
public static void main(String[] args) {
try(Mess n = new NetMess('ABCD')){
n.send();
}catch (Exception e){
e.printStackTrace();
}
}
}
interface Mess extends AutoCloseable {
public void send();
}
class NetMess implements Mess{
private String msg;
public NetMess(String msg){
this.msg=msg;
}
public boolean open(){
System.out.println('发送消息');
return true;
}
@Override
public void send() {
this.open();
System.out.println(this.msg);
}
@Override
public void close() throws Exception {
System.out.println('关闭通道');
}
}
实现了自动关闭处理,并且通过执行结果可以发现,不管是否产生了异常都会调用close方法进行资源释放
Runtime描述的是运行时状态,在每一个JVM进程中都会提供唯一的一个Runtime类实例化对象,开发者可以通过Runtime类对象获取与JVM有关的运行时状态
常用方法
public static Runtime getRuntime() | 获取Runtime类的实例化对象 |
public int availableProcessors() | 获取可用的CPU处理器数量 |
public long maxMemory() | 获取最大可用内存量 |
public long totalMemory() | 获取总共可用内存量 |
public long freeMemory() | 获取空闲内存量 |
public void gc() | 运行垃圾收集器,释放垃圾空间 |
获取CPU处理器数量
public class Hello {
public static void main(String[] args) throws Exception{
Runtime runtime = Runtime.getRuntime();
System.out.println(runtime.availableProcessors());
}
}
获取内存信息
public class Hello {
public static void main(String[] args) throws Exception{
Runtime runtime = Runtime.getRuntime();
System.out.println(runtime.maxMemory());
System.out.println(runtime.totalMemory());
System.out.println(runtime.freeMemory());
}
}
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点