小编Ser*_*vic的帖子

java.util.Random真的是随机的吗?我怎么能产生52!(阶乘)可能的序列?

我一直Random (java.util.Random)用来洗牌一副52张牌.有52个!(8.0658175e + 67)可能性.然而,我发现种子java.util.Random是a long,它在2 ^ 64(1.8446744e + 19)处小得多.

从这里开始,我怀疑是否java.util.Random 真的那么随意 ; 它实际上能够生成所有52!可能性?

如果没有,我怎样才能可靠地生成一个更好的随机序列,可以产生所有52个!可能性?

java random permutation random-seed java.util.random

200
推荐指数
6
解决办法
9925
查看次数

Setting android:hardwareAccelerated="true" in <activity> or in <application>

I want my app, which relies heavily on GPU, to use hardware acceleration. On some forums I've been suggested to set android:hardwareAccelerated="true" inside <application> and on other forums same attribute inside <activity> inside my AndroidManifest.xml. Below is the representation of what it looks like:

<application
    ...
    android:hardwareAccelerated="true"
    ...>
    <activity
        ...
        android:hardwareAccelerated="true"
        ...>
    </activity>
</application>
Run Code Online (Sandbox Code Playgroud)

I ended up setting in both, yet I wonder, which one is the right way, and what is the difference?

android hardware-acceleration android-manifest

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

通过 JUnit 5 运行并行测试类

我的问题是关于如何在 JUnit 5 测试类中并行运行。

例如,我有两个简单的测试类,它们代表两个独立的测试管道,它们应该并行运行。然而,课堂上的内部测试应该按顺序运行。

public class TestClass1 {

    @Test
    public void test1() {
        System.out.println("Executing test 1 in Class 1");
        System.out.println(Thread.currentThread().getId());
        try {
            Thread.sleep(5000);
            Assert.assertTrue(false,"Assertion error in Test 1 Class 1");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    @Test
    public void test2() {
        System.out.println("Executing test 2 in Class 1");
        Assert.assertTrue(false,"Assertion error in Test 2 Class 1");
        System.out.println(Thread.currentThread().getId());
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

public class TestClass2 {

    @Test
    public void test2() {
        System.out.println("Executing …
Run Code Online (Sandbox Code Playgroud)

java parallel-testing junit5

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

在具有高刷新率 (90-120Hz) 的新 Android 设备上将 SurfaceView 的刷新率限制为 60 FPS

我在具有 90Hz 和 120Hz 屏幕的新 Android 设备(例如 Samsung S20 FE)上面临着增加甚至翻倍的 FPS,它影响了我基于GLSurfaceView(OpenGL 实现SurfaceView)开发的游戏。最初它总是以每秒 60 帧的最高速度运行,但现在在一些新的 Android 设备上似乎一直达到 90 甚至 120 FPS,这使得游戏无法玩。将屏幕刷新率限制或限制在最大 60Hz 的最佳且可靠的解决方案是什么?

android frame-rate surfaceview glsurfaceview

5
推荐指数
0
解决办法
1910
查看次数

在底部导航视图中选择的每个项目下方添加一行

我想在选择每个底部导航视图项目的项目下方放置一个线。如下图所示,但是我没有找到方法。我创建了一条形状线 line.xml,如下所示:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line">
    <stroke android:width="6dp" android:height="2dp" android:color="@color/honey"/>
    <corners android:radius="5dp"/>
</shape>
Run Code Online (Sandbox Code Playgroud)

我创建一个选择器checked_uncheked.xml,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/line" android:state_checked="true"/>
    <item android:drawable="@color/white" android:state_checked="false"/>
</selector>
Run Code Online (Sandbox Code Playgroud)

"app:itemBackground="@drawable/line"在bottomNavigation下面添加了,仍然没有结果

在此输入图像描述

android kotlin bottomnavigationview

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

忽略 prepare-commit-msg git hook 的合并提交

我想出了以下prepare-commit-msg git hook:

#!/bin/sh

BRANCH=`git branch | grep '^*' | sed -e 's/^\* //'`
MESSAGE=`cat "$1"`
JIRA_ID=$(echo "$BRANCH" | grep -Eo "[A-Z0-9]{1,10}-?[A-Z0-9]+-\d+")

if [ -z "$JIRA_ID" ]; then
    echo "$MESSAGE" > "$1"
else
    echo "[$JIRA_ID] $MESSAGE" > "$1"
fi
Run Code Online (Sandbox Code Playgroud)

它通过向每个提交消息添加分支名称(采用 BRANCH-123 的形式)来完成其工作。但是,我不希望这与具有自动生成提交消息 sa 的合并提交一起使用Merge branch 'master' into BRANCH-123。用我的钩子转换成BRANCH-123 Merge branch 'master' into BRANCH-123

我需要编辑脚本以某种方式忽略(不应用钩子)以Merge branch.

git githooks

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

为什么没有parameters.getFlashMode()== Camera.Parameters.FLASH_MODE_OFF返回true?

我正在尝试确定闪光灯是打开还是关闭,这样只需一个按钮我就可以打开和关闭闪光灯.这是我的代码:

Camera cam = getCameraInstance(); //A method that opens the cam
            Camera.Parameters parameters = cam.getParameters();
            System.out.println("Current flash mode " + parameters.getFlashMode());
            System.out.println("flash mode off equals to : " + Camera.Parameters.FLASH_MODE_OFF);
            System.out.println(parameters.getFlashMode() == Camera.Parameters.FLASH_MODE_OFF);
Run Code Online (Sandbox Code Playgroud)

前两个系统的输出是off.当然我假设因为它们都返回一个off字符串,将==操作符放在它们之间会返回true(因此允许我检查闪存是否打开)但它返回false.知道为什么吗?

我的目标是api 16并在Marshmallow设备上进行测试

java camera android android-camera

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