前言
.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是为了缓解系统之间的性能差异而设计的
总结