今天在写一个android的程序时,本来想初始化一个list的集合,以避免第二次的数据添加在第一次的后面,就直接使用了对象=null,发现在给list集合添加数据后运行出现了这样的错误。...翻译下来的意思是 试图在空对象引用上调用接口方法的布尔java. U.List.Advices(java. Lang.Object)” 也就是说这个list集合并没有初始化。...查询资料后发现 比如: List list=new ArrayList(); new相当于开辟了一块新内存放入了对象,并把它的引用给了list.而 list=null 就相当于list...声明了一个空的对象的引用,并没有开辟新的空间,所以我在上面添加数据的时候就会出现空对象引用。...当然,这只是我个人的理解。学习中,还是得不断踩坑,哪怕这个坑很小。
在两个环境中看sed的命令,可以发现返回的并不相同: Linux环境中: ? linux MacOS环境中: ? MacOs 其二个显示的是所有的了,明显比linux中的命令少。...如果在MacOS中执行sed -i 命令的话,会提示:invalid command code; 改成 sed -i .bak 或者在正则表达式之前加"" (比如sed -i "" 's/ /_/g'...此外,两者对于\n的处理也不相同。 这是由于MacOS自带的sed等命令是基于BSD的,存在一些不足。
Elasticsearch中的DSL主要由两部分组成: Leaf query Cluase 暂且叫做叶查询子句吧 这种查询可以单独使用,针对某一特定的字段查询特定的值,比如match、term、range...等 Compound query Cluase复合查询子句 这种查询配合其他的叶查询或者复合查询,用于在逻辑上,组成更为复杂的查询,比如bool 查询虽然包含这两种,但是查询在不同的执行环境下,操作还是不一样的...Query与Filter 查询在Query查询上下文和Filter过滤器上下文中,执行的操作是不一样的: 查询上下文: 在查询上下文中,查询会回答这个问题——“这个文档匹不匹配这个查询,它的相关度高么?...之前说过,ES中索引的数据都会存储一个_score分值,分值越高就代表越匹配。另外关于某个搜索的分值计算还是很复杂的,因此也需要一定的时间。...过滤上下文 是在使用filter参数时候的执行环境,比如在bool查询中使用Must_not或者filter 另外,经常使用过滤器,ES会自动的缓存过滤器的内容,这对于查询来说,会提高很多性能。
最常见的类型是 http (2)host - 定义域主机(http 的默认主机是 www) (3)domain - 定义因特网域名,比如 w3school.com.cn (4):port - 定义主机上的端口号...(http 的默认端口号是 80) (5)path - 定义服务器上的路径(如果省略,则文档必须位于网站的根目录中)。...(2)在请求 src 资源时会将其指向的资源下载并应用到文档中,比如 JavaScript 脚本,img 图片; 7.2 作用结果不同 (1)href 用于在当前文档和引用资源之间确立联系; (2)src...用于替换当前内容; 7.3 浏览器解析方式不同 (1)若在文档中添加 ,浏览器会识别该文档为 CSS 文件,就会并行下载资源并且不会停止对当前文档的处理...这也是为什么建议把 js 脚本放在底部而不是头部的原因。
Expires 是参考的本地时间,如果修改本地时间,可能就会造成缓存失效。...,为什么静态资源文件改变后,再次发起请求还是之前的内容,没有变化呢?...先回答第一个问题 在页面中引入静态资源文件,为什么静态资源文件改变后,再次发起请求还是之前的内容,没有变化呢?...如果同时使用 Cache-Control 的 max-age 与 Expires,则 max-age 优先级会更高,会忽略掉 Expires 缓存单位:Expires 与 Cache-Control 两者的缓存单位都是以时间为维度...协商缓存的实现也是基于两点 Last-Modified、ETag 这个需要在 HTTP Headers 中设置。
将脚本分别保存存为不同文件会产生分离的错觉,但本质上与放在页面中的单个 中相同。 在 ES6 把原生模块添加到 JavaScript 语言之前,社区曾经尝试着提供了几种解决方案。...❞ 把 script.js 中的代码改成下面的样子: script.js import { sum, difference, product, quotient } from '....模块与常规脚本不一样的地方: 模块不会向全局(window)作用域添加任何内容。 模块始终处于严格模式。 在同一文件中把同一模块加载两次不会出问题,因为模块仅执行一次 模块需要服务器环境。...模块仍然经常与打包程序(如 Webpack)一起配合使用,用来增加对浏览器的支持和附加功能,但它们也可以直接用在浏览器中。 接下来探索更多使用 import 和 export 语法的方式。...与命名导出不同,默认导出不需要标识符——原始值本身或匿名函数都可以用作默认导出。
Maven 仓库的分类: maven的仓库只有两大类:1.本地仓库 2.远程仓库,在远程仓库中又分成了3种:2.1 中央仓库 2.2 私服 2.3 其它公共库 1.本地仓库,顾名思义,就是Maven在本地存储构件的地方.../的仓库目录,这就是Maven仓库的默认位置 如何更改maven默认的本地仓库的位置:这里要引入一个新的元素:localRepository,它是存在于maven的settings.xml文件中 1.1...远程仓库 2.1 说到远程仓库先从 最核心的中央仓库开始,中央仓库是默认的远程仓库,maven在安装的时候,自带的就是中央仓库的配置 在maven的聚合与继承中我们说过,所有的maven项目都会继承超级...必须与POM中需要认证的repository元素的Id一致。...如果依赖的版本是SNAPSHOT, 则基于更新策略读取所有远程仓库的元数据, 将其与本地仓库的对应元数据合并后,得到最新快照版本的值,然后基于该值检查本地仓库或从远程仓库下载 6.
本文已收录《Java常见面试题》:https://gitee.com/mydb/interview 方法重载是指在同一个类中,定义了多个同名方法,但每个方法的参数类型或者是参数个数不同就是方法重载...doSomething } public void method(Integer id, String name) { // doSomething } } 为什么不同返回类型不算方法重载...从方法签名的组成规则我们可以看出,方法的返回类型不是方法签名的组成部分,所以当同一个类中出现了多个方法名和参数相同,但返回值类型不同的方法时,JVM 就没办法通过方法签名来判断到底要调用哪个方法了,如下图所示...: 那为什么返回类型不能做为方法签名的一部分呢?...总结 在同一个类中定义了多个同名方法,但每个方法的参数类型或者是参数个数不同就是方法重载。方法重载的典型使用场景是 String 中的 valueOf 方法,它有 9 种实现。
按照结构生成下面几个文件 |chrome-plugin |---manifest.json |---script.js |---favicon.ico 在 manifest.json 中写入代码,这是一个入口文件...favicon.ico" }, "content_scripts": [ { "matches": ["https://github.com/*"], "js": [script.js..."] } ] } 然后在 script.js 中随便插入一段代码即可。...// script.js console.log('hello, world!') 这样一个基本的插件就构成了,下一步就是上传。...所以我们不用打包,直接加载本地文件。 然后选择写好的文件夹 点击确定上传即可,这样一个插件上传的步骤就完成了。
Java中不同包下类与类之间的访问 (1)我们多次使用一个带包的类,都需要加包的全路径,非常的麻烦,这个时候,Java就提供了导包的功能,提供了一个关键字import。...(2)格式: import 包名.包名. ...包名.类名; 这种方式导入的是:到类的名称。 另一种: import 包名.包名. ... ....(因为每一个类是一个独立的单元) 示例代码如下所示: ? ?
其实域名中是包含的有主机名的。那么域名中的主机名是什么?域名与主机名的关系是怎样的呢? 域名中的主机名是什么 主机名是包含在域名中的。其实域名中的主机名指的就是域名中的完整的子域名。...我们一般记企业域名网站的时候,只是记忆子域名就可以了,后缀基本就是com或cn,这种应用最广泛的,也最经典的后缀了。 域名与主机名的关系 1、域名是包含主机名的,就如上面所说的。...而两者的主要区别就是:域名的范围比主机名的要大。域名的入网结构包含有:主机名、机构名、网络名等,甚至还可以包含更高层的域名。通过这种分层的管理模式,以突出域名便于记忆的优点。...2、域名是可以有几个主机名的,并且还可以拥有子域名,比如:域名为tencent.com,就会有主机名为:1号.tencent.com和2号.tencent.com。...3、域名一经注册后,就是不能改变了,具有唯一性,而主机名是可以变化的。 4、域名是用于公网上的,就是我们常说的网站,而主机名主要是适用于局域网中的。 域名中的主机名是什么?就是完整的企业网址。
渲染优化 CSS放head中,JS放body后 图片懒加载 减少DOM操作,对DOM操作做缓存 减少DOM操作,多个操作尽量合并在一起执行 事件节流 尽早执行操作 DOMContentLoaded 4.... 有 async,加载和渲染后续文档元素的过程将和 script.js 的加载与执行并行进行(异步)。... 有 defer,加载后续文档元素的过程将和 script.js 的加载并行进行(异步),但是 script.js 的执行要在所有元素解析完成之后...浏览器缓存 总结的非常好 浏览器缓存 -- 缓存的分类 -- 缓存的原理 缓存就是html文件在本地存在的副本, 强缓存 发现有缓存直接用。...这两个值是由服务器生成的每个资源的唯一标识字符串,只要资源有变化就这个值就会改变;其判断过程与Last-Modified/If-Modified-Since类似,他可以精确到秒的更高级别。
0 1 原 理 首先,看看 script 引用的三种情况 情况1: 没有 defer 或 async,浏览器会立即加载并执行指定的脚本...情况2: 有 async,加载和渲染后续文档元素的过程将和 script.js 的加载与执行并行进行(异步)。...情况3: 有 defer,加载后续文档元素的过程将和 script.js 的加载并行进行(异步),但是 script.js...script 执行 情况1: 情况2: 情况3: 0 3 总结 总结 : script 是同步加载执行; async 与...defer 都是异步加载; async 文件加载完就执行,而defer 是在html解析之后,即DOMContentLoaded 事件触发之前执行;两者的执行时间不同
已经和指令打过一个照面,就不会那么陌生了,今天主要介绍的是一个困扰了我很久终于想通的问题,这个问题与scope有关,可以看做是《AngularJS入门心得1——directive和controller如何通信...从script.js中我们可以看出,加入了参数transclude和templateUrl,这两个是配合使用的。...显示到my-dialog.html中的div标签中。同时,{{name}}能够读取到指令外的作用域,即控制器中scope.name的值。 ...这是一个最干净的情况,index.html中的{{name}}的值到控制器Controller中读取为“Tobias”。 2. ...即指令直接共享外部控制器的scope,此时directive中的scope就和控制器紧密相关,所以此时,scope.name在指令的link中被重新赋值,这时候控制器和指令中的name都被更新为Jeff
如果你对 JavaScript 中的异步有一定的了解,但需要一个直观的代码案例作为参考,那么本文就是给你准备的。...我们将会先创建一个包含一些文本的文件 test.txt,然后用 script.js 来打开文件、读取内容并将其输出到终端。...~/code/ 在 script.js 文件中,输入以下代码: const fs = require("fs") function readFileCallBack() { fs.readFile...使用 Promise 修改 script.js 并添加一个使用 promise 的 readFileCallback 版本。...使用 Async/Await 修改 script.js 并添加使用 Async/Await 语法的第三个版本。
2]); a.print(); index.html 中引入 build 后的 script.js 并运行 1.3.3 nodejs...2.4 normalize (归一化) 把数据变成 0 和 1,或者是映射到 0 到 1 之间的小数,便于不同单位或量级的指标能够进行比较和加权。 3....# tf调用脚本 index.html # 入口html文件,嵌入打包后的 script.js 其中模型文件夹中包含两个模型文件...,采集一定量的训练数据后执行训练,最后保存模型到本地。...[04.png] 在 script.js 中一步步进行迁移学习并保存模型到本地: ... window.onload = async () => { // 创建语音识别器 const recognizer
async:和html解析是同步的,不是顺次执行js代码,谁先加载完先执行谁。 理解 如下引入外部js文件script.js,在script.js中打印了对应id是root的元素。...但是因为我们在head标签中先引入的外部文件,然后才去渲染的dom,所以此时结果为 null。... script.js console.log(document.getElementById('root')) 此时在,script标签中添加async或者defer,这就是延迟加载...对于数值 与非字符串类型相加,都将其转为数值 只要存在NaN,结果就是NaN Infinity + Infinity = Infinity -Infinity + ( -Infinity) =...转换时使用对象上的valueOf()或者toString()。具体使用哪个方法与调度机制有关。
同一台计算机上的不同项目可能取决于Babel的不同版本,从而允许您一次更新一个版本。 这意味着您对工作的环境没有隐式依赖。使您的项目更加可移植且易于设置。...: npm run build 这将以与以前相同的方式运行Babel,只是现在我们正在使用本地副本。...npm install --save-dev babel-cli **注意:**如果您想知道为什么要在本地安装此软件,请在上面的项目部分中阅读 “从项目中运行 Babel CLI”。...您需要做的就是在项目的根目录下创建一个 .babelrc 文件。...这几乎与预设完全相同。
介绍:回调函数 JavaScript主机环境提供了许多函数,允许您调度异步操作。换句话说,我们现在开始的行动,但它们会在稍后结束。 例如,setTimeout函数就是这样一个函数。...动态创建的新标记添加到文档中。...,我们应该把它写入回调函数中: loadScript('/my/script.js', function() { // the callback runs after the script is loaded...自然的解决方案是将第二个loadScript调用放在回调函数中,像这样: loadScript('/my/script.js', function(script) { alert(`Cool, the...幸运的是,还有其他方法可以避免这样的金字塔。最好的方法之一是使用“承诺”,这将在下一章中描述。
在理解局域网中不同网段主机之间的通信之前,我们首先要明白网络的基本组成和工作原理。局域网(LAN)是一个封闭的网络环境,通常由交换机(Switch)作为核心设备连接网络中的各个主机。...当我们谈论不同网段的主机时,实质上是在讨论它们配置的IP地址属于不同的IP地址范围。现在,假设我们有两台主机(主机A和主机B),它们连接到同一个交换机,但配置在不同的网段上。...当主机A尝试发送数据到主机B时,它首先会检查主机B的IP地址是否与自己在同一个网段。如果不在同一个网段,主机A通常会将数据包发送给其默认网关(通常是路由器),由网关负责将数据包路由到正确的目的地。...软件定义网络(SDN)通过在网络中实现SDN技术,可以在软件层面上创建灵活的网络路由策略,包括使原本不同网段的主机能够相互通信。这种方法提供了极高的灵活性,但需要相应的网络硬件和软件支持。3....结论在标准的局域网环境中,如果没有路由器或具有路由功能的设备,两个不同网段的主机默认是无法进行直接通信的。这是因为交换机不处理IP层面的路由,而是仅在数据链路层基于MAC地址转发数据帧。
领取专属 10元无门槛券
手把手带您无忧上云