基础类库(lang)

AutoCloseable

自动关闭接口 当我们访问外部资源时 有时候程序存在异常或者遗忘 导致我们没有关闭外部资源 此接口可以自动关闭外部资源

//首先对访问外部资源的类实例化此接口
class Connect implements AutoCloseable{
      public void close(){}   //覆写close方法
}
try(Connect connect = new Connect()){  //实例化此类对象即可
}

Cloneable

克隆接口克隆当前对象 实则把当前对象的内存地址复制到另一空间
protect Object clone()throws CloneNotSupportedException此方法属于Object中方法,Cloneable是一个标识声明,只有Object类对象才能克隆。

class Person implements Cloneable{//首先实现此接口
    protect Object clone()throws CloneNotSupportedException{
          return super.clone(); //覆写clone方法;
    }
}
Person A = new Person();
Person B = (Person)A.clone();//调用clone方法向下转型为克隆对象类型

Runtime

java中唯一一个描述JVM进程信息的程序类,可以用这个类打开另一个进程
public static Runtime getRuntime(); 得到当前进程对象
public long maxMemory() 获取JVM可以操作的最大内存数量
public long totalMemory()获取JVM可以操作的常规最大内存数量
public long freeMemory()获取JVM剩余最大内存数量
public void gc() 调用垃圾收集机制

System

提供一些基本系统操作
public static void arraycopy(Object 要复制的数组名,int 下标,Object 粘贴的数组名,int 下标,int 赋值长度) 数组内容复制
public static long currentTimeMillis() 获取当前日期事件数,常用来判断时间复杂度。
public static void gc() 本质上调用了Runtime类中的方法

StringBuffer

java中字符串一般都是String匿名类 ,这样对其中的内容无法更改。StringBuffer类则提供了对字符串内容的添加修改删除等功能。
public StringBuffer () 构造方法生成一个默认大小16字节的StringBuffer类
public StringBuffer(String 字符串) 生存指定字符串的StringBuffer类
public StringBuffer insert(int 下标,数据类型 内容) 指定位置插入指定内容
public StringBuffer delete(int 下标,int 下标) 删除指定位置
public StringBuffer insert(reverse) 字符串反转
···

CharSequence

字符序列标准操作接口 此接口包含 String类 StringBuffer类 StingBuilder类
StringBuilder与StringBuffer类作用基本相似 StringBuffer适合线程 其方法大多是同步的 StringBuilder适合非线程 速度更快。
public char charAt(int 下标) 根据索引获取字符串
public int length 获取序列长度
public default IntStream chars() 进行数据流分析
见了CharSequence就向里面传递一个任意字符串数据

ThreadLocal

线程局部类为线程变量提供局部副本 该线程所用的资源为独立私有的。
private static ThreadLocal <所用资源类型> threadLocal = new ThreadLocal<>();
public void set(T 所用资源对象) 设置局部类资源对象
public void remove() 删除保存对象
public T get() 得到保存对象

class Person(){
    private String name;
}
class Save(){
    private static ThreadLocal <Peson> threadLocal = new ThreadLocal<>();
    public static void setPerson(Person person){
            threadLocal.set(person);
        }
        public static Person getperson(){
           return threadLocal.get();
        }
}
class Printf{
    public static void printf(){
        System.out.println(Save.getPerson().getName());
    }
}
public static void main (String[] args )  {
    new Thread(()->{
                Person person = new Person ();
                Person.setName("李光安");
                Save.setPerson(perspn);
                Printf.printf();
    }).start();
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • StringBuffer类   String类时在所有项目开发之中一定会使用的功能类,这个类拥有如下的特点: 每一...
    江湖非良人阅读 4,826评论 0 6
  • StringBuffer类 String类的特征 每一个字符串的常量都属于一个String类的匿名对象, 并且不可...
    Roct阅读 3,647评论 0 1
  • 1.运行java程序的参数 main方法的方法签名public static void main(String[]...
    Indomi阅读 2,425评论 1 2
  • 以下是《疯狂Java讲义》中的一些知识,如有错误,烦请指正。 与用户互动 Java程序的参数如果运行Java程序时...
    hainingwyx阅读 4,136评论 0 0
  • 一、引言 Oracle为Java提供了丰富的基础类库,Java 8 提供了4000多个基础类库,熟练掌握这些基础类...
    零点145阅读 3,529评论 0 0

友情链接更多精彩内容