精华内容
下载资源
问答
  •  下面举个简单的例子来说明LI、Lv刻度的使朋方法:例如用Ωx100档来测量某元件的电阻时,如果测的阻值为1000Ω同时看LI刻度上为0.75mA,看Lv刻度上的数值为0.75V(即表示该元件两端的电压为0.75V),其内部流过的...
  • 所谓的CAR意思为承诺访问速率,对个端口或端口的进出流量速率按某个标准上限进行,对流量进行分类,划分不同的QoS优先级,只能对IP包起作用,对非IP流量不能进行。
  • 那时候我记得老师在讲单片机的时候,只讲汇编指令,讲了个学期,什么是单片机没讲,单片机的开发环境没讲,单片机的方式没讲。现在想想,真想穿越回去,抽他两个嘴巴。 单片机的拉电流和灌电流都是对单片机的...
  • <div id="GEN.1.9" class="v"><span class="vn">9</span> 神说:“天下的水要聚在处,使旱地露出来。”事就这样成了。 <div id="GEN.1.10" class="v"><span class="vn">10</span> 神称旱地为地,称水的聚处为...
  •  如何理解什么是网络劫持?看看下面的例子。 某家乐福一共三层,层是快消品(食品)、二楼生活家居用品,三楼家电电子数码和办公用品。 必须坐电动扶梯到三楼才能到入口。然后层从内部扶梯下到楼收银,...

      先看看怎么检测自己的网站是不是有劫持的情况?
      iis7网站监控
      网站是否被劫持、DNS是否被污染、网站打开速度测试的检查。
      如何理解什么是网络劫持?看看下面的例子。
      某家乐福一共三层,一层是快消品(食品)、二楼生活家居用品,三楼家电电子数码和办公用品。
      必须坐电动扶梯到三楼才能到入口。然后一层一层从内部扶梯下到一楼收银,然后出口。这其实也是大部分大型商超的常规设计方法。
      目的是强制你尽可能多的经过他们的柜台,这类商超通常流量最大的就是生活快消品,而你为了买到这些东西不得不“经过”其他你原本不需要的商品柜台,设计者的目的自然是希望你看到那些商品时突然产生(或发现自己的)购买欲,进而增加他们的销量。
      套上网络劫持的模样理解就是,你需要走过的路径是从你的电脑(手机)到家用路由器,再到小区交换机——小区路由——电信(网通)交换机、路由、网管——地(县市)网管路由等各种终端。
      然后再到更高级别的网关(不再一一列举),在这个过程中你经过的每一个网络设备都可以在他的管辖范围内任意修改你的路劲。
      比如你要访问A网站,他们中的任意一个都可以把你解析到B网站,甚至你已经连接到A网站,它可以把你原本要搜索的内容替换成别的内容。
      也可以在你访问正常的网址,搜索正常的内容后,把网站原本要发送给你的内容替换成别的内容。
      这就是网络劫持,这样说应该比较好理解了吧。

    转载于:https://www.cnblogs.com/goodcola/p/11511593.html

    展开全文
  • 用 matlab 画 cantor 三分集 摘要: 本文介绍了分形几何中的 cantor 三分集 并且给了 MATLAB 程序以及运行结果分形作为双曲迭代函数系统的吸引 根据程序中的迭代将分形模拟确为迭代法 关键词 分形几何cantor 三分...
  • 先做个试验,我们在线程中调用toast,看看有什么效果,按照上边句话的意思,这里应该会报错显示不能再线程中刷新ui吧 val thread = object : Thread() { override fun run() { Toast.makeText(this@...

    Android人知道在安卓中不能在子线程中更新ui,为什么呢?真的不能吗?

    先做个试验,我们在子线程中调用toast,看看有什么效果,按照上边一句话的意思,这里应该会报错显示不能再子线程中刷新ui吧

    val thread = object : Thread() {
        override fun run() {
            Toast.makeText(this@MainActivity, "123", Toast.LENGTH_LONG).show()
        }
    }
    thread.start()
    

    不出意外的崩溃了:

    java.lang.RuntimeException: Can't toast on a thread that has not called Looper.prepare()
        at android.widget.Toast$TN.<init>(Toast.java:397)
        at android.widget.Toast.<init>(Toast.java:117)
        at android.widget.Toast.makeText(Toast.java:280)
        at android.widget.Toast.makeText(Toast.java:270)
    

    日志可以发现,结果并不像我们想的那样,而是告诉我们需要一个looper,这个错误看着有点眼熟,了解过Handler构造函数的知道,new Handler的时候,如果没有取到当前线程的Looper也会报类似的错误。那是不是我们在toast show之前调用Looper.prepare()就能显示toast了呢?看代码:
     

    val thread = object : Thread() {
        override fun run() {
           Looper.prepare()
           Toast.makeText(this@MainActivity, "123", Toast.LENGTH_LONG).show()
           Looper.loop()
        }
    }
    thread.start()
    

    运行后发现确实没问了。当然这里执行的结果就是我们的线程不能退出了。那toast到底是怎么显示出来的呢?

    首先看看Toast源码:

    Toast.makeText(this@MainActivity, "123", Toast.LENGTH_LONG).show()
    

    上边是调用Toast的方式,我们从makeText开始看起

    public static Toast makeText(Context context, CharSequence text, @Duration int duration) {
        return makeText(context, null, text, duration);
    }
    
    public static Toast makeText(@NonNull Context context, @Nullable Looper looper,
            @NonNull CharSequence text, @Duration int duration) {
        //构造Toast实例
        Toast result = new Toast(context, looper);
    
        //组装布局
        LayoutInflater inflate = (LayoutInflater)
                context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View v = inflate.inflate(com.android.internal.R.layout.transient_notification, null);
        TextView tv = (TextView)v.findViewById(com.android.internal.R.id.message);
        tv.setText(text);
    
    
        result.mNextView = v;
        result.mDuration = duration;
    
        //组装后的toast实例
        return result;
    }
    

    看看Toast的构造方法

    public Toast(@NonNull Context context, @Nullable Looper looper) {
        mContext = context;
        mTN = new TN(context.getPackageName(), looper);
        mTN.mY = context.getResources().getDimensionPixelSize(
                com.android.internal.R.dimen.toast_y_offset);
        mTN.mGravity = context.getResources().getInteger(
                com.android.internal.R.integer.config_toastDefaultGravity);
    }
    

    这里有个关键的对象TN,TN是个什么呢?

    private static class TN extends ITransientNotification.Stub {
    ...
    }
    

    他其实是一个binder对象,具体的咱先不说,先看看他的构造函数

    TN(String packageName, @Nullable Looper looper) {
        // XXX This should be changed to use a Dialog, with a Theme.Toast
        // defined that sets up the layout params appropriately.
            //第一部分,设置window参数
        final WindowManager.LayoutParams params = mParams;
        params.height = WindowManager.LayoutParams.WRAP_CONTENT;
        params.width = WindowManager.LayoutParams.WRAP_CONTENT;
        params.format = PixelFormat.TRANSLUCENT;
        params.windowAnimations = com.android.internal.R.style.Animation_Toast;
        params.type = WindowManager.LayoutParams.TYPE_TOAST;
        params.setTitle("Toast");
        params.flags = WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
                | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
                | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;
    
    
        mPackageName = packageName;
    
        //第二部分,拿当前线程的looper,当然这里取到的looper取决于当前代码执行所在的线程
        if (looper == null) {
            // Use Looper.myLooper() if looper is not specified.
            looper = Looper.myLooper();
            if (looper == null) {
                throw new RuntimeException(
                        "Can't toast on a thread that has not called Looper.prepare()");
            }
        }
    
        //第三部分,创建handler关联looper
        mHandler = new Handler(looper, null) {
            @Override
            public void handleMessage(Message msg) {
                switch (msg.what) {
                    case SHOW: {
                        IBinder token = (IBinder) msg.obj;
                        //第四部分,显示toast
                        handleShow(token);
                        break;
                    }
                    case HIDE: {
                        handleHide();
                        // Don't do this in handleHide() because it is also invoked by
                        // handleShow()
                        mNextView = null;
                        break;
                    }
                    case CANCEL: {
                        handleHide();
                        // Don't do this in handleHide() because it is also invoked by
                        // handleShow()
                        mNextView = null;
                        try {
                            getService().cancelToast(mPackageName, TN.this);
                        } catch (RemoteException e) {
                        }
                        break;
                    }
                }
            }
        };
    }
    

    上边代码好像能看出点东西了,可以看到,文章开头的错误是在这里报出来的,另外toast的显示隐藏都是在一个handler中操作的,这个handler关联的正是我们toast所在的线程的looper,这就可以看出来子线程是可以更新toast的,前提是需要提供looper。

    展开全文
  • 应该先给xml的格式定义,再讲述生成xml文件的关键代码,例如先创建个builder,再如何创建节点,如何新增节点属性,如何添加节点内容,如何创建节点或者 是你可以举个只包含一道选择题,一道填空题和一道编程题...
  • 方法重载发生在同个类里两个或多个方法的方法名相同但是参数列表不同1)方法重写的原则: 方法名、参数列表必须与原方法相同 返回类型可以相同也可以是原类型的类型(从Java SE5开始支持) 重写方法的访问权限不...

    方法重写是子类重新定义父类的方法
    方法重载发生在同一个类里两个或多个方法的方法名相同但是参数列表不同

    1)方法重写的原则:

    • 方法名、参数列表必须与原方法相同
    • 返回类型可以相同也可以是原类型的子类型(从Java SE5开始支持)
    • 重写方法的访问权限不允许缩小,不能比原方法访问性差
    • 重写方法不能比原方法抛出更多的异常
    • final修饰的方法是无法重写的
    • private修饰的方法是无法重写的
    • static修饰的方法是无法重写的
    • 重写发生在运行时,因为编译时编译器不知道并没办法确定该去调用哪个方法,JVM会在代码运行的时候作出决定

    2)方法重载的原则:

    • 方法名必须相同
    • 参数列表必须不同(个数、类型、顺序)
    • 返回类型可相同可不相同
    • 重载发生在编译时,因为编译器可以根据参数的类型来选择使用哪个方法

    PS:父类的一个方法只能被子类重写一次,而一个方法可以在所有的类中被重载多次;重载是编译时多态,重写是运行时多态

    展开全文
  • (本文内提到的书单笔者整理份电子档作为分享,文末有免费获取方式) 网络框架、中间件、容器、并发编程、虚拟机等最近几年在互联网行业是越来越火热,Netty、Docker、并发编程、虚拟机也是程序员不得不掌握...

    前言

    我想对所有程序员说:除了看视频、做项目来提高自身的技术之外,还有一种提升自己的专业技能就是:多!看!书!(本文内提到的书单笔者整理出了一份电子档作为分享,文末有免费获取方式)

    网络框架、中间件、容器、并发编程、虚拟机等最近几年在互联网行业是越来越火热,Netty、Docker、并发编程、虚拟机也是程序员不得不掌握的技术点,掌握熟练这些技术点,必能让你在“互联网寒冬”的这场大战中立于不败之地!今天我们就来了解当下最流行的那些新兴技术。

    正文

    现在市面上的算法资料也五花八门,种类繁多,小编也整理了一份不同于市面且有意思的算法资料,不能说多全面,但是是小编花了很长时间整理归纳出来的,自我感觉还行。分享给同事及群里反响都不错,所以小编打算分享出来给大家,可以一起探讨完善,觉得不错的话可以点赞,以下就是具体内容 :

    01 程序员与算法

    • 什么是算法
    • 程序员必须要会算法吗
    • 算法的乐趣在哪
    • 算法及代码

    02 算法设计的基础

    • 程序的顺序执行、循环结构、分支跟跳转结构、
    • 基本数据结构在算法设计中的应用
    • 复杂数据结构在算法设计中的应用
    • 数据结构与数学模型与算法的关系

    03 算法设计的常用思想

    • 贪婪法
    • 分治法
    • 动态规划
    • 解空间的穷举搜索

    04 阿拉伯数字与中文数字

    • 中文数字的权位和小结
    • 阿拉伯数字转中文数字
    • 中文数字转阿拉伯数字
    • 数字转换的测试用例

    05 三个水桶等分8升水的问题

    06 RLE压缩算法与PCX图像

    • 连续重复数据的处理
    • 连续非重复数据的处理
    • 算法实现

    07 实验数据与曲线拟合

    • 曲线拟合的定义
    • 最小二乘法曲线拟合
    • 三次样曲线拟合

    08 计算几何与计算机图形学

    • 计算几何的基本算法
    • 直线生成算法
    • 圆的八分对称性
    • 种子填充算法
    • 改进的扫描线填充算法

    09 全局最优解与遗传算法

    • 遗传算法的基础概念
    • 基因编码和种群初始化
    • 交叉算子、变异算子

    10 计算机程序与大整数计算

    • 大整数加法、减法、乘法
    • 大整数类的数据

    11 RAS算法

    • 将模幂运算转化为模乘运算
    • 模乘运算与蒙哥马利算法
    • RSA算法的数学理论
    • 加密和解密算法
    • RSA算法的安全性
    • 数据块分组加密
    • 字节流与大整数的转换
    • 数据加密算法实现

    12 A*寻径算法

    • 寻径算法演示程序
    • Dijkstra算法原理、实现、演示程序
    • A*算法原理与实现

    13 算法设计的常用技巧

    • 数组下标处理
    • 一重循环实现两重循环的功能
    • 棋盘类算法方向遍历
    • 代码的一致性出炉技巧
    • 链表和数组的配合使用
    • “以空间换时间”的常用技巧

    面试题总结

    面试文件获取方式:戳这里免费下载(助你面试无忧)

    其它面试题(springboot、mybatis、并发、java中高级面试总结等)

    DSmxTbFJ1cmN1R2dB)**

    其它面试题(springboot、mybatis、并发、java中高级面试总结等)

    [外链图片转存中…(img-5loTsLA8-1624035447747)]

    [外链图片转存中…(img-FJ2Xb22a-1624035447748)]

    展开全文
  • 从字面意思就很好理解,就是从系列顺序输入中,寻找个上升序列,要求这个序列的长度最长。对O(n^2)的解法(DP)这里不讨论了,主要说一下nlgn的解法。网上查了一下,都是通过维护个数组来实现该算法,但是...
  • 先做个试验,我们在线程中调用toast,看看有什么效果,按照上边句话的意思,这里应该会报错显示不能再线程中刷新ui吧 val thread = object : Thread() { override fun run() { Toast.makeText(this@...
  • Java中的方法覆盖(Overriding)和方法重载(Overload)是什么意思? 方法重写的原则: 重写方法的方法名称、参数列表必须与原方法的相同,返回类型可以相同也可以是原类型的类型(从Java SE5开始支持)。 重写方法不能...
  • 问题抛:遇到过父元素给opacity:.1,然后元素似乎也继承了这个透明度为.1,然而给元素opacity:1十分抱歉,没有任何效果,到底是为什么? 另外个问题是明明有元素z-index值是小于某元素z-index,但是仍然不...
  • 数组之和

    2016-05-11 17:03:12
    题目描述:给定个整数数组,找到和为零的数组。你的代码应该返回满足要求的数组的起始位置和结束位置 样例:给 [-3, 1, 2, -3, 4],返回[0, 2] 或者 [1, 3]. 求和为0的数组,穷举当然能解决。...什么意思
  • 中午一下课,和朋友一起跑着校门,我买饼(胡萝卜青椒饼5毛个,实惠好吃),朋友去网吧占机器,当时不用刷身份证,只需要输入身份证号码就好(上机用的我爸身份证,所以我爸莫名其妙地间断性的在网吧玩了两...
  • 看到这图片就能想到句诗:天下风云我辈,入江湖岁月催。霸葛(BUG)需求谈笑中,不胜人生场醉。 阿子今天写这篇文章,并没有说要停更《Cocos Creator 3D研究笔记》的意思,阿子保证这个系列会更新至少过百篇...
  • 部分、什么是动态规划算法 动态规划一般也只能应用于有最优子结构的问题。最优子结构的意思是局部最优解能决定全局最优解(对有些问题这个要求并不能完全满足,故有时需要引入一定的近似)。简单地说,问题能够...
  • 这是什么意思? 我们应该能够创建hangman对象并调用该对象上的方法以更改其属性,就像最终我们将结合游戏的图形表示一样。 要求 分叉此回购 克隆此仓库 提交 完成后,运行以下命令: $ git add . $ git commit -m ...
  • 返回数组的最大和

    2019-03-10 19:53:00
    今天数组的测试,刚开始感觉逻辑很混乱,不知道从什么地方下手,后来问了个同学想到了个最繁琐的方法,建立两个数组,几个用来储存以各位数字开头的数组的和,再将每个数组的最大和存储在个新的数组中。...
  • ①请问ls -d这个命令是什么意思,看了解释也不怎么懂,就显示个 . 目录 这个指令的意义在于 如果有个workspace目录,我ls -lworkspace自能看到这个目录下面的其他目录的属性。如果是ls -dl workspace 则是显示...
  • 首先我们先理解什么结构,这里的结构不是说B只有根节点和A的某节点相连接,而是B中可能有2个以上的节点和A中节点相连接。还有一点,A中可能有多个节点值和B的根节点的值相同,所以可能要找所有A中节点值和...
  • 电子基础知识问答

    千次阅读 2013-02-05 10:52:29
    安时是什么意思? 答:是安培乘以小时的意思,因为代号AH,是电池电能容量的单位,以2A电流放电2小时,就是电池放出了4AH的电量,电动车常用的电池为12ah的容量。他的高低直接影响电动车的续行里程的长短电池经多次...
  • 后来又引申个人在困境中做绝死奋斗’的意思。所以,这其实也在暗示我们,即使是身处绝境,也不要放弃奋斗。再说了,情况其实没有这么糟糕,因为我们最新的导弹拦截系统已经研制好了。”魔法世界为了防御修罗王...
  • 什么是分而治之?

    2021-04-01 22:39:23
    什么是分而治之?首先我们从了解一下,分而治之是中国汉语里的成语,意思是①分别治理。...= N),这些子问题是相互独立且与原问题性质相同,然后求出子问题的解,就可以求出原问题的解。 利用分治算法解决问题的一般步
  • 电子通信,嵌入式工程师应对中年危机的上中下策

    千次阅读 多人点赞 2019-07-11 10:20:16
    之前火哥有篇为什么电子通信,嵌入式工程师会有中年危机的文章,给了一些中年危机的原因分析,但是并没有给意见。这篇文章我们继续聊聊这个话题,给一些建议。火哥用古代军师的风格,为如何应对中年危机提出上中...
  • 大体题意: 你在个二维坐标轴上运动,每行都有钻石,你竖直运动速度固定,是V,水平速度 是-V/R ~ ...我们可以在每个钻石求出一个覆盖范围,什么意思呢,既然水平速度 向左的最大值等于向右的最大值,那么肯定

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 322
精华内容 128
关键字:

一出子什么意思