1)有三个线程ID分别是A、B、C,请有多线编程实现,在屏幕上循环打印10次ABCABC…
这个题要按顺序循环输出ABC10次,没想到办法,无法控制时间片。
晚上想了一下,已经实现:
class ThreadThread extends Thread{
String s=null;
int count=10;
String [] ch={\"A\",\"B\",\"C\" };
final int index;
public ThreadThread(int ind){
this.index=ind;
this.setName(ch[index]);
}
public synchronized void run(){
try{
while(this.isAlive()&&count>0){
if(MainTest.flag==index){
System.out.println (ch[index]);
MainTest.flag=(index+1)%3;
count--;
}
sleep(1000);
}
}catch (Exception e){
e.printStackTrace();
}
}
}
class MainTest{
static int flag=0;
public static void main(String [] args){
ThreadThread a =new ThreadThread(0);
ThreadThread b =new ThreadThread(1);
ThreadThread c= new ThreadThread(2);
a.start();
b.start();
c.start();
}
}
2)假如有字符串“6sabcsssfsfs33” ,用最有快速的方法去掉字符“ab3”,不能用java内置字符串方法(indeOf,substring,replaceAll等)?
这个简单:
import java.util.List;
import java.util.LinkedList;
public class FindStr{
public static void main(String[] args){
String s=\"6sabcsssfsfs33\";
char [] ch=s.toCharArray();
char [] str={\'a\',\'b\',\'3\' };
List list = new LinkedList();
for(int j=0;j if(ch[j]!=str[0]&ch[j]!=str[1]&ch[j]!=str[2]){
list.add(ch[j]);
}
}
System.out.println (list);
}
}
二、上机题:
Java上机实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数?
这个是上题思路一样,而且可以用IndexOf()方法了。更好办。
1、说说JVM原理?内存泄露与溢出区别,何时产生内存泄露?
说不上来,只负责用。溢出应该是超出的设计的堆栈范围,对堆栈范围没有做检查。泄露,内存一般由虚拟机回收,像我这样比较懒的人不太注意,当然这不是个好习惯,当程序长时间运行后容易造成内存泄露。
2、用java怎么实现有每天有1亿条记录的DB存储?mysql上亿记录数据量的数据库如何设计?
直接用JDBC的话只想到用Preparedstatement的addBatch();在oracle里面要操作大数据一般都是这么写:
insert table into select * from table where ...;前台一般不会一下输入这么多,如果只是用java操作数据库的话应该是这么写比较快。Mysql没用过,如果是oralce建表分区,一般按时间建的多,建索引,我们的数据库都是上亿的记录,一般的表都是4-5个G的,建了分区2个表关联全表扫描大概4分钟,机器还不怎么好。
3、mysql支持事务吗?DB存储引擎有哪些?
还是没用过Mysql,但是我主观认为是个数据库就支持事务,否则不叫数据库吧。DB存储引擎是不是指几个数据库厂商啊,那就是Oracle,msservel,DB2,还有一个fox什么的数据库也比较有名。按市场份额mysql应该排的靠后,谁让它不收钱,不给它排名。
4、mvc原理,mvc模式的优缺点,如果让你设计你会怎么改造MVC?
MVC将视图和控制、数据模型分离,降低了耦合度。说起改造没想过。
5、hibernate支持集群吗?如何实现集群?
支持集群,不知道如何实现的。用的不多。
6、tomcat 最多支持并发多少用户?
忘默认好像是20吧,忘了。
7、map原理,它是如何快速查找key的?map与set区别?
Map通过键值映射将value关联到key上。 set不允许空元素,如果有null元素,只能有一个。
8、描术算法,如何有效合并两个文件:一个是1亿条的用户基本信息,另一个是用户每天看电影连续剧等的记录,5000万条。内存只有1G???
不明白什么意思。
9、在1亿条用户记录里,如何快速查询统计出看了5个电影以上的用户?
select userid,count(*) from table (这最好能用上where) group by userid having count(*) >=5;这样是最快的。我天天搞这个比较清楚。
10、Spring如何实现IOC与AOP的,说出实现原理?
还在学习。