精华内容
下载资源
问答
  • 和与及的用法有什么不同
    千次阅读
    2020-12-22 06:07:04

    一、prepare用作及物动词时:1.preparesb.sth.表示"给.准备.",也可转换为preparesth.forsb..Shepreparedusanicebreakfast.(=Shepreparedanicebreakfastforus.)她给我们准备了可口的早餐.2.preparesth.表示&q...

    accept作动词,意思是同意、接受。accept的用法有acceptsth(assth),acceptsb(intosth),acceptsb(assth)等。动词accept的用法1.表示“接受”,可及物或不及物。如:Sheofferedhimaliftandheaccepted(it).她请他坐她的车,他就领情了。2.其后可接名词或代词作宾语,但一般不接...

    act的用法有actas,actfor,actout,acton,intheact等。act作名词表示行为,act作动词表示行动、假装。act短语用法及例句1.actas担任,充当,起……的作用。如:Atraineddogcanactasaguidetoablindperson.经过训练的狗可以担任盲人的向导。表示担任独一无二的职务,其前通常不用冠词。如:H...

    introduce作动词,意思是把…介绍(给),引见,(自我)介绍,主持(节目),介绍(讲演者或演员),使初次了解,使尝试。用法如introducesbtosth。introduce用法1、~A(toB)|~AandB|~yourself(tosb)把…介绍(给);引见;(自我)介绍CanIintroducemywife?我来介绍一下我的妻子。2、主持(节目...

    anticipate,作动词时意为“预料,预期;预见,预计;期盼,期望;先于……做;在期限内履行(义务),偿还(债务);提前使用”。搭配如ancptanticipate,anticipatemode等。anticipate基本含义v.预料;预期;预见,预计(并做准备);期盼;期望;[例句]Atthetimewecouldn'thaveanticipatedtheresu...

    receive和accept的区别:Accept是指主观上自愿主动去接受、接纳,也可以说是思考过某人或某物在某方面足够好、满足自己的期望而接受。Receive是指客观上的接受、接收这种行为和动作,并不涉及主观意愿。Receive和Accept的区别性质不同receive表示客观的,accept表示主观的。感情色彩不同。receive表达的情绪比较中立;accept具有明显的主观色彩,不仅客观上“接...

    approach的用法:approach可以用作动词,不可以与动词add搭配使用。含义是接近,走近,靠近;着手处理,使移近,试图贿赂(或影响,疏通);方法,途径,接近。approach用法approach可以用作动词approach的基本意思是“走近”“靠近”。可指空间和时间上的接近,也可指程度上的接近或相近,还可用于抽象意义,如在方式、方法、手段上的接近,如接洽、交涉等。不可以与动词add搭配使...

    survive,英语单词,及物动词、不及物动词,作及物动词时意为“幸存;生还;幸免于;比...活得长”,作不及物动词时意为“幸存;活下来”。survive英:[sva?v];美:[s?r?va?v]v.生存;存活;继续存在;幸存;幸免于难;艰难度过;比…活(或存在)的时间长第三人称单数:survives;现在分词:surviving;过去式:survived;过去分词:survivedsurviv...

    accept有接受;同意;承担等意思,那么你知道accept的用法吗?下面跟着小编一起来学习一下,希望对大家的学习有所帮助!(篇一)accept的用法accept的用法1:accept的基本意思是“接受”,如接受礼物、邀请、好意、批评、建议、接纳为成员等等。引申可表示“承认;同意;认可;相信”,如答应某些条件、相信某种解释、相信某事属实、认同某种理论、承担责任、容忍或忍受困境等等。在商...

    accept有接受;同意;承担等意思,那么你知道accept的用法吗?下面跟着小编一起来学习一下,希望对大家的学习有所帮助!(篇一)accept的用法accept的用法1:accept的基本意思是“接受”,如接受礼物、邀请、好意、批评、建议、接纳为成员等等。引申可表示“承认;同意;认可;相信”,如答应某些条件、相信某种解释、相信某事属实、认同某种理论、承担责任、容忍或忍受困境等等。在商...

    更多相关内容
  • canmay的区别及用法

    千次阅读 2021-03-18 14:42:01
    此外,当很强的可能性时,也可以使用它。canmay的区别1、语气不同:在两者在通用的情况下,may比can显得客气一些。例句:Can you speak clearly? 你能说的清楚些么?This may not be true. 这也...

    can和may都是情态动词,后面必须跟动词原形,形成谓语动词。can可以用来表示一个人做某事或谈论任何可能性的能力。另一方面,may习惯于接受或给予他人许可。此外,当有很强的可能性时,也可以使用它。

    b349fbefae92832f046572d9eff64c0f.png

    can和may的区别

    1、语气不同:在两者在通用的情况下,may比can显得客气一些。

    例句:

    Can you speak clearly? 你能说的清楚些么?

    This may not be true. 这也许不正确。

    2、应用场景不同: 在征求对方的意见时,用may较多;在询问客观上是否"可以"时, 用can更好一些。

    例句:

    May I go now? 我可以现在走吗?

    Can we take the books out? 我们可以把书带走吗?

    3、含义不同:“can”这个词意思是“能够”,它表示一个人的能力;may习惯于接受或给予他人许可,当有很强的可能性时,也可以使用它。

    例句:

    Team A can win this match. A队能赢得这场比赛。

    May I go outside? 我可以出去么?

    can的用法:

    1、表示有能力做某事,意为“能、会”。如:

    The girl can sing in English.

    2、表示许可,意为“可以”,如:

    You can drive my car to the post office.

    3、表示推测,意为“也许,可能”。如:

    He can’t be your brother, you don’t look the same.

    may的用法:

    1、表示请求,语气比can弱。如:

    –May I use your eraser?

    – Certainly. But you must give it back to me soon.

    2、表示推测,意为“也许,可能”。如:

    She may be at home. Let’s go to see him.

    展开全文
  • 源生接口可以接受,亦可再次封装来对ObjectArray更好的支持。   简言之:关闭页面就销毁 (2)localStorage的用法:  localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除...

    一,共同点

    (1)存储时用setItem:

    localStorage.setItem("key","value");//以“key”为名称存储一个值“value”
    sessionStorage.setItem("key", "value");

    (2)获取时用getItem:

    localStorage.getItem("key");//获取名称为“key”的值
    localStorage.key;//获取存储的变量key的值
    sessionStorage
    .getItem("key");//获取名称为“key”的值

       (3)清除时用clearItem

    localStorage.removeItem("key")//删除变量名为key的存储变量
    sessionStorage.removeItem("key")//删除变量名为key的存储变量

     (4)都本地存储

     (5)存储时转化成字符串,获取时转化成对象

    sessionStorage.setItem('xxx', JSON.stringify(obj)); obj = JSON.parse(sessionStorage.setItem('xxx')); 

    二,不同点

    (1)sessionStorage的用法:

      sessionStorage仅在当前会话下有效,关闭页面或浏览器后被清除。存放数据大小为一般为5MB,而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信。源生接口可以接受,亦可再次封装来对Object和Array有更好的支持。

      简言之:关闭页面就销毁

    (2)localStorage的用法:

      localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除localStorage信息,否则这些信息将永远存在。存放数据大小为一般为5MB,而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信。

      简言之:你不手动清除它就一直在


    更多专业前端知识,请上 【猿2048】www.mk2048.com
    展开全文
  • HandlerThread的使用场景和用法

    千次阅读 热门讨论 2020-09-07 14:59:10
    相信很多同学都听说并使用过HandlerThread、Thread、Handler,但具体对这三种的用法和区别你真认真总结过吗? 本文帮你区别并了解三者的基本用法。 Thread基本用法 Thread类实现了Runnable接口,必须重写run()方法...


    相信很多同学都听说并使用过HandlerThread、Thread、Handler,但具体对这三种的用法和区别你真有认真总结过吗?
    本文帮你区别并了解三者的基本用法。

    Thread基本用法

    Thread类实现了Runnable接口,必须重写run()方法;

    //匿名内部类形式
    new Thread(new Runnable() {
            
            @Override
            public void run() {
                // TODO Auto-generated method stub
            }
    });
    

    或者

    class myThread implements Runnable {
    
        @Override
        public void run() {
            // TODO Auto-generated method stub
        }
    }
    

    启动一个线程,用start()方法;

    HandlerThread基本用法

    看源码开头的方法注释,我们可以很清楚的了解这个类的用途:

    /*
    Handy class for starting a new thread that has a looper.
    The looper can then be used to create handler classes.
    Note that start() must still be called.
    */
    

    翻译过来就是:
    使用HandlerThread可以方便的开启一个线程,并且这个线程已经绑定了一个looper了。这个looper可以用来new一个handler类。注意在此之前,要调用start()方法。

    示例代码如下:

    HandlerThread thread1 = new HandlerThread("test1");
    thread1.start();
    

    看到这里很多同学可能会产生一个疑问,为什么这个线程已经绑定了一个Looper了呢?还要在此之前调用start()方法?

    答案就是:提前调用start()方法就是为了为线程绑定Looper的。
    我们知道,start()方法可以开启一个线程,调用线程的run()方法。而HandlerThread的run()方法是这样的:

    @Override
    public void run() {
        mTid = Process.myTid();
        Looper.prepare();// HandlerThread在start()的时候执行run()方法,而Looper就是在这里被创建的
        synchronized (this) {
            mLooper = Looper.myLooper();
            notifyAll();
        }
        Process.setThreadPriority(mPriority);
        onLooperPrepared();
        Looper.loop();
        mTid = -1;
    }
    

    看到没,run()方法里面调用Looper.prepare()来为线程绑定一个Looper。 Looper.loop()开启消息循环。相当于把原来的需要调用Looper.prepare()、Looper.loop()做了一下封装。

    有了Looper之后,我们就可以创建Handler,就可以在这个线程里面发送消息、处理消息了。

    HandlerThread和Handler结合使用

    我们知道,Handler在使用时,需要一个Looper(以及Looper的消息队列MessageQueue),这样它才能发送消息,处理消息。

    根据Handler创建方法的不同,我们可以这样用:

    HandlerThread thread1 = new HandlerThread("test1");
    thread1.start();
    Handler mHandler = new Handler(thread1.getLooper()); // Handler创建方法1
    

    // 或者: Handler创建方法2

    Handler mHandler = new Handler(thread1.getLooper(), new Callback() {
        @Override
        public boolean handleMessage(Message msg) {
            // TODO Auto-generated method stub
            return false;
        }
    });
    

    // 或者 Handler创建方法3

    Handler.Callback callback = new Handler.Callback() {
        @Override
        public boolean handleMessage(Message msg) {
            // TODO Auto-generated method stub
            return false;
        }
    };
    
    Handler mHandler = new Handler(thread1.getLooper(), callback);
    

    // Handler创建方法4,重写HandleMessage方法

    static class TestHandler extends Handler {
        public TestHandler(Looper looper) {
            super(looper);
        }
        @Override
        public void handleMessage(Message msg) {
            
        }
    }
    

    HandlerThread 终止消息循环的方法

    使用完HandlerThread时,不要忘了退出消息循环。

    HandlerThread终止消息循环有两种方法,quit()和quitSafely(),调用的是Looper的对用方法,而Looper调用的是MessageQueue的对应方法。

    quitSafely()源码:

    public boolean quitSafely() {
        Looper looper = getLooper();
        if (looper != null) {
            looper.quitSafely();
            return true;
        }
        return false;
    }
    

    发现HandlerThread的quitSafely()其实是调用了Looper的quitSafely()方法:

    public void quitSafely() {
        mQueue.quit(true);
    }
    

    同样,HandlerThread的quit()则是调用了Looper的quit()方法:

    public void quit() {
        mQueue.quit(false);
    }
    
    用例演示
    1. 首先是DownloadThread类,继承于HandlerThread,用于下载。
    public class DownloadThread extends HandlerThread{
    
        private static final String TAG = "DownloadThread";
    
        public static final int TYPE_START = 2;//通知主线程任务开始
        public static final int TYPE_FINISHED = 3;//通知主线程任务结束
    
        private Handler mUIHandler;//主线程的Handler
    
        public DownloadThread(String name) {
            super(name);
        }
    
        /*
        * 执行初始化任务
        * */
        @Override
        protected void onLooperPrepared() {
            Log.e(TAG, "onLooperPrepared: 1.Download线程开始准备");
            super.onLooperPrepared();
        }
    
        //注入主线程Handler
        public void setUIHandler(Handler UIhandler) {
            mUIHandler = UIhandler;
            Log.e(TAG, "setUIHandler: 2.主线程的handler传入到Download线程");
        }
    
        //Download线程开始下载
        public void startDownload() {
            Log.e(TAG, "startDownload: 3.通知主线程,此时Download线程开始下载");
            mUIHandler.sendEmptyMessage(TYPE_START);
    
            //模拟下载
            Log.e(TAG, "startDownload: 5.Download线程下载中...");
            SystemClock.sleep(2000);
    
            Log.e(TAG, "startDownload: 6.通知主线程,此时Download线程下载完成");
            mUIHandler.sendEmptyMessage(TYPE_FINISHED);
        }
    }
    
    1. MainActivity部分,接收HandlerThread消息更新UI界面
    public class MainActivity extends AppCompatActivity {
    
        private static final String TAG = "MainActivity";
    
        private DownloadThread mHandlerThread;//子线程
        private Handler mUIhandler;//主线程的Handler
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            //初始化,参数为线程的名字
            mHandlerThread = new DownloadThread("mHandlerThread");
            //调用start方法启动线程
            mHandlerThread.start();
            //初始化Handler,传递mHandlerThread内部的一个looper
            mUIhandler = new Handler(mHandlerThread.getLooper()) {
                @Override
                public void handleMessage(Message msg) {
                    //判断mHandlerThread里传来的msg,根据msg进行主页面的UI更改
                    switch (msg.what) {
                        case DownloadThread.TYPE_START:
                        	//不是在这里更改UI哦,只是说在这个时间,你可以去做更改UI这件事情,改UI还是得在主线程。
                            Log.e(TAG, "4.主线程知道Download线程开始下载了...这时候可以更改主界面UI");
                            break;
                        case DownloadThread.TYPE_FINISHED:
                            Log.e(TAG, "7.主线程知道Download线程下载完成了...这时候可以更改主界面UI,收工");
                            break;
                        default:
                            break;
                    }
                    super.handleMessage(msg);
                }
            };
            //子线程注入主线程的mUIhandler,可以在子线程执行任务的时候,随时发送消息回来主线程
            mHandlerThread.setUIHandler(mUIhandler);
            //子线程开始下载
            mHandlerThread.startDownload();
        }
    
        @Override
        protected void onDestroy() {
            //有2种退出方式
            mHandlerThread.quit();
            //mHandlerThread.quitSafely(); 需要API>=18
            super.onDestroy();
        }
    }
    
    1. 运行结果log如下
      在这里插入图片描述
    总结

    HandlerThread继承自Thread,因此HandlerThread其实就是一个线程。
    线程开启时也就是run方法运行起来后,线程同时创建一个含有消息队列的looper,并对外提供自己这个对象的get方法,这就是和普通的Thread不一样的地方。可用于多个耗时任务要串行执行。比如涉及到异步任务执行并且要发消息给主线程更新UI,这时候就可以使用HandlerThread,当然,你也可以使用普通的Thread子线程去实现,但免不了要自己创建Looper、MessageQueue等消息机制的对象,既然Android有封装好的提供给我们,那又何必多此一举

    通过上面的了解,很明显的可以看出,handlerThread在一个子线程里面封装好了looper和handler,所以这就是为什么在子线程里面使用handlerThread直接run就可以了。

    在getLooper里面,handlerThread对线程是否存在加了一个判断,因为handler在主线程,而handlerThread创建的Looper在子线程,如果子线程没有创建或者子线程的Looper没有创建,那handler也不知道给谁发消息。所以这里handlerThread加了一层判断,确保子线程的Looper创建。

    关于handlerThread的使用场景,一般就是在子线程中使用,因为如果按照正常的handler使用的话,需要自己额外在子线程新建一个Looper(由于主线程已经默认有一个Looper了,所以在主线程可以直接用handler)。例如在子线程不断地获取数据更新UI的时候,就可以用到handlerThread。

    展开全文
  • final关键字概念四种用法

    千次阅读 2022-03-22 16:41:16
    含义:final关键字代表最终的、不可改变的 ...作用:使用当前这个类不能任何子类(“太监类”),例如被final修饰过后的父类,子类将不再能进行继承 举例: //父类 public final class Father {//添加f
  • python——class类和方法用法详解

    万次阅读 多人点赞 2020-08-07 16:17:00
    因为一直不太清楚面向对象的类和方法的编程思想,所以特地补了一下python-class的知识,在这里记录分享一下。 文章目录类和方法的概念实例1.python类:`class`2.类的构造方法`__init__()`3.类中方法的参数`self...
  • 顿号逗号分号间的区别是什么?

    千次阅读 2020-12-29 04:10:05
    而逗号哪些用法呢?以下是由小编整理关于逗号如何使用的内容,希望大家喜欢!逗号汉语用法句子内部主语谓语之间如需停顿,用逗号。例如:我们看得见的星星,绝大多数是恒星。句子内部动词宾语之间如需停顿,用...
  • beforeafter区别 after的用法

    千次阅读 2020-12-21 21:20:49
    beforeafter区别 after的用法beforeafter区别 after的用法相关问题:匿名网友:一、意思不同1、before作连词意思是在 ... 以前。作介词意思是在 ... 以前;在..前面。作副词意思是以前;以往;之前。2、after作...
  • }while(i ) whiledo…while功能其实类似,不同的是while是先判断后执行,而do…while是先执行后判断。 举例: // 尽管i=11不满足i但依旧会输出 // do...while会保证循环体至少执行一次,而while不能 var i = 11; ...
  • vuex的五个属性及用法

    万次阅读 2022-03-31 17:15:14
    vuex是一个个专为 Vue.js 应用程序开发的状态管理工具,它采用集中式存储管理应用的所有组件的状态,而更改状态的唯一方法就是在mutaions里修改state,actions不能直接修改state state 数据存贮 getter state的计算...
  • Vue中Vuex的五个属性基本用法

    万次阅读 2022-06-13 18:01:01
    一、Vuex的五个核心概念:state、getters、mutations、...每个mution 都一个字符串的事件类型(type)一个回调函数(handler)。 回调函数就是我们实际进行状态更改的地方,并且它会接受 state作为第一个参数,
  • MOV,MOVX,MOVC区别和用法

    千次阅读 2020-05-26 14:16:10
    换句话说MOVX MOVC是针对两种不同的存储器而言,一个是片外数据存储器,另一个却是程序存储器。 由于内部外部ROM的地址是连续的,故用MOVC一条指令即可;片内数据存储器片外数据存储器的地址部分(0000H-00F
  • Python中input函数的用法什么

    万次阅读 2020-12-28 19:03:54
    “input()”函数是输入函数,用于接受一个标准输入数据,且返回string类型。在Python3中,去除了“raw_input()”函数,仅保留了“input()”函数,其接收任意任性输入,将所有...注意:在Python3中,raw_input()in...
  • localStorage 用法及使用注意事项

    万次阅读 2019-05-17 11:01:29
    localStorage 用法及使用注意事项 localStorage 介绍 在HTML5中,为了解决cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),增加了一个 localStorage,主要是用来作为本地存储的;localStorage 中一般...
  • @RequestParam@PathVariable的用法与区别

    万次阅读 多人点赞 2018-12-13 10:14:30
    SpringBoot——@PathVariable URL变量 Web应用中的URL通常不是一成不变...我们不能对于每一个用户都编写一个被@RequestMapping注解的方法来处理其请求,也就是说,对于相同模式的URL(例如不同用户的主页,他们...
  • c语言,goto用法,goto最强使用方法

    万次阅读 多人点赞 2017-10-17 17:51:27
    1:先说goto的基本语法 2:goto语句啥毛病,goto来回这么跳,在程序庞大后,在调试时很难找到错误,所以E...3:goto容易出错,但其仍然存在的价值,在单个函数中使用goto基本不可能出错,goto在程序反操作上很好用
  • static的用法【详解】

    千次阅读 多人点赞 2022-04-18 13:37:19
    本期介绍 主要介绍:何为static,static修饰局部变量、全局变量、函数时会发生的变化,产生这些变化的本质原因是什么。。 目录 概述 用法 修饰局部变量 ...在C语言中static是一个用来...static三种不同用法:1.修.
  • blastn、blastp、blastx、tblastntblastx的区别与用法

    万次阅读 多人点赞 2019-09-12 09:05:52
    blastn:是将给定的核酸序列核酸数据库中的序列进行比较;...Tblastn:将给定的氨基酸序列核酸数据库中的序列(双链)按不同的阅读框进行比对,对于寻找数据库中序列没有标注的新编码区很...
  • 多态重载的区别及用法

    万次阅读 2020-07-21 08:57:23
    方法的重载返回值类型无关,他只需要满足两个条件: 1)方法名相同 2)参数个数或参数类型不同 public class E12 { public int add(int x,int y){ return x+y; } public int add(int x,int y,int z){//参数
  • bue的两种创建方法及使用方法
  • 破折号不同的是破折号可以表示声音的延续但是无法体现出抑扬摇曳的意味,所以象声号破折号还是有所区别的。 大男孩的胳膊给老妇人抱住,不能取那翡翠簪儿,“哇~~”突然哭起来了。(叶圣陶《夜》) “咳~~开...
  • Python中except用法和作用

    万次阅读 多人点赞 2019-08-29 10:21:39
    Python的except用来捕获所有异常...以下是使用except的一个例子: try: foo = opne(”file”) #open被错写为opne except: sys.exit(”could not open file!”) 因为这个错误是由于open被拼写成opne而造成的,然...
  • whiledo-while的使用方法

    千次阅读 2021-03-05 21:53:31
    while循环开始后,先判别条件能否满足,假如满足就执行循环体内的语句,执行终了后...举个例子:do-while循环while循环的不同在于:它先执行循环中的语句,然后再判别表达式能否为真, 假如为真则继续循环;假如为假,...
  • Switch使用方法

    万次阅读 2021-03-26 14:30:25
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、switch语句用法注意事项,如何正确使用switch语句? 二、使用步骤 1.使用default语句 2.使用 3.嵌套使用 3.tips 总结 前言 相...
  • Excel中int函数的操作步骤如下:使用此函数需要注意:1. INT函数是取整函数;2. 不进行四舍五入直接去掉小数部分取整;3. INT函数处理负数的小数时总是向上进位的。我们实例说明一下此函数的具体用法:在B1单元格中...
  • vue-routerlocation.href的用法区别

    万次阅读 多人点赞 2020-05-25 15:40:14
    vue-routerlocation.href的用法区别 ①vue-router使用pushState进行路由更新,静态跳转,页面不会重新加载;location.href会触发浏览器,页面重新加载一次 ②vue-router使用diff算法,实现按需加载,减少dom操作 ...
  • final关键字用法及详解

    千次阅读 2020-10-12 18:29:19
    在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量局部变量)。 下面就从这三个方面来了解一下final关键字的基本用法。 1.修饰类: 修饰一个类的时候,该类不可被继承. 需要注意的是: final修饰的类,...
  • static关键字的用法与作用

    万次阅读 多人点赞 2018-08-29 21:17:44
    不同于其他关键字,他们都多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。下面我们先来了解一下static关键字及其用法。 总结(个人觉得概括的很不错的,所以转载了。) static是java...
  • App Apk有什么区别?

    万次阅读 2020-12-09 19:33:21
    app apk 的区别?app:apk:APPAPK的区别:微语: app: APP英文名(Application)的简称,翻译成中文叫做应用,由于智能手机的流行,现在的APP多指移动设备。(包括平板电脑、手机、其他移动设备)上的第三方...
  • Python编程学习:让函数更加灵活的*args**kwargs(设计不同数量的参数的函数)的简介、使用方法、经典案例之详细攻略 目录 *args**kwargs(设计不同数量的参数的函数)的简介 1、*用法:统计一个班内报名学...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,549,616
精华内容 2,219,846
热门标签
关键字:

和与及的用法有什么不同