java面试题总结



85、描述一下JVM加载class文件的原理机制?

JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader是一个重要的Java运行时系统组件。它负责在运行时查找和载入类文件的类。

在Java中,类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成校验、准备、解析
    装载:查找和导入类或接口的二进制数据; 
    链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的; 
    校验:检查导入类或接口的二进制数据的正确性; 
         准备:给类的静态变量分配并初始化存储空间; 
         解析:将符号引用转成直接引用;
初始化:激活类的静态变量,初始化Java代码和静态Java代码块



86、char型变量中能不能存储一个中文汉字?为什么?

能够定义称为一个中文的,因为java中以unicode编码,所以一个char是一个Unicode,

而一个Unicode编码就是16位,也就是2个字节,一个char占2个字节,所以放一个中文是没问题的。


简言之:java编码==Unicode【2个字节】==char编码【2个字节】==一个汉字【2个字节】

 
 


87、写一个程序,从文件(c:\text.txt)中查出字符串”mobnet“出现的次数?

		BufferedReader br = new BufferedReader(new FileReader("C:\\text.txt"));
		StringBuilder sb = new StringBuilder();
		while (true) {
			String str = br.readLine();
			if (str == null)
				break;
			sb.append(str);
		}
		Pattern p = Pattern.compile("mobnet");
		Matcher m = p.matcher(sb);
		int count = 0;
		while (m.find()) {
			count++;
		}
		System.out.println("mobnet一共出现了" + count + "次");


你可能感兴趣的:(java,spring,bean,Hibernate,面试,ejb)