依赖注入是一种思想,或者说一种设计模式,在java中通过反射机制实现,与具体的框架无关,除了spring,还有.net等其他平台也用到了依赖注入。
常见的依赖注入方式:
①.接口注入
②.方法注入
③.构造方法注入
其主要目的是为了解耦合
JVM中的常用命令:
jps: 查看本机java进程信息。
jstack: 打印线程的栈信息,制作线程dump为念。
jmap: 打印内存映射,制作堆dump文件。
jstar: 性能监控工具。
jhat: 内存分析工具。
jconsole: 简易的可视化控制台。
jvisualvm: 功能强大的控制台。
答案是正确的,Java语言中,中文字符所占的字节数取决于字符的编码方式,一般情况下,采用ISO8859-1编码方式时,一个中文字符与一个英文字符一样只占1个字节;采用GB2312或GBK编码方式时,一个中文字符占2个字节;而采用UTF-8编码方式时,一个中文字符会占3个字节,因此在java中,char类型占两个字节,默认以GBK编码存储,且java内部都是用unicode的,支持中文变量名的,可以表示汉字和其他国家占两个字节的语言。
4.下面程序的运行结果public static void main(String args[]){
Thread t = new Thread(){
public void run(){
pong();
}};
t.run();
System.out.print("ping");
}
static void pong(){
System.out.print("pong");
}
答案是pongping,因为线程的run()方法只是普通方法的方式调用,并不是start()方法去执行子线程,所以程序还是要按顺序执行,要等待run方法体执行完毕后,才可以继续执行下面的代码,没有多线程竞争的问题。
5.下面程序的运行结果public class TestDemo
{
public static String output = "";
public static void foo(inti)
{
try
{
if (i == 1)
{
throw new Exception();
}
}
catch (Exception e)
{
output += "2";
return ;
} finally
{
output += "3";
}
output += "4";
}
public static void main(String[] args)
{
foo(0);
foo(1);
System.out.println(output);
}
}
答案是3423,首先是foo(0),在try中没有抛出异常,执行finally,所以output += “3”,然后output += “4”。然后执行foo(1),try代码块中抛出异常,进入catch代码块,output += “2”,因为finally是必定执行的,加上catch代码块中有return,所以最后一个output += "4"不执行,最终答案是 3423



