当前位置: 编程技术>移动开发
本页文章导读:
▪线程和过程的区别 线程和进程的区别
进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程(Process)和线程(Thread)的区别在于: 线程的划分.........
▪ JAVA中关于抽象类个人小结 JAVA中关于抽象类个人总结
抽象类是一个定义级别很高的类,即是最高层次上的,具有高度整合的类,是一个高度抽象化的类,把底层次进行了深度的抽象的一个类,是你要关注类的高度.........
▪ 怎么利用WMA的发送与接收来实现数据的备份和恢复呢 如何利用WMA的发送与接收来实现数据的备份和恢复呢?
package util;
import java.io.IOException;
import javax.microedition.io.Connector;
import javax.wireless.messaging.Message;
import javax.wireless.messaging.MessageConnection;
i.........
[1]线程和过程的区别
来源: 互联网 发布时间: 2014-02-18
线程和进程的区别
进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。
进程(Process)和线程(Thread)的区别在于:
线程的划分尺度小于进程,使得多线程程序的并发性高。
线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
进程是指在系统中正在运行的一个应用程序;线程是系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元。对于操作系统而言其调度单元是线程。一个进程至少包括一个线程,通常将该线程称为主线程。一个进程从主线程的执行开始进而创建一个或多个附加线程,就是所谓基于多线程的多任务
进程与线程的重要区别在于线程不能够单独执行,它必须运行在处于活动状态的应用程序进程中
进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。
进程(Process)和线程(Thread)的区别在于:
线程的划分尺度小于进程,使得多线程程序的并发性高。
线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
进程是指在系统中正在运行的一个应用程序;线程是系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元。对于操作系统而言其调度单元是线程。一个进程至少包括一个线程,通常将该线程称为主线程。一个进程从主线程的执行开始进而创建一个或多个附加线程,就是所谓基于多线程的多任务
进程与线程的重要区别在于线程不能够单独执行,它必须运行在处于活动状态的应用程序进程中
[2] JAVA中关于抽象类个人小结
来源: 互联网 发布时间: 2014-02-18
JAVA中关于抽象类个人总结
抽象类是一个定义级别很高的类,即是最高层次上的,具有高度整合的类,是一个高度抽象化的类,把底层次进行了深度的抽象的一个类,是你要关注类的高度抽取类。
下面讲解下它相关的注意事项吧!
1:它也是一个类,但是,是一个有着abstract关键字。这个就是与其他类的一个不同之处。
2:在这个抽象类中,你可以定义方法、属性等。
3:当定义属性时,属性字段是不能定义成抽象的,可以是 final,static,public等。
4:当定义方法时,当你为这个方法定义了方法体时,则不需要为这个方法添加关键子abstract,当定义了这个关键字时,则就意味着你要在继承它的子类中实现这个方法。
5:当定义的方法没有方法体,则在抽象类中一定要定义成抽象方法。
6:实现这个抽象类的子类,一个要实现这个类中的抽象方法,如果不实现这个方法,则该类就还是一个抽象类。
7:不能创建这个抽象类的一个实例。
抽象类是一个定义级别很高的类,即是最高层次上的,具有高度整合的类,是一个高度抽象化的类,把底层次进行了深度的抽象的一个类,是你要关注类的高度抽取类。
下面讲解下它相关的注意事项吧!
1:它也是一个类,但是,是一个有着abstract关键字。这个就是与其他类的一个不同之处。
2:在这个抽象类中,你可以定义方法、属性等。
3:当定义属性时,属性字段是不能定义成抽象的,可以是 final,static,public等。
4:当定义方法时,当你为这个方法定义了方法体时,则不需要为这个方法添加关键子abstract,当定义了这个关键字时,则就意味着你要在继承它的子类中实现这个方法。
5:当定义的方法没有方法体,则在抽象类中一定要定义成抽象方法。
6:实现这个抽象类的子类,一个要实现这个类中的抽象方法,如果不实现这个方法,则该类就还是一个抽象类。
7:不能创建这个抽象类的一个实例。
[3] 怎么利用WMA的发送与接收来实现数据的备份和恢复呢
来源: 互联网 发布时间: 2014-02-18
如何利用WMA的发送与接收来实现数据的备份和恢复呢?
使用以上代码,可以将彩信发送出去,手机也能收到,如果把appID = "" 后面的注释":cn.kingdart.jaccount.book"拿掉则手机收不到。我的midlet没有监听,不知道启动监听会不会收到所发的彩信?
收到彩信后运行接收方法则没有任何回应。
是不是一定要启动监听器才可以接收到彩信呢?不能读取已收到的彩信吗?如果是的话,那么利用这个方法和备份和恢复就行不通了!
package util;
import java.io.IOException;
import javax.microedition.io.Connector;
import javax.wireless.messaging.Message;
import javax.wireless.messaging.MessageConnection;
import javax.wireless.messaging.MessagePart;
import javax.wireless.messaging.MultipartMessage;
import mvc.MVCMidlet;
public class MMS extends Thread {
private static String content;
private static String phoneNumber;
private int action = 0;
private final static int SEND = 0;
private final static int RECEIVE = 1;
private final static String mmsURL = "mms://";
private final static String appID = ""; //":cn.kingdart.jaccount.book";
private static MVCMidlet midlet;
public MMS() {
}
public static void send(MVCMidlet theMidlet, String theContent, String thePhoneNumber) {
midlet = theMidlet;
content = theContent;
phoneNumber = thePhoneNumber;
MMS mms = new MMS();
mms.action = SEND;
(new Thread(mms)).run();
}
public static void receive(MVCMidlet callMidlet) {
midlet = callMidlet;
MMS mms = new MMS();
mms.action = RECEIVE;
(new Thread(mms)).run();
}
public void run() {
if (action == SEND) {
sendNow();
}
if (action == RECEIVE) {
receiveNow();
midlet.handleCommand(MVCMidlet.SHOW_LOG, null);
}
}
private void sendNow() {
MessagePart mpart = null;
String mimeType = "text/plain";
String encoding = "GB2312";
byte[] contents = null;
try {
contents = content.getBytes(encoding);
mpart = new MessagePart(contents, 0, contents.length, mimeType,
"id" + Integer.toString(1), "contentLocation", encoding);
} catch (Exception e) {
System.out.println("MMS " + e.toString());
return;
}
String address = mmsURL + phoneNumber + appID;
MessageConnection mmsconn = null;
if (mpart == null) {
return;
}
try {
mmsconn = (MessageConnection) Connector.open(address);
MultipartMessage mmmessage = (MultipartMessage) mmsconn
.newMessage(MessageConnection.MULTIPART_MESSAGE);
mmmessage.setAddress(address);
mmmessage.addMessagePart(mpart);
mmmessage.setSubject("MMS Text");
mmsconn.send(mmmessage);
mmsconn.close();
} catch (Exception e) {
System.out.println("MMS " + e.toString());
}
}
private void receiveNow() {
/** MMS connection to be read. */
String mmsConnection = mmsURL + appID;
/** Open the message connection. */
MessageConnection mmsconn;
/** Current message read from the network. */
Message msg;
/** Address of the message's sender */
String senderAddress;
/** The subject of the message received */
//String subject;
/** The text of the received message */
//String contents;
try {
mmsconn = (MessageConnection) Connector.open(mmsConnection);
msg = mmsconn.receive();
if (msg != null) {
senderAddress = msg.getAddress();
String titleStr = senderAddress.substring(6);
int colonPos = titleStr.indexOf(":");
if (colonPos != -1) {
titleStr = titleStr.substring(0, colonPos);
}
Log.append(titleStr, Log.MESSAGE);
if (msg instanceof MultipartMessage) {
MultipartMessage mpm = (MultipartMessage) msg;
Log.append("subject: " + mpm.getSubject(), Log.MESSAGE);
Log.append("Date: " + mpm.getTimestamp().toString(), Log.MESSAGE);
Log.append("Content: " + mpm.getTimestamp().toString(), Log.MESSAGE);
MessagePart[] parts = mpm.getMessageParts();
if (parts != null) {
for (int i = 0; i < parts.length; i++) {
MessagePart mp = parts[i];
Log.append("Content-Type: " + mp.getMIMEType(), Log.MESSAGE);
//String contentLocation = mp.getContentLocation();
byte[] ba = mp.getContent();
Log.append("Content: " + new String(ba), Log.MESSAGE);
//Image image = Image.createImage(ba, 0, ba.length);
}
}
}
}
} catch (IOException e) {
Log.append(e.getMessage(), Log.MESSAGE);
//e.printStackTrace();
}
}
}
使用以上代码,可以将彩信发送出去,手机也能收到,如果把appID = "" 后面的注释":cn.kingdart.jaccount.book"拿掉则手机收不到。我的midlet没有监听,不知道启动监听会不会收到所发的彩信?
收到彩信后运行接收方法则没有任何回应。
是不是一定要启动监听器才可以接收到彩信呢?不能读取已收到的彩信吗?如果是的话,那么利用这个方法和备份和恢复就行不通了!
最新技术文章: