自己经常忘记的知识点总结

继承中 “编译看左边,运行看右边”的含义。

当父类的引用指向了子类的对象时,在编译时,它的成员变量和方法是由父类确定。在运行时,结果由子类对象确定

		class Father(){
			public void test2(){}
		}
		class Son(){
			public void test(){}
			public void test2(){
			
			}
		}

Father f = new Son();
f.test()// 当Father类中没有test()方法时,如果实例调用该方法则编译报错
f.test2()//当Father类中有test2()方法时,如果实例调用该方法编译通过,运行结果由Son类决定。
当Son类重写了父类的test2()方法,则执行Son类中的test2()方法
Son s = new Son();则可以调用Son类中的特有方法

java中数组扩容的几种方式

1,arraycopy(不需要导包)
此处定义了一个静态方法实现数组扩容

public static int[] test(int[] a){
	int[] b = new int[a.length*2];
	System.arraycopy(a, 0, b, 0, a.length);
	//(原数组,原开始下标,目标数组,目标开始下标,从原数组复制的长度)
	//如果不是拿原数组的所有数据要注意下标越界问题
	return b;
}

2,导包import java.util.Arrays;

toString方法,把数组转换位字符串形式并返回
例如:


					int[] a = {1,3,5,7,9};
					System.out.println(Arrays.toString(a));

					//输出结果: [1, 3, 5, 7, 9]

1)使用copyOf方法扩容数组
copyOf:复制或者截取指定数组并返回

	double[] a = {1,3,5,7,9};
	a = Arrays.copyOf(a, a.length*2);
	//(原数组,从原数组复制的元素个数如果超出原数组大小后面补默认值)
	//各种类型数组默认值
		   //整型数组的默认值是		0
			//浮点型数组的默认值是	0.0
			//布尔类型数组的默认值是	false
			//字符类型数组的默认值是	0
			//引用类型数组的默认值是	null
	System.out.println(Arrays.toString(a));
	//[1.0, 3.0, 5.0, 7.0, 9.0, 0.0, 0.0, 0.0, 0.0, 0.0]
		

2)使用copyOfRange
copyOfRange:将数组中指定范围复制新数组并返回

public class Test3 {
	public static void main(String[] args) {
		
	
	float[] a = {1,3,5,7,9};
	a = Arrays.copyOfRange(a,1,a.length*2);
	//(原数组,原数组开始下标,原数组结束下标)这里从3开始复制
	//目标数组长度=结束-开始
	System.out.println(Arrays.toString(a));
	//[3.0, 5.0, 7.0, 9.0, 0.0, 0.0, 0.0, 0.0, 0.0]
	}

}

关于mybatis二级缓存的一点个人想法

网上其他很多博客都说mybatis二级缓存默认不开启,但是在配置文件不写setting设置二级缓存开启,也可以实现二级缓存的功能,但是设置了二级缓存把value="false"时没有二级缓存,由此,mybatis的二级缓存现在应该已经是默认自动开启状态.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值