每日练习8.19

1.下面的程序 编译运行后,在屏幕上显示的结果是(A)

public class test {
	public static void main(String args[]) {
	int x,y;
	x=5>>2;
	y=x>>>2;
	System.out.println(y);
	}
}

A.0
B.2
C.5
D.80

5 >> 2 相当于 5除于2的平方,等于1 ,>>> 表示无符号 右移,高位用0 填充,0001 右移两位 0000,所以答案选 A


2.以下代码结果是什么?C

 public class foo { 
 	public static void main(String sgf[]) {
		 StringBuffer a=new StringBuffer(“A”); 
		 StringBuffer b=new StringBuffer(“B”); 
		 operate(a,b); 
		 System.out.println(a+.+b); 
  }
    static void operate(StringBuffer x,StringBuffer y) { 
	   x.append(y); 
	   y=x;
	  } 
   }

A 代码可以编译运行,输出“AB.AB”。
B 代码可以编译运行,输出“A.A”。
C 代码可以编译运行,输出“AB.B”。
D 代码可以编译运行,输出“A.B”

引用a指向对象A
引用b指向对象B
引用x指向对象A
引用y指向对象B
在operate方法中,引用x指向的对象A被连接了B,对象A也就被改变为AB
然后又把引用y指向了x所指向的对象地址,也就是此时引用a,x,y指向同一个对象AB
而引用b没有发生任何变化,依旧指向对象B。


3.下列哪个说法是正确的(D)
A ConcurrentHashMap使用synchronized关键字保证线程安全
B HashMap实现了Collction接口
C Array.asList方法返回java.util.ArrayList对象
D SimpleDateFormat是线程不安全的

A.ConcurrentHashMap 使用segment来分段和管理锁,segment继承自ReentrantLock,因此ConcurrentHashMap使用ReentrantLock来保证线程安全。
B.public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable
C应该是Arrays.asList(),其将一个数组转化为一个List对象,这个方法会返回一个ArrayList类型的对象, 这个ArrayList类并非java.util.ArrayList类,而是Arrays类的内部类。


4.下列代码执行结果为()

public static void main(String args[])throws InterruptedException{
            Thread t=new Thread(new Runnable() {
                public void run() {
                    try {
                        Thread.sleep(2000);
                    } catch (InterruptedException e) {
                        throw new RuntimeException(e);
                    }
                    System.out.print("2");
                }
            });
            t.start();
             
            t.join();
            System.out.print("1");
        }

A 21
B 12
C 可能为12,也可能为21
D 以上答案都不对

thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。本题在主线程中调用了子线程的join函数,因此主线程必须等待子线程执行完毕才结束因此输出结果只能是21。


编程题:两个栈实现队列的入队列和出队列

import java.util.Stack;

public class Solution {
    Stack<Integer> stack1 = new Stack<Integer>();
    Stack<Integer> stack2 = new Stack<Integer>();
    
    public void push(int node) {
        stack1.push(node);
    }
    
    public int pop() {
        if(stack1.isEmpty()&&stack2.isEmpty()){
            throw new RuntimeException("queue is empty!"); 
        }
        if(stack2.isEmpty()){
            while(!stack1.isEmpty())
                stack2.push(stack1.pop());
        }
        return stack2.pop();
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在CentOS 7上安装MySQL 8.19,您可以按照以下步骤操作: 1. 首先,您需要下载MySQL 8.19的压缩包,并将其解压缩到/usr/local/目录下。您可以使用以下命令将解压得到的文件移动到/usr/local/目录,并重新命名为mysql: ``` mv mysql-8.0.19-linux-glibc2.12-x86_64 /usr/local/mysql ``` 引用 2. 接下来,您需要修改/usr/local/mysql/目录的权限,以确保MySQL能够正常运行。您可以使用以下命令更改目录的所有者和组为mysql: ``` chown -R mysql.mysql /usr/local/mysql/ ``` 引用 3. 之后,您可以将MySQL的启动脚本复制到/etc/init.d/目录中,以便MySQL可以作为服务启动和停止。您可以使用以下命令执行此操作: ``` cp ../support-files/mysql.server /etc/init.d/mysqld ``` 引用 完成上述步骤后,您就成功安装了MySQL 8.19。您可以使用适当的命令启动、停止和管理MySQL服务。请记住,这只是安装MySQL的基本步骤,您可能需要根据您的具体需求进行其他配置和设置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [centos7安装MySQL Community Server 8.0.19](https://blog.csdn.net/resuper0/article/details/104442933)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值