小编Joh*_*136的帖子

JVM的静态初始化

语言:Java
版本:12.0.2
字符串源代码如下:

 /* @implNote
 * The actual value for this field is injected by JVM. The static
 * initialization block is used to set the value here to communicate
 * that this static final field is not statically foldable, and to
 * avoid any possible circular dependency during vm initialization.
 */
static final boolean COMPACT_STRINGS;

static {
    COMPACT_STRINGS = true;
}
Run Code Online (Sandbox Code Playgroud)

如何理解这句话:“静态初始化块用于在此处设置值以传达此静态最终字段不可静态折叠,并避免在vm初始化期间出现任何可能的循环依赖性。”

java static-initialization

8
推荐指数
1
解决办法
86
查看次数

使用c#在Visio中创建状态图

有人能指出我如何以编程方式在visio中创建状态图的示例吗?我可以创建空白页面,删除形状,打开模板等,但当我尝试添加过渡时,它会抱怨页面不是正确的类型.

无法在任何地方找到样品.

或者:我可以保存用户操作以将图表创建为宏.我可以以编程方式运行吗?

谢谢.

<edit>
离开电脑2分钟,你意识到你应该把代码片段放在问题中,而不是试着把它放在评论中.森林:遇见树木......

Visio.Document umlStencil = visioApp.Documents.OpenEx(@"UMLSTA_M.vss", (short)VisOpenSaveArgs.visOpenDocked);  
Visio.Page page = visioDoc.Pages.Add();  
Visio.Shape s1 = page.Drop(umlStencil[@"State"], 5.0, 5.0);  
Visio.Shape s2 = page.Drop(umlStencil[@"State"], 5.0, 5.0);  
Visio.Shape transition = page.Drop(umlStencil[@"Transition"], 1.0, 1.0);  
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,非常类似于下面答案中的代码段.
</ edit>

c# visio office-interop

7
推荐指数
1
解决办法
1401
查看次数

Unix Shell脚本在子文件夹中的特定文件中查找和替换字符串

我想仅在文件夹的子文件夹中存在的xml文件中用"选择最佳答案"替换字符串"解决问题".我编写了一个脚本来帮助我做到这一点,但有两个问题

  1. 它还替换了脚本的内容
  2. 它取代了子文件夹的所有文件中的文本(但我只想更改xml)
  3. 如果文本不匹配发生在特定的子文件夹和文件中,我想显示错误消息(最好是文本输出).

那么请你帮我修改我现有的脚本,以便我可以解决上述3个问题.

我的脚本是:

find -type f | xargs sed -i"s /解决问题/选择最佳答案/ g"

sed

4
推荐指数
1
解决办法
4万
查看次数

AWK - 当RS是正则表达式时使用RT给出了下一个匹配的RS而不是当前的RS

我试图使用gawk从日志中提取段落,它正在完美地工作,我想要包括它找到的记录分隔符.

这是命令:

gawk --re-interval 'BEGIN{RS="[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}.[0-9]{1,6} \\[[A-Z]*\\]";} /983a99f8-bec6-11e1-80dd-059a821d0b73/ {print $0}' full.log 
Run Code Online (Sandbox Code Playgroud)

如果我添加打印RT,$ 0,则打印下一个匹配的RT而不是当前匹配.

这是一些示例文本

9:08:06.899627 [DEBUG] <0.30065.3>@agent:1565 Recs to loop through:  [{agent_state,"OpenAcdAgent43","Jeff",
                            undefined,wrapup,
                            {call,"983a99f8-bec6-11e1-80dd-059a821d0b73",
                                voice,
                                {"8501112234","MorganGrimes"},
                                "9201",<0.30392.3>,[],
                                {client,"8221314","DCF",[],1340629596,
                                    1340629596},
                                [creole_general],
                                <0.30398.3>,outband,inband,inbound,10},
                            1340629658,undefined,"Default",1340629658
9:08:06.899707 [INFO] <0.168.0>@cpx_monitor:649 Down message for reference #Ref<0.0.16.137225> of <0.30064.3> due to normal
Run Code Online (Sandbox Code Playgroud)

我想成为9:08:06.899627 [DEBUG]能够做到的是在我的比赛前9:08:06.899627 [DEBUG],但RS取消了.我得到9:08:06.899707 [INFO].

谢谢!

regex awk grep

2
推荐指数
1
解决办法
1143
查看次数

反转弦时长度增加

我正在通过"C编程语言"并尝试反转C风格的字符串.我的理解是像"voldemort"这样的字符串文字表示为9个字符后跟空字符的字符数组(每个字符的大小为1):

v o l d e m o r t \0
_ _ _ _ _ _ _ _ _ _
Run Code Online (Sandbox Code Playgroud)

我想要反转字符串的想法是找到长度,然后使用它来声明一个适当长度的数组,并将其定义为反向,最后保持null.

t r o m e d l o v \0
_ _ _ _ _ _ _ _ _ _
Run Code Online (Sandbox Code Playgroud)

然而,在我的反向弦中,长度突然变长,我没有任何运气弄清楚原因.

#include <stdio.h>

int mystrlen(char s[]);
void reverse(char original[], char reversed[], int len);

int mystrlen(char s[]) {
    int i = 0;
    while (s[i] != '\0') {
        ++i;
    }
    return i;
}

void reverse(char original[], char reversed[], int len) …
Run Code Online (Sandbox Code Playgroud)

c

2
推荐指数
1
解决办法
108
查看次数

在Excel中的IF条件

我正在使用一些带if条件的公式来了解excel表中的某些单元格是否已填满.基本上我需要的是,当我列出的单元格有一些值时,一条消息将显示'COMPLETE',否则'NOT COMPLETE'.我正在使用以下公式,它工作正常:

=IF(
OR(ISBLANK(C6),ISBLANK(C7),ISBLANK(C9),ISBLANK(C10),ISBLANK(C11),ISBLANK(C12),
   ISBLANK(C17),ISBLANK(C18),ISBLANK(C19),ISBLANK(C20),ISBLANK(C21),ISBLANK(C22),
   ISBLANK(C23),ISBLANK(B16),ISBLANK(C25),ISBLANK(C26),ISBLANK(C27),ISBLANK(C28),
   ISBLANK(C29),ISBLANK(C30),ISBLANK(C31),ISBLANK(C32),ISBLANK(C33),ISBLANK(C34),
   ISBLANK(C35),ISBLANK(C36),ISBLANK(C37),ISBLANK(C38),ISBLANK(C39)), 
"NOT COMPLETE","COMPLETE")
Run Code Online (Sandbox Code Playgroud)

现在的问题是,如果我尝试添加更多这样的单元格,那么我收到一条错误消息"为此函数指定了比当前文件格式允许的参数更多的参数".

请帮我根据我的情况添加更多细胞.先谢谢你,克里希纳

excel

1
推荐指数
1
解决办法
774
查看次数

我应该使用什么异常处理?

我有一个方法,我在VO中设置了一些属性.该方法看起来像下面的一些东西:

public void methodToPopulateVO(MyVO vo)
{
    BackendClass bClass = new BackendClass();
    vo.setA(bClass.getA()); //Line 1
    vo.setB(bClass.getB()); //Line 2
    vo.setC(bClass.getC()); //Line 3
}
Run Code Online (Sandbox Code Playgroud)

所有的这些方法getA(),getB(),getC()可以抛出异常.我的要求是如果getA()在第2行和第3行应该执行时抛出一些异常静止代码.这适用于每一行(例如,如果第2行导致异常,第3行仍应执行).我无法改变实施BackendClass.我应该实施哪种异常处理技术会降低性能影响,因为性能是我们应用程序的衡量因素?

请注意,真实系统有大约20个字段,而不仅仅是3个字段.

java exception-handling exception

0
推荐指数
1
解决办法
92
查看次数

错误:“pow”未在此范围内声明

#include <iostream>

using namespace std;

int main()
{
    int x;

    cout << "How many rows would you like? " << endl;
    cin >> x;
    cout << endl;
    cout << "Number| Power 1| Power 2| Power 3| Power 4| Power 5" << endl;

    for (int j=0; j<=x; j++)
    {
        cout << j << "\t" << j << "\t" << pow(j,2) << "\t" << pow(j,3) << 
"\t" << pow(j,4) << "\t" << pow(j,5) << endl;

    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

它会产生上述错误。我不确定出了什么问题,请告诉我。先感谢您。

c++

-5
推荐指数
1
解决办法
1万
查看次数