这更多是关于使用V8引擎的Node.JS.这是也用于Google Chrome的JavaScript引擎.
我听说V8非常快,不仅适用于Node,也适用于浏览器.但是,我注意到JavaScript的一个原因是类型不是为变量编码的.
要在Java中实现这一点,您需要一个Object变量类型.例如,在for循环中,这将显着降低效率:
for (var i = 0; i < array.length; i++) {}
Run Code Online (Sandbox Code Playgroud)
我的问题是,V8如何处理变量类型?它是否知道这个i变量总是一个int或long?(我认为这不太可能因为i++有能力将a转换long为a double.)
或者V8是否以无关紧要的方式处理事物?我认为JIT编译器将创建的一些简单示例将非常有用.Java和JavaScript都有JIT编译器将代码转换为C.
我不是C程序员,但我很想知道如何处理类型,以及Java在该领域是否真的更有效.(是的,我知道I/O对于大多数程序来说比类型处理更重要)
以 root 身份运行的 Node.JS 程序是否可以在运行时降低其权限?这将是它首先要做的事情之一,目的当然是限制它可能造成的损害,以防万一出现漏洞或在此过程中运行不可信的代码。
或者,是否有一种方法可以让以 root 身份运行的 Node.JS 进程启动一个单独的非 root 进程?(最好中间不加一层,比如sudo)
到目前为止,我看到了这些好处:
但是,使用if语句和正则表达式(这就是我在Perl和Java中已经完成的工作)以及postdata和静态文件服务很容易完成路由 - 这就是有一个模块.因此Express是开箱即用处理这些东西还是我缺少一个更重要的功能?
也许这是我的观点..我正在编写自己的网络服务器作为一个更大的项目的一部分,所以也许只是我正在取代Express更明显的功能,而许多开发人员希望网络服务器可以立即使用?
另一方面,我认为人们通常会在TCP端口上监听应用程序,然后使用ngix或其他HTTP代理服务器进行路由?Express应该取代这个型号吗?
input, select { padding: 2px; border: solid 1px red; }Run Code Online (Sandbox Code Playgroud)
<input value="Foo">
<select><option>bar!</option></select>Run Code Online (Sandbox Code Playgroud)
尽管它们都有相同的padding和border-width,但结果<select>显然比相应的要高<input>。(在火狐浏览器中测试)
您能解释一下身高差背后的原因吗?如果我删除padding或border-width规则,那么问题就会消失。不幸的是,这对于我的项目来说不是一个好的解决方案。
我希望拥有跨浏览器一致的像素完美布局,即使是移动浏览器也是如此。到目前为止,我一直保持与 for 不同的for padding,但如果我可以对两者使用一种设置,我会更喜欢。<select><input>
我们发现了一个简单的 CSS 规则来解决Firefox 中关于 s 的类似问题<button>。我知道这可能没那么简单,因为<select>我发布这个问题是为了确定答案。
我写了一个输出用法提示的程序.它当前回传到jar最初在命令行上输入的主文件的路径.
Usage: java -jar path/to/MyJar.jar <params> ...
Run Code Online (Sandbox Code Playgroud)
为了完整起见,我想,以确保该java位被回送为好,因为有不同的方法来访问java,(不仅仅是单词java,并比典型路径短于/us/opt/java-1.8.0-u123/bin/java)
Usage: /us/opt/java7/bin/java -jar MyJar.jar <params> ...
Usage: ./bin/java -jar MyJar.jar <params> ...
Usage: java -jar MyJar.jar <params> ...
# whatever the user typed in
Run Code Online (Sandbox Code Playgroud)
如何确定用于唤起JVM的命令行?
在评估符号链接之前,我想要原始的命令行值.
我没有使用,System.getProperty("java.home")因为它不尊重原始命令行值,只是JVM的最终"规范"位置.(使用注释Usage: /us/opt/java-1.8.0-u123/jre/bin/java -jar ...会比较冗长,
特别是在java命令行中使用simple 时.)
是否java使用纯Java代码确定可能的命令行位置?
(即不使用包装脚本bash)
我想把它放在unix可执行文件的顶部.就在这之后#!
我知道这看起来很傻,但我想提出建议.
我不断收到给定对象不存在函数(重命名)的错误.是否有发布或设置或其他东西使它工作?
javascript compiler-construction jquery google-closure google-closure-compiler
如果有一个项目在一个表上有一个读锁定一整分钟,那么其他项目仍然可以不间断地读取同一个表.
所以我可以有这个时间表
A对一分钟B,C,D,E ......进行读锁定,还有更多内容仍然可以从该表读取而没有问题
但是说T要求写锁定.T必须等待..似乎UVW都在等待T ,,即使UVW只是要求读锁定而T还没有实际获得它的锁定.
是否可以禁用此先入先出优先级并使读锁优先于写锁?
编辑:也许有一些低优先级的开关,我可以把我的更新命令?我希望它是同步的(因此线程可以等到它完成,即使它是低优先级).
如果我使用连接new Socket("unit.domain.com", 100)并且unit.domain.comDNS记录在A记录中有多个IP地址..如果连接失败,Java是否会像浏览器一样自动连接到列表中的其他地址之一?还是必须手动实施?
我正在计划开发一个Android应用程序,需要后端服务器与应用程序的其他用户同步数据.我打算在unix服务器上运行的标准java中编写这个服务器.
我曾经直接在两个Android设备之间做过这个,在这种情况下,我只是序列化了两端需要发送的所有数据.
但是我怀疑Dalvik序列化的格式与Java SE的格式不兼容.是这样的吗?如果是的话,我的替代方案是什么?我想到的一件事是将原始xml发送到套接字上,但如果有更好的选择,我会很高兴听到它们.
谢谢.
java ×3
javascript ×2
node.js ×2
android ×1
command-line ×1
concurrency ×1
connection ×1
css ×1
dalvik ×1
dns ×1
express ×1
failover ×1
html-select ×1
jquery ×1
mysql ×1
padding ×1
performance ×1
security ×1
shell ×1
tcp ×1
types ×1
unix ×1
v8 ×1
variables ×1