多选题
关于下面程序,哪些结论是正确的?( )
public class J _Test
{
public static StringBuffer m_s;
public static void main(String args[])
{
for(int i=0;i< 1000;i++)
{
m_s=new StringBuffer(".");
new Thread()
{
public void run()
{
synchronized(m_s)
{
m_s.append('B');
}
}/ /方法run结束
}.start();
new Thread()
{
public void run()
{
synchronized(m_s)
{
m_s .insert(0,"A");
}
}/ /方法run结束
}.start();
String s=new String(m_s);
if(!s.equals("A.B"))
System.out.println(m_s+"!="+"A.B");
}
}/ /方法main结束
}/ /类J_Test结束
A、程序无法通过编译
B、程序可以通过编译并正常运行,输出的结果可能会包含字符串“AAAA.BBBBB!=A.B”
C、程序可以通过编译并正常运行,输出的结果可能会包含字符串“.!= A.B’,
D、程序可以通过编译并正常运行,输出的结果可能会包含字符串“AA.BB! =A.B”