社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
目录
如下代码的运行结果:
public static void main(String[] args) {
int i = 1;
i = i++;
int j = i++;
int k = i + ++i * i++;
System.out.println("i=" + i);
System.out.println("j=" + j);
System.out.println("k=" + k);
}
输出:
以下代码运行结果:
结果:
初始化顺序为:
父类静态变量、父类静态代码块、子类静态变量、子类静态代码块、
父类非静态变量、父类非静态代码块、父类构造函数、子类非静态变量、子类非静态代码块、子类构造函数
注意:子类和父类具有同名的静态变量(不会被覆盖)和非静态变量(会被覆盖);静态成员只有在类加载时初始化一次
以下程序输出什么
结果:
i = 1
str = hello
num = 2
arr = [2,2,3,4,5]
my.a = 11
①形参是基本数据类型:传递数据值
②实参是引用数据类型:传递地址值;特殊的类型:String、包装类等对象不可变性
以下程序输出什么
结果:
分析:
(1)Exam5 obj1 = new Exam5();
静态变量、非静态变量初始化:i=0【obj1 】,j=0【obj1 】,s=0【Exam5 】
执行非静态代码块:i=0【obj1 】,j=1【obj1 】,s=1【Exam5 】,i=1【局部】
(2)Exam5 obj2 = new Exam5();
静态变量、非静态变量初始化:i=0【obj2】,j=0【obj2】,s=0【Exam5 】
执行非静态代码块:i=0【obj2 】,j=1【obj2 】,s=2【Exam5 】,i=1【局部】
(3)obj1.test(10);
i=1【obj1 】,j=1【obj1 】,s=3【Exam5 】,j=11【局部】
(4)obj1.test(20);
i=2【obj1 】,j=1【obj1 】,s=4【Exam5 】,j=21【局部】
(5)obj2.test(30);
i=1【obj1 】,j=1【obj1 】,s=5【Exam5 】,j=31【局部】
(1)singleton:默认值,当IOC容器一创建就会创建bean实例,而且是单例的
(2)prototype:原型的,当IOC容器一创建不会实例化该bean,每次调用getBean创建一个新的对象
方法时再实例化bean,而且每次
(3)request:每次请求实例化一个bean
(4)session:在一次会话中共享一个baen
数据类型 |
使用场景 |
String |
比如说 ,我想知道什么时候封锁一个IP地址。Incrby命令 |
Hash |
存储用户信息【id,name,age】 Hset(key,field,value) Hset(userKey,id,101) Hset(userKey,name,admin) Hset(userKey,age,23) ----修改案例---- Hget(userKey,id) Hset(userKey,id,102) 为什么不使用String 类型来存储 Set(userKey,用信息的字符串) Get(userKey) 不建议使用String 类型 |
List |
实现最新消息的排行,还可以利用List的push命令,将任务存在list集合中,同时使用另一个命令,将任务从集合中取出[pop]。 Redis—list数据类型来模拟消息队列。【电商中的秒杀就可以采用这种方式来完成一个秒杀活动】 |
Set |
特殊之处:可以自动排重。比如说微博中将每个人的好友存在集合(Set)中, 这样求两个人的共通好友的操作。我们只需要求交集即可。 |
Zset |
以某一个条件为权重,进行排序。 京东:商品详情的时候,都会有一个综合排名,还可以按照价格进行排名。 |
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!