小编Reg*_*Reg的帖子

为什么在允许某些Unicode字符的注释中执行Java代码?

以下代码生成输出"Hello World!" (不,真的,试试吧).

public static void main(String... args) {

   // The comment below is not a typo.
   // \u000d System.out.println("Hello World!");
}
Run Code Online (Sandbox Code Playgroud)

原因是Java编译器将Unicode字符解析\u000d为新行并转换为:

public static void main(String... args) {

   // The comment below is not a typo.
   //
   System.out.println("Hello World!");
}
Run Code Online (Sandbox Code Playgroud)

从而导致评论被"执行".

由于这可以用来"隐藏"恶意代码或恶意程序员可以设想的任何东西,为什么在评论中允许它

为什么Java规范允许这样做?

java unicode comments

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

如何在intelliJ IDEA中查看拉取请求?

我们正在使用git,bitbucket和IntelliJ IDEA.该项目主要使用Java和Groovy编写.

有没有一种好的方法可以直接从IntelliJ查看拉取请求?

git bitbucket intellij-idea

40
推荐指数
3
解决办法
2万
查看次数

绿色线程和虚拟线程有什么区别?

根据https://en.wikipedia.org/wiki/Green_thread 的说法,绿色线程已在 Java 1.1 中实现,并在后续 Java 版本中被删除。

Java 19 引入了虚拟线程作为预览功能。 https://openjdk.org/jeps/425

这两个线程似乎都在用户空间中工作,而不是像 Java 本机线程那样在内核空间中工作。

它们之间有什么区别?新的虚拟线程是否消除了绿色线程之前的限制?

java multithreading

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

获得蓝牙信号强度

我想获得连接到手机的另一台设备的蓝牙信号强度,

如何获得蓝牙信号强度?

我试图在谷歌搜索很多,但没有找到任何答案.

有人知道我该如何实现它?

这是myActivity:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        registerReceiver(receiver, new IntentFilter(BluetoothDevice.ACTION_FOUND));


    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    private final BroadcastReceiver receiver = new BroadcastReceiver(){
        @Override
        public void onReceive(Context context, Intent intent) {

            String action = intent.getAction();
            if(BluetoothDevice.ACTION_FOUND.equals(action)) {
                int rssi = intent.getShortExtra(BluetoothDevice.EXTRA_RSSI,Short.MIN_VALUE);
                Toast.makeText(getApplicationContext(),"  RSSI: " + rssi + …
Run Code Online (Sandbox Code Playgroud)

java android

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

gradle jacocoTestReport不工作?

我试图使用gradle jacoco插件在spring-gradle项目中获取代码覆盖率.

build.gradle包含以下内容

apply plugin: "jacoco"

    jacoco {
        toolVersion = "0.7.1.201405082137"
        reportsDir = file("$buildDir/customJacocoReportDir")
    }

    jacocoTestReport {
    reports {
        xml.enabled false
        csv.enabled false
        html.destination "${buildDir}/jacocoHtml"
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我跑了

gradle test jacocoTestReport
Run Code Online (Sandbox Code Playgroud)

仅在build/reports文件夹中生成文件test.exec之后的位置.

除此之外没有任何反应.

我怎样才能获得HTML报告?

gradle build.gradle

20
推荐指数
2
解决办法
3万
查看次数

如何使用Java从UUID中提取日期?

如何转换UUID为日期格式2011-04-22

例如,我有这样的UUID

118ffe80-466b-11e1-b5a5-5732cf729524.
Run Code Online (Sandbox Code Playgroud)

如何将其转换为日期格式?

我试过了

 String uuid="118ffe80-466b-11e1-b5a5-5732cf729524"; 
    UUID uid = UUID.fromString(uuid);
    long ls=convertTime(uid.timeStamp()); // it returns long value

    public String convertTime(long time){
            System.out.println("====="+time);
            Date date = new Date(time);
            Format format = new SimpleDateFormat("yyyy/MM/dd");
            return format.format(date).toString();
        }
Run Code Online (Sandbox Code Playgroud)

输出我得到:4294744/11/02

同样的情况对perl工作正常

$uuid='ef802820-46b3-11e2-bf3a-47ef6b3e28e2';
$uuid =~ s/-//g;

my $timelow = hex substr( $uuid, 2 * 0,     2 * 4 );
my $timemid = hex substr( $uuid, 2 * 4,     2 * 2 );
my $version = hex substr( $uuid, 2 * …
Run Code Online (Sandbox Code Playgroud)

java uuid date

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

TODO-FIXME:在Java 8的Integer类中?

在阅读Java 8的Integer类时,我遇到了下面的FIX-ME :( 第379行)

// TODO-FIXME: convert (x * 52429) into the equiv shift-add
// sequence.
Run Code Online (Sandbox Code Playgroud)

整个评论内容如下:

// I use the "[invariant division by multiplication][2]" trick to
// accelerate Integer.toString.  In particular we want to
// avoid division by 10.
//
// The "trick" has roughly the same performance characteristics
// as the "classic" Integer.toString code on a non-JIT VM.
// The trick avoids .rem and .div calls but has a longer code
// path and is thus …
Run Code Online (Sandbox Code Playgroud)

java integer

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

Android ScrollView fillViewport无法正常工作

我有一个简单的布局,顶部有一个名字,还有一个我希望位于屏幕底部的按钮,或者我想要添加更多项目的按钮.

所以我使用带有LinearLayout的ScrollView,如下所示:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:fillViewport="true"
android:focusableInTouchMode="true"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
tools:context=".ItemDetailActivity" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <!-- Name -->

    <RelativeLayout
        android:id="@+id/top_content"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="top" >

        <TextView
            android:id="@+id/name_label"
            style="@style/Header_Label_TextView"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/name" />

        <TextView
            android:id="@+id/name_value"
            style="@style/Value_Label_TextView"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/name_label" />
    </RelativeLayout>

    <!-- button -->

    <RelativeLayout
        android:id="@+id/ButtonLayout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom" >

        <Button
            android:id="@+id/add_button"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10sp"
            android:onClick="editItem"
            android:text="@string/button_edit" />
    </RelativeLayout>

    <requestFocus />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

这就是我得到的:

布局XML的结果

如何使按钮出现在屏幕底部或更远处.在线搜索,大多数答案是设置`android:fillViewport ="true",但这没有帮助.我究竟做错了什么?

android android-layout android-linearlayout android-scrollview android-relativelayout

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

Java中获取数量的最快因素的最快方法是什么

我正在尝试用Java编写一个函数,它将返回特定数字所具有的因子数.

应考虑以下限制.

  1. 它应该用BigInteger完成
  2. 存储先前生成的数字是不允许的,因此更多的处理和较少的内存.(不能使用"阿特金筛"像这样)
  3. 负数可以忽略.

这是我到目前为止所做的,但它非常慢.

public static int getNumberOfFactors(BigInteger number) {
    // If the number is 1
    int numberOfFactors = 1;

    if (number.compareTo(BigInteger.ONE) <= 0)  {
        return numberOfFactors;
    }

    BigInteger boundry = number.divide(new BigInteger("2"));
    BigInteger counter = new BigInteger("2");

    while (counter.compareTo(boundry) <= 0) {
        if (number.mod(counter).compareTo(BigInteger.ZERO) == 0) {
            numberOfFactors++;
        }

        counter = counter.add(BigInteger.ONE);
    }

    // For the number it self
    numberOfFactors++;

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

java algorithm math

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

如何在PHPStorm中关闭自动代码折叠?

每当我尝试编辑折叠线(或将此线移动到新位置)时 - 所有线都展开.如果可能,我该如何关闭此功能?

这是我的问题的一个例子: phpStorm中的代码折叠(错误或功能?)

php editor intellij-idea phpstorm

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