Java方向只有android开发,就做了一下android的笔试题,试卷发下来只有4道大题,3道Java编程题,1道android设计题。
1.系统某一目录下存放按月份命名的系统的告警信息文件,如03.log的内容为:
App1 crashed
App2 started
..........
在不考虑文件过大的情况下编程实现合并某一年的12个日志文件为一个,并去除冗余的警告信息。
2.写一个Java程序实现LinkList类。实现最基本的add,remove,get,size方法。
3.请用两种thread实现方法实现两个线程;A线程打印10次张三,B线程打印10次李四,要求是;线程同时运行,交替打印10次张三,李四。
package csu.Java;
/**
* 实现线程的两种方式继承Thread和实现Runnable接口
* @author Ricky
*
*/
//第一种继承Thread类
public class ThreadDemo extends Thread{
private String name;
public ThreadDemo(String name) {
this.name=name;
}
@Override
public void run() {
for(int i=0;i<10;i++){
System.out.println("线程"+name);
}
}
public static void main(String[] args) {
ThreadDemo A = new ThreadDemo("张三");
ThreadDemo B = new ThreadDemo("李四");
A.start();
B.start();
}
}
//第二种implements Runnable接口
public class ThreadDemo implements Runnable{
private String name;
public ThreadDemo(String name) {
this.name=name;
}
@Override
public void run() {
for(int i=0;i<10;i++){
System.out.println("线程"+name);
}
}
/**当使用Runnable方式实现线程时,还是需要通过Thread实现线程的启动。
* 通过将要运行的任务传递给Thread的实例对象,再通过此对象启动执行此任务的线程。
* Thread是Runnable的子类。此种线程实现方式是通过代理模式实现的.*/
public static void main(String[] args) {
ThreadDemo A = new ThreadDemo("张三");
ThreadDemo B = new ThreadDemo("李四");
Thread ta = new Thread(A);
Thread tb = new Thread(B);
ta.start();
tb.start();
}
}