java笔记之字符串,gc

时间:2021-11-10 16:02:52

前言

.java的安全性的特点主要体现在什么地方?


java沙箱机制
比如:jvm加载一个类需要进行四次验证
第一次:class文件的结构检查
第二次:类型数据的语义检查
第三次:字节码验证
第四次:符号引用验证

正文

1.字符串有一个结束标识符(‘\0’),

比如“学java”的内存空间占6个字符,长度为5(长度不仅结束标识符);

2.不使用第三方变量,进行数值数据的交换

i=i+j; j=i-j;i=i-j;

3.垃圾回收机制

本质:处理堆区中的数据回收的java的低级别线程。主动权在os中,他是守护线程。

4.静态方法中,只能调用静态的方法,和使用静态方法;如main方法。

5.方法返回值;

如果一个方法要有多个值的返回:可以采用不同的引用变量,来记录相同地址。当其中一个引用改变了堆区中内容。另一个变量可以直接得到被改变内容。

6.术语:方法签名

方法名+参数列表。

7.动态扩展方法(浅拷贝)

就是将堆区中的内容(数组中一般存的是地址)进行复制

int[] arr=new int[]{1,2,3};

//扩容

arr=Arrays.copyof(arr,arr.length+1);//首先开辟新的空间,空间大小为arr.length+1,然后将原空间的内容(地址)复制到目标空间中。

8.string 本质上是char数组。

9.String的getBytes方法和String(byte[] bytes, String charsetName) 构造器配合解决字符串字符集问题

1)byte[] getBytes(Charset charset)
Encodes this String into a sequence of bytes using the given charset, storing the result into a new byte array.使用给定的charset将此String编码到byte序列,并将结果存储到新的byte数组。

2)String(byte[] bytes, String charsetName)
Constructs a new String by decoding the specified array of bytes using the specified charset.通过使用指定的charset编码和指定的byte数组来构造一个新的字符串

3)String(byte[] bytes)
Constructs a new String by decoding the specified array of bytes using the platform's default charset.

 

缓冲

首先我觉得buffer和cache都是为提高性能应运而生的,
但是侧重点稍有不同,buffer在于缓冲写,cache在于高速读。
buffer是为了缓解系统之间的性能差异而设计的,现实生活中最形象的例子就是漏斗,
buffer在于缓冲写,cache在于高速读。buffer是为了缓解系统之间的性能差异而设计的

总结