草庐IT

Java线程间的通信

全部标签

javascript - 用于服务器到服务器通信的 Node.js

我想知道node.js是否适用于实际上不与浏览器通信的服务器端应用程序,或者浏览器通信只是整个应用程序的附加部分,而不是用于管理。这个想法很简单:服务器从另一台服务器接收大量UDP流量以及包含用户数据的短消息。对于每条消息,应用程序执行数据库查找并过滤掉用户ID不在白名单中的消息。处理过滤后的消息,导致另一个数据库更新,或将数据发送到另一个服务器。这种情况是学习node.js的好场景,还是与JavaEE相比没有任何好处? 最佳答案 免责声明:我在一家为node.js做出贡献并推广其使用的公司工作,因此我的观点可能有偏见。正如其他人在

javascript - 使用 postmessage 与 iframe 通信 - 错误在哪里?

我有一个Greasemonkey脚本,它应该向嵌入式iframe发送一个后置消息,在该iframe中,相同的脚本启动一个函数。我的注意力是发送一个简单的消息来触发iframe中的一个函数。该网站和iframe不在同一域中。我的js技术很差,找不到问题。感谢阅读//==UserScript==//@nameTest//@namespace//@includedomainA//@includedomainB//@version1//@grantnone//==/UserScript==if("domainA"===location.hostname){if(window===top)//p

单独线程上的 Javascript 回调函数

Javascript是单线程的。那么回调函数及其包含函数是否在与主循环/事件循环相同的线程上执行?database.query("SELECT*FROMhugetable",function(rows){//anonymouscallbackfunctionvarresult=rows;console.log(result.length);});console.log("Iamgoingwithoutwaiting...");如果query()方法及其回调函数与事件循环在同一线程上执行,则会发生阻塞。如果不是,为什么Javascript被称为单线程?任何人都可以帮助验证javascri

javascript - 如何调试 Chrome Javascript 中 GC 事件之间看似长时间的停顿

我一直在尝试优化一个Angular网站,但在某些路由之间切换时,我的页面响应出现大量延迟。显示的每个页面都不大,但其中包含相当数量的元素和合理数量的绑定(bind)。我已经用bindonce做了我能做的,所以我用Chrome查看了调试器,我发现我的大部分时间似乎都花在了GC上。奇怪的是,每个GC之间似乎存在巨大的差距,我正试图弄清楚这些差距到底是什么。我猜是在它实际删除项目时,小条是在进行标记和清除时,但我对分析JS的这种深度并不熟悉。我的大部分工作都是在C++/C#/Java中完成的。 最佳答案 在半秒内收集了超过20MB的垃圾。

javascript - 将 JavaScript 回调传递给在另一个线程中调用它的 FFI 函数是否安全?

我有一个C函数,它接受回调并在另一个线程上调用它:voidcall_in_new_thread(void(*callback)()){//spawnanewthreadandcall`callback`init...}我想通过Node-FFI从JavaScript调用这个函数,将一个JavaScript函数传递给它:varcallbackType='pointer'varlib=ffi.Library('mylib',{'call_in_new_thread':['void',[callbackType]],})varcallback=ffi.Callback('void',['voi

Java 网络编程 —— ServerSocket 详解

构造ServerSocketServerSocket的构造方法有以下几种重载形式ServerSocket()throwsIOExceptionServerSocket(intport)throwsIOExceptionServerSocket(intport,intbacklog)throwsIOExceptionServerSocket(intport,intbacklog,InetAddressbindAddr)throwsIOException参数port指定服务器要绑定的端口(即服务器要监听的端口),参数backlog指定客户连接请求队列的长度,参数bindAddr指定服务器要绑定的I

Java的对象包装器 & 自动装箱

有时,需要将int这样的基本类型转换为对象。所有的基本类型都有一个与之对应的类。例如,Integer类对应基本类型int。通常,这些类被称为包装器(wrapper)。这些对象包装器类拥有很明显的名字:Integer、Long、Float、Double、Short、Byte、Character、Void和Boolean(前6个类派生于公共的父类Number)。对象包装器类是不可变的,即一旦构造了包装器,就不允许更改包装在其中的值。同时,对象包装器类还是final,因此不能定义它们的子类。有一个很有用的特性,从而更加便于添加int类型的元素到ArrayList中。下面这个调用list.add(3)

javascript - 尝试在 chrome 扩展程序(JavaScript)中从 default_script 到 content_script 的通信不起作用

好吧,我正在通过扩展程序更改网站的配色方案,这是我第一次使用content_scripts所以是的,我是一个完全的新手,请随意对待我。问题是tabs.connect它不工作,我需要选项卡ID还是什么?这是我到目前为止所拥有的:list.json:{"manifest_version":2,"name":"ROBLOXColorScheme","description":"Editthecolorschemeoftherobloxbar!Note:Notcreatedbyroblox.","version":"1.0","permissions":["","tabs"],"browser

javascript - 基于java脚本中嵌套对象数组中的键对列表进行排序的最佳方法

我有以下内容:varlist=[{"item":[{a:5,a1:6,a2:7},{b:3,b1:4,b2:2}]},{"item":[{a:1,a1:2,a2:3},{b:4,b1:5,b2:6}]},{"item":[{a:2,a1:7,a2:4},{b:3,b1:7,b2:1}]}];假设我有上面的变量list,我怎样才能对它进行排序,使得list中具有item键的所有直接对象>根据键(即"a1"或"b")按升序排序。请注意,它不会更改或重新排序list[x]["item"]中的列表,而只会更改list[x]中的直接项目。标准排序函数似乎只对数组中对象内的键进行排序,但我想根据位

javascript - 如何在两个浏览器窗口之间进行通信?

我有父浏览器窗口P。单击一个按钮,将打开一个新的浏览器窗口WIN-A。然后再次按下相同的按钮,它应该读取WIN-A窗口的标题并打开WIN-B如何使用Javascript实现这一点?提前致谢 最佳答案 给定:varmyWindow=open("foo.bar");旧方法:更改窗口对象的name属性:myWindow.name="...";//infoo.bar:setInterval(someFunctionToCheckForChangesInName,100);HTML5方法:调用window对象的postMessage方法:my