小编Mul*_*er0的帖子

为什么Java类用空行编译不同?

我有以下Java类

public class HelloWorld {
  public static void main(String []args) {
  }
}
Run Code Online (Sandbox Code Playgroud)

当我编译这个文件并在生成的类文件上运行sha256时,我得到了

9c8d09e27ea78319ddb85fcf4f8085aa7762b0ab36dc5ba5fd000dccb63960ff  HelloWorld.class
Run Code Online (Sandbox Code Playgroud)

接下来我修改了类并添加了一个如下所示的空白行:

public class HelloWorld {

  public static void main(String []args) {
  }
}
Run Code Online (Sandbox Code Playgroud)

我再次在输出上运行sha256,期望得到相同的结果,但我得到了

11f7ad3ad03eb9e0bb7bfa3b97bbe0f17d31194d8d92cc683cfbd7852e2d189f  HelloWorld.class
Run Code Online (Sandbox Code Playgroud)

我已阅读此TutorialsPoint文章:

只包含空格的行(可能带有注释)称为空行,Java完全忽略它.

所以我的问题是,由于Java忽略空行,为什么两个程序的编译字节码都不同?

即在该差HelloWorld.class一个0x03字节是由替换0x04字节.

java bytecode compilation javac

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

为什么在使用rand()时会得到这种特殊的颜色模式?

我试图创建一个图像文件,如下所示:

uint8_t raw_r[pixel_width][pixel_height];
uint8_t raw_g[pixel_width][pixel_height];
uint8_t raw_b[pixel_width][pixel_height];
uint8_t blue(uint32_t x, uint32_t y)
{
    return (rand()%2)? (x+y)%rand() : ((x*y%1024)%rand())%2 ? (x-y)%rand() : rand();
}
uint8_t green(uint32_t x, uint32_t y)
{
    return (rand()%2)? (x-y)%rand() : ((x*y%1024)%rand())%2 ? (x+y)%rand() : rand();
}
uint8_t red(uint32_t x, uint32_t y)
{
    return (rand()%2)? (y-x)%rand() : ((x*y%1024)%rand())%2 ? (x+y)%rand() : rand();
}

for (y=0; y<pixel_height; ++y)
{
    for (x=0; x<pixel_width; ++x)
    {
        raw_b[x][y]=blue(x, y);
        raw_g[x][y]=green(x, y);
        raw_r[x][y]=red(x, y);
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望随机得到一些东西(白噪声).但是,输出很有意思:

你知道原因吗?


编辑

现在,很明显它与之无关rand().

也试试这段代码: …

c random image

169
推荐指数
2
解决办法
7457
查看次数

在Stroustrup的示例中,冒号在“返回1:2”中是什么意思?

我不了解冒号的一种特殊用法。

我在Bjarne Stroustrup的《 C ++编程语言》第四版第11.4.4节“调用和返回”的第297页中找到了它:

void g(double y)
{
  [&]{ f(y); }                                               // return type is void
  auto z1 = [=](int x){ return x+y; }                        // return type is double
  auto z2 = [=,y]{ if (y) return 1; else return 2; }         // error: body too complicated
                                                             // for return type deduction
  auto z3 =[y]() { return 1 : 2; }                           // return type is int
  auto z4 = [=,y]()?>int { if (y) return 1; else return 2; …
Run Code Online (Sandbox Code Playgroud)

c++ syntax

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

eslint:error解析错误:保留关键字"const"

我从ESLint收到此错误:

error  Parsing error: The keyword 'const' is reserved
Run Code Online (Sandbox Code Playgroud)

从这段代码:

const express = require('express');
const app = express();
const _ = require('underscore');
Run Code Online (Sandbox Code Playgroud)

我已经尝试删除node_modules并重新安装所有npm软件包(如此处所示),但无济于事.

javascript node.js ecmascript-6 eslint

161
推荐指数
6
解决办法
7万
查看次数

元素添加到页面时的事件

这在前面已经讨论过了:如何使用Jquery将元素添加到页面时执行操作?

每当div添加到页面时,响应者建议触发自定义事件.但是,我正在撰写Chrome扩展程序,但无法访问页面源代码.我有什么选择?我想在理论上我可以setInterval()用来不断搜索元素的存在并添加我的动作,如果元素在那里.

javascript dom event-handling change-notification mutation-observers

133
推荐指数
7
解决办法
13万
查看次数

在C/C++中按照正态分布生成随机数

如何在C或C++中正常分布后轻松生成随机数?

我不想使用Boost.

我知道Knuth详细谈论了这个问题,但我现在还没有他的书.

c c++ random distribution normal-distribution

112
推荐指数
8
解决办法
18万
查看次数

为什么'123'是数字的?

根据文档,字符串'123'是数字.

由于我认为这可能是文档中的错误,我运行测试来验证该语句.我发现根据Apache Commons,它是数字的.

为什么这个字符串数字?这些人物代表什么?

java unicode number-systems apache-commons-lang3

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

是什么导致'SIGILL'信号?

我正在使用NDK和GCC将一些C++代码移植到Android.代码基本上运行.有一次,在Eclipse中调试时,调用

__CODE__

导致此错误:

__CODE__

那是什么意思?编译器是否因某种原因生成了非法代码?我在构造函数中有一个断点(它什么都不做),而且它没有被击中.我已经做了完整的重建.

我可能做错什么导致这个问题?

c++ android porting android-ndk

83
推荐指数
5
解决办法
10万
查看次数

将node.js流写入字符串变量

我正在攻击node.js程序,该程序捕获SMTP邮件并对邮件数据进行操作.'smtp-protocol'节点库以流形式提供邮件数据,作为node.js新手,我不知道如何将该流写入字符串变量.我目前使用该行写入stdout:

__PRE__

正如我所说,我需要将此流数据写入字符串变量,然后在流结束后我将使用它.

非常感谢!

javascript stream node.js

79
推荐指数
12
解决办法
9万
查看次数

删除Javascript中的所有多个空格并替换为单个空格

如何在Javascript中使用单个空格自动替换多个空格的所有实例?

我试过链接一些,s.replace但这似乎不是最佳的.

我也在使用jQuery,以防它是内置功能.

javascript jquery replace

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