我一直在寻找一个由离岸组织开发的代码.我看到每个模块至少定义了一个"常量接口".示例(不是现实世界):
public interface RequestConstants{
//a mix of different constants(int,string,...)
public static final int MAX_REQUESTS = 9999;
public static final String SAMPLE_REQUEST = "Sample Request";
}
Run Code Online (Sandbox Code Playgroud)
根据我的理解,它是一种反模式,因为它们在运行时没有任何实用性,应该以不同的方式避免或解决.什么是优雅的方式来代表这个?可以enums用吗?
给定一个大的输入文件,如下所示:
02/26/2012 08:54:38 Error:java.sql.Exception
02/26/2012 08:54:48 Error:java.sql.Exception
02/26/2012 08:56:05 Error:java.sql.Exception
02/26/2012 08:57:21 Error:java.sql.Exception
02/26/2012 08:59:29 Error:java.sql.Exception
02/26/2012 09:01:14 Error:java.sql.Exception
02/26/2012 09:08:48 Error:java.sql.Exception
02/26/2012 09:10:41 Error:java.sql.Exception
Run Code Online (Sandbox Code Playgroud)
我试图找出每小时的错误数; 也就是说,我正在寻找一个如下所示的输出文件:
02/26/2012 08 -> 5
02/26/2012 09 -> 3
Run Code Online (Sandbox Code Playgroud)
这是一个适合我的脚本:
#!/bin/perl
open(MYFILE, 'tata2');
my %table;
while (<MYFILE>) {
chomp;
$dtkey = substr $_, 0, 13;
$table{$dtkey}++;
}
close(MYFILE);
for my $key (keys %table) {
print "$key -> $table{$key}\n";
}
Run Code Online (Sandbox Code Playgroud)
但鉴于Perl的功能,我很确定这可以用更少的行完成.如果你能提供一些例子,我将不胜感激.我希望它对那些想要减少为实现某些目的而编写的代码行的人有用.
为什么Color在java.awt.Color类中定义了两个常量?例如
public static final Color blue;
public static final Color BLUE;
Run Code Online (Sandbox Code Playgroud)
这显然是多余的.是否有一些特定的使用场景 - 比如最佳做法,大写颜色优先于小写颜色,反之亦然?
我们有自然的脚本(在cron中)
someScript.sh > /tmp/cronlog/somescript.$(date +%Y%m%d).log 2>&1
现在有一种方法,someScript.sh我可以找出输出到哪个文件?
脚本发送带有摘要的电子邮件.同时我想提一下,详细信息可以在输出文件中找到 - 在电子邮件中.
我知道if [ -t 1 ]检测stdout等的构造但是如何获取输出文件名?请注意,我希望这是通用的,以便某些人可以在cron中更改输出文件,并且不需要修改脚本.
我创建了一个示例,我想知道如何使用CompletableFuture?返回值?我也改变了CompletableFuture<Void> exeFutureList,CompletableFuture<Integer> exeFutureList但是eclipse总是建议把它设置回Void.
请告诉我如何使用CompletableFuture返回值.
代码:
public class MainClass {
static ExecutorService exe = null;
static CompletableFuture<Void> exeFutureList = null;
public static void main(String[] args) {
exe = Executors.newFixedThreadPool(1);
exeFutureList = CompletableFuture.runAsync(new RunClass(8), exe);
}
static class RunClass implements Runnable {
private int num;
public RunClass(int num) {
// TODO Auto-generated constructor stub
this.num = num;
}
public void run() {
// TODO Auto-generated method stub
this.num = this.num + 10;
}
}
}
Run Code Online (Sandbox Code Playgroud) java multithreading callable countdownlatch completable-future
您知道为代码发布创建的任何敏捷过程吗?敏捷的主题之一是频繁发布,每个公司/客户都有自己的测试/审批流程来控制代码发布.大多数时候这些都会减缓"频繁发布"的速度
目前我们拥有基于专有工具的工作流程.需要代码促销的团队需要为其中一个最终的UAT服务器创建促销请求.一旦完成,一旦测试完成,某些客户,技术/非技术经理需要批准,然后进入生产部署阶段.同时没有冲刺计划会议或类似的任何事情.
什么是适合您的代码发布流程(哪个敏捷)?
在使用findbugs扫描下面的代码后,它会报告Dodgy代码:NP:在新....中加载已知的空值(在抛出新异常的行)
有时需要在初始化对象之前检查null.为什么这被认为是"狡猾"?
public class Employee{
@Valid
private Department dept;
@JsonCreator
public Employee(@JsonProperty(value = "department", required = true) Department aDepartment)
throws EmpServiceException{
if (aDepartment == null) {
throw new EmpServiceException(aDepartment, "Invalid Request");
}
this.dept= aDepartment;
}
Run Code Online (Sandbox Code Playgroud) 假设我们有两个java应用程序A和B.应用程序A将调用应用程序B.应用程序A已启动,但是当A调用B时,我不知道java_home或任何其他jre路径,我想得到哪个jre应用程序A是运行,返回jre的执行文件的路径,这可能吗?
我有一个find命令,查找名称与-name参数提到的多个模式匹配的文件
find -L . \( -name "SystemOut*.log" -o -name "*.out" -o -name "*.log" -o -name "javacore*.*" \)
Run Code Online (Sandbox Code Playgroud)
这会在命令行中成功找到所需文件.我正在寻找的是在shell脚本中使用此命令并将其与tar命令连接以创建所有日志文件的tar.因此,在脚本中我执行以下操作:
LIST="-name \"SystemOut*.log\" -o -name \"*.out\" -o -name \"*.log\" -o -name \"javacore*.*\" "
find -L . \( ${LIST} \)
Run Code Online (Sandbox Code Playgroud)
这不会打印我要查找的文件.
首先 - 为什么这个脚本不能像命令一样运行?一旦它这样做,我可以用它cpio或类似的方式与它一起制作tar吗?
我无法使用Java程序连接到安全站点。我已经从要连接的服务器导入了3个证书;公共,内部和根证书。我已经将3个证书正确导入到java cacerts中。并且在调用Java类时还指定了以下参数:
java -Djavax.net.debug=ssl
Djavax.net.ssl.keystore=JAVACACERTS -Djavax.net.ssl.keystorePassword=changeit -server -cp $CLASSPTH -Xmx500m SendOrderResponse
Run Code Online (Sandbox Code Playgroud)
但是,我收到“ bad_certificate”错误。我查看了日志的详细信息,似乎根证书不在证书链中。
知道为什么会发生吗?当我在Java cacert中导入了3个证书时?我认为由于证书链错误而抛出了错误的证书。
我有一个输入文件
inputfile.txt
name: George
age: 5
nature: curious
likes: banana
Run Code Online (Sandbox Code Playgroud)
这就是我所说的表单布局.我正在尝试将其转换为表格布局,CSV.例如:
name,age,nature,likes
George,5,curious,banana
Run Code Online (Sandbox Code Playgroud)
所以,我读取文件,拆分为":和\n"并将值放入哈希值.然后将该哈希值推送到数组中,以便稍后将其取出.这是我到目前为止所做的.
#!/usr/bin/perl
use strict;
open (MYFILE, 'inputfile.txt');
my @records;
while (<MYFILE>) {
chomp;
my %values = split(/[:\n]/,$_);
push @records,%values;
}
close (MYFILE);
Run Code Online (Sandbox Code Playgroud)
通过这个,我想@records={[name=George],[age=5],[nature=curious],[likes=banana]}会发生.
现在,我如何从阵列中获取每个哈希@records?当我尝试类似的东西:
foreach my $record(@records){
my %record = $record;
for my $key(keys %record){
print "key : $key\n";
}
}
Run Code Online (Sandbox Code Playgroud)
它一个接一个地输出所有令牌,不像预期的那样(只是键).