1.用代码实现单利模式
public class single {
//恶汉式
private single(){}
private static single d1=new single();
public static single getsingle(){
return d1;
}
}
class single2{
//懒汉式
private single2(){}
private static single2 s=null;
public static single2 getSingle2(){
if(s==null){
return new single2();
}return s;
}
}
2.一个字符串,包含空格等标点符号,写一个函数计算出出现次数最多的字母和该字母出现的次数。
package interview;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 一个字符串,包含空格等标点符号,写一个函数计算出出现最多的字母和该字母出现的次数
* @author zhoupeng
*
*/
public class Two {
static String str="faker ,andkobe *&ok?ilikeit?youngerheiheiwade";
Map<String,Integer> map=new HashMap<String,Integer>();
List list=new ArrayList();
public static void main(String[] args) {
Two t=new Two();
t.Fun(str);
}
public void Fun(String str){
//将一个字符串转换为字符数组再转换为每一个字符数组。
char [] ch=str.toCharArray();
//System.out.println(ch[1]);
String[] sta=new String[ch.length];
for(int i=0;i<ch.length;i++){
sta[i]=String.valueOf(ch[i]);
}
//对字符数组中的元素进行筛选,如果是字母就放入到List中
for(int i=0;i<sta.length;i++){
if(sta[i].matches("^[a-zA-Z]$")){
list.add(sta[i]);
}
}
//将数组中的元素放入到map中去并对其计数。
Integer j = 0;
for(int i=0;i<list.size();i++){
if(!map.containsKey(list.get(i))){
j=1;
map.put((String) list.get(i), j);
}else{
j++;
map.put((String) list.get(i), j);
}
}
System.out.println(list);
System.out.println(map);
//便利map并将出现次数最多的字母与相应次数赋值打印
Integer max=0;
String zimu="";
for(Map.Entry<String, Integer> entry:map.entrySet()){
String sf=entry.getKey();
Integer sn=entry.getValue();
if(sn>max){
max=sn;
zimu=entry.getKey();
}
}
System.out.println("出现次数最多的字母:"+zimu+" ---出现次数为"+max);
}
}
表示这题写出来的时候整个人都疯掉了,当然肯定会有更好的实现,这里我只是把我自己的初级实现写了出来
3.编码实现单向链表,并实现单向链表的反转。比如一个链表是这样的:1->2->3->4->5通过反转后形成5->4->3->2->1。即实现单向链表类,在该类中提供一个单向链表的反转方法,请写出完整的代码。
TODU
4.将一个GBK编码的文本文件转存为UTF-8编码的文本文件
TODU
5.JVM的启动参数都有哪些,分别表示什么。常用的诊断命令,jinfo,jmap,jstack,jps的作用和使用方式各是什么?