当前位置: 编程技术>移动开发
本页文章导读:
▪线程和过程的区别 线程和进程的区别
进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程(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没有监听,不知道启动监听会不会收到所发的彩信?
收到彩信后运行接收方法则没有任何回应。
是不是一定要启动监听器才可以接收到彩信呢?不能读取已收到的彩信吗?如果是的话,那么利用这个方法和备份和恢复就行不通了!
最新技术文章: