是否有一种简单的编程方式可以快速"部署"并运行标准Java WAR文件进行本地测试,而无需安装和配置Tomcat或Jetty等外部软件包?理想情况下,Jetty的可嵌入功能,但专门用于WAR文件.
Java 6提供了方便的Endpoint
类,可以轻松快速部署和测试Web服务,WAR文件是否有类似的东西?例如:
AppServer as = new javax.iwish.AppServer("localhost", 8080);
as.deploy("/", new File("path/to/my.war");
as.start();
Run Code Online (Sandbox Code Playgroud) 我有List<Custom>
Custom的地方
class Custom {
public int id;
public String name;
}
Run Code Online (Sandbox Code Playgroud)
如何获取数字有多少项有不同的名称?有没有更简单的方法,而不是把所有设置和设置大小?
我不太明白node.js中回调的使用.我明白,如果你有类似的东西
result = db.execute(query);
doSomething(result);
Run Code Online (Sandbox Code Playgroud)
你应该把doSomething作为回调因为doSomething会在结果准备好之前执行.这是有道理的,因为db操作可能很昂贵.
现在让我说我有类似的东西
result = calculate(x,y)
doSomething(result)
Run Code Online (Sandbox Code Playgroud)
如果计算不贵(即没有从数据库或I/O读取),我还应该使用回调吗?如何在下一行执行之前或之后判断我的函数是否完成?
谢谢
在Ruby语言中,您可以Float
像强大的方式一样调用函数来确保参数是Float或可解析为float的字符串(包括科学记数法等).
例如:
Float(1.0) # => 1.0
Float('1.0') # => 1.0
Float('-1.23') # => -1.23
Float('-1e+2') # => -100.0
Run Code Online (Sandbox Code Playgroud)
但是,Ruby文档似乎没有在任何地方描述这种行为(Float v2.1.0,Float v1.9.3).
我在哪里可以找到此功能的文档?
我的Java GUI应用程序需要快速向最终用户显示一些文本,因此JOptionPane
实用程序方法看起来非常合适.此外,该文本必须是可选择的(用于复制和粘贴),它可能是有些长(〜100个字),所以它必须很好地适应到窗口(没有文本关闭屏幕); 理想情况下,它应该一次全部显示,以便用户可以在不需要交互的情况下读取它,因此滚动条是不合需要的.
我认为将文本放入a JTextArea
并使用该文本JOptionPane.showMessageDialog
将很容易,但它似乎截断文本!
public static void main(String[] args) {
JTextArea textArea = new JTextArea();
textArea.setText(getText()); // A string of ~100 words "Lorem ipsum...\nFin."
textArea.setColumns(50);
textArea.setOpaque(false);
textArea.setEditable(false);
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
JOptionPane.showMessageDialog(null, textArea, "Truncated!", JOptionPane.WARNING_MESSAGE);
}
Run Code Online (Sandbox Code Playgroud)
如何在没有滚动条的情况下使文本完全适合选项窗格并可选择复制/粘贴?
根据node.js文件中src/node.js
的注释,第55行,以及关于该主题的讨论主题(Standalone? - nodejs):
// To allow people to extend Node in different ways, this hook allows
// one to drop a file lib/_third_party_main.js into the build
// directory which will be executed instead of Node's normal loading.
Run Code Online (Sandbox Code Playgroud)
所以我想我可以这样做:
git clone https://github.com/joyent/node \
&& cd ./node \
&& echo 'console.log("Hello, World!");' > lib/_third_party_main.js \
&& ./configure
&& make -j4
Run Code Online (Sandbox Code Playgroud)
但是在"./node"生成的可执行文件只运行正常的REPL循环(如果给出了参数,则运行主模块),就像没有检测到"第三方主"模块一样.我希望可执行文件会改为打印"Hello,World!" (根据我的自定义主模块)并退出,这样我就可以构建一个静态链接的可执行文件,以便简单地分发基于节点的应用程序.
知道如何通过"_third_party_main"工作来获得这种"独立"构建吗?
我正在编写以下程序,从文件中读取一些文本.然后我想把这个文本分成几个空格.我曾经strtok(buffer, " ")
在空间之前得到缓冲区的第一个字.那部分工作正常.然而,在我使用之后,strtok(NULL, " ")
我得到了相同的第一个单词.我期待着回到下一个词.在将数组传递给声明如下的函数char* buffer[BUFFER_SIZE]
:
int decoder(char *buffer)
{
int reg_1 = 0;
int reg_2 = 0;
char *tok = strtok(buffer, " ");
if(strcmp(tok,"ADD") == 0)
{
strtok(NULL, " ");
puts(tok);
strtok(NULL, " ");
puts(tok);
}
}
Run Code Online (Sandbox Code Playgroud) 出于好奇,我写了一些琐碎的基准测试,将golang地图的性能与用作地图的JavaScript(v8/node.js)对象进行比较,并对其相对性能感到惊讶.JavaScript对象的执行速度大约是go map的两倍(甚至包括一些较小的性能边缘)!
这是go实现:
// map.go
package main
import "fmt"
import "time"
func elapsedMillis(t0, t1 time.Time) float64 {
n0, n1 := float64(t0.UnixNano()), float64(t1.UnixNano())
return (n1 - n0) / 1e6
}
func main() {
m := make(map[int]int, 1000000)
t0 := time.Now()
for i := 0; i < 1000000; i++ {
m[i] = i // Put.
_ = m[i] + 1 // Get, use, discard.
}
t1 := time.Now()
fmt.Printf("go: %fms\n", elapsedMillis(t0, t1))
}
Run Code Online (Sandbox Code Playgroud)
这是JavaScript:
#!/usr/bin/env node
// map.js
function elapsedMillis(hrtime0, hrtime1) { …
Run Code Online (Sandbox Code Playgroud) 我正在努力学习Unix C并做一些练习练习.我正在处理的当前问题涉及POSIX线程(主要是pthread_create()和pthread_join())
该问题要求使用两个线程重复打印"Hello World".一个线程是打印"Hello"1000次,而第二个线程打印"World"1000次.主程序/线程是在继续之前等待两个线程完成.
这就是我现在所拥有的.
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <pthread.h>
void *print_hello(void *arg)
{
int iCount;
for(iCount = 0; iCount < 1000; iCount++)
{
printf("Hello\n");
}
}
void *print_world(void *arg)
{
int iCount;
for(iCount = 0; iCount < 1000; iCount++)
{
printf("World\n");
}
}
int main(void)
{
/* int status; */
pthread_t thread1;
pthread_t thread2;
pthread_create(&thread1, NULL, print_hello, (void*)0);
pthread_create(&thread2, NULL, print_world, (void*)0);
pthread_join(thread1, NULL);
pthread_join(thread2, NULL);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这似乎没有完全发挥作用.它按预期打印"Hello".但"世界"根本没有印刷.好像第二个线程根本没有运行.不确定我是否正确使用pthread_join.我的目的是让主线程"等待"这两个线程,因为练习要求.
任何帮助,将不胜感激.
我正在使用它来读取HTML项目列表.
while (postIt.hasNext()) {
Element name = postIt.next();
nameOf = name.text();
String platform = postIt.next().text();
//Get the URL
Element url = name.select("a").first();
urlString = url.attr("href");
//Get the Genre of the item
String genre = postIt.next().text();
//Get the date
Date = postIt.next().text();
}
Run Code Online (Sandbox Code Playgroud)
我想做的是比较日期字符串与Android设备上当前日期的字符串?我将如何通过日历这样做呢?
没有任何东西出现在浏览器中,因为JavaScript没有编译器来运行它虽然我不知道如何检查这种语言的错误.
我的HTML
<!doctype html>
<html>
<head>
<title>Where am I?></title>
<script src="script4.js"></script>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我的script4.js
var number = 20;
switch(number) {
case number > 0:
alert(number + " is Positive");
break;
case number === 0:
alert(number + " is zero");
break;
case number < 0;
alert(number + " is negative");
default:
alert(number + " is not a number");
}
Run Code Online (Sandbox Code Playgroud) ram@ram:~/Desktop$ cc sample.c
sample.c: In function ‘main’:
sample.c:7: warning: format ‘%o’ expects type ‘unsigned int’, but argument 2 has type ‘long int’
Run Code Online (Sandbox Code Playgroud) c ×3
java ×3
javascript ×2
node.js ×2
ruby ×2
android ×1
calendar ×1
deployment ×1
dictionary ×1
go ×1
joptionpane ×1
jtextarea ×1
performance ×1
posix ×1
swing ×1
testing ×1
unix ×1
war ×1