小编dje*_*lin的帖子

为什么这个局部变量不是用Java初始化的?

我正在学习Java,我知道在使用它时我必须初始化一个局部变量.但是,我刚刚从书中找到了一个代码,代码是:我想知道为什么在这种情况下变量量没有被初始化?

public static double cubeVolume(double sideLength)
{
    double volume;
    if (sideLength>=0)
    {
        volume=sideLength*sideLength*sideLength;
    }
    else
   {
      volume=0;
   }
   return volume;
}
Run Code Online (Sandbox Code Playgroud)

java

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

map方法中的线程安全“如果更大则放置”

我有一个ConcurrentMap<Key, Long>缓存,它是从某个键到迄今为止看到的最大值的缓存。如果同时输入两个值,我想确保将较大的值插入到地图中。什么是最干净的方法来做到这一点?

一种丑陋的方法是LargestLong用一个UpdateIfBigger方法编写一个类,这可能会涉及一些 CAS 循环。我没有看到ConcurrentHashMap直接在 a 上执行这样的 CAS 循环的方法。

或者ConcurrentMap<Key, AtomicLong>在检索后使用一个和一个 CAS 循环。我听说对这样的原子原语使用并发集合通常是设计缺陷的标志,但这可能是一个例外。

java concurrency thread-safety

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

符号和名称是否不同?

符号和名称是否不同?保罗·格雷厄姆(Paul Graham)的Lisp,侧重于普通的口齿不清,有一些似乎暗示的讨论,例如

由于lambda表达式也是函数的名称,它们也可以首先出现在函数调用中:
((lambda(x)(*x 2)3)
6

这使得听起来像符号是名称,但名称不是符号.但我不明白什么样的Lisp"对象"符号是/可能的.

这也是源于在sharp-quote(#')运算符v.的问题symbol-function.我怀疑这些不同的唯一原因是因为并非所有的名字都是符号,但我还没有足够的背景来理解这些答案(因此这个问题).

我也要求在elisp诉普通lisp中澄清.我假设这与lexical形式有关,直到版本24(我认为24.1)才在elisp中引入.

lisp symbols elisp common-lisp lexical-scope

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

Java - 在Linux上放置第三方JAR并设置classpath的位置

基本上有两个问题:

1)我的第三方JAR应该去哪里?目前我不情愿地将它们放在我的应用程序包中,这是不道德的,例如因为第三方库是较低级别的,并且应该能够被我的所有应用程序所依赖.

2)应该在哪里设置类路径?我已经看过的教程听起来应该是一个全局变量,但我不知道这是因为它需要依赖于项目,即项目X需要库L和M但是项目Y需要库M和N.目前我只是为每个应用程序创建一个"cp"文件,但我想知道是否有更规范的样式.Z

java jar

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

将标志传递给对象的正确设计模式

在 C 我做过这种事情

enum { USE_COKE = 1,
        USE_PEPSI = 2,
        USE_JUICE = 4,
        USE_WATER = 8 };

 int makeDrink(int flags);

 //...

 int rcode = makeDrink(USE_COKE | USE_JUICE | USE_WATER);
Run Code Online (Sandbox Code Playgroud)

我知道这是非常标准的,它也用于iostream例如。我想知道如何将这种设计模式翻译成 Java 或 OOP?我确定多态性不是这里的方法,因为我的代码有一个if(flag_is_set)块比重写大部分例程更好。是否有实用程序Flags类,或使用配置对象、一个enum或一堆整数等执行此操作的首选方法。

java oop design-patterns enum-flags

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

通过mbean操作抛出异常

MBean操作的正确异常处理策略是什么?其中一些操作可能会失败(例如,删除未连接的用户)并且应报告异常,但我不知道我的异常如何渗透到JMX层.我最好的想法是C风格的返回码.

java jmx exception

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

为什么这个内部类可能是一个不合规的MBean?

似乎我的班级是一个内部阶级的事实导致了这个问题,这是我的预感 - 但基本上它是通常的模式:

public class UserProvisionerProfiler implements UserProvisionerProfilerMBean {

    @Override
    public int getTotalNumberOfUsers() {
        return activeClients.size();
    }
}
Run Code Online (Sandbox Code Playgroud)

和接口(嵌套在一个更大的类):

public interface UserProvisionerProfilerMBean {

public int getTotalNumberOfUsers();

}
Run Code Online (Sandbox Code Playgroud)

在代码中注册:

    UserProvisionerProfiler userProvisionerProfiler = new UserProvisionerProfiler();

    MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
    ObjectName name = new ObjectName(userProvisionerProfiler.getClass().getPackage().getName() + ":type=" + userProvisionerProfiler.getClass().getName());

    mbs.registerMBean(userProvisionerProfiler, name);
Run Code Online (Sandbox Code Playgroud)

而错误:

   1356 [1;31mERROR[39m [main],            UserProvisioner  ; Unhandled exception caught in     main()
javax.management.NotCompliantMBeanException: MBean class UserProvisioner$UserProvisionerProfiler does not implement DynamicMBean, and neither follows the Standard MBean conventions (javax.management.NotCompliantMBeanException: Class UserProvisioner$UserProvisionerProfiler is not a …
Run Code Online (Sandbox Code Playgroud)

java jmx

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

当前导数字为零时,在python中添加数字的递归函数失败

我正在尝试创建一个递归函数,用于添加数字中的所有数字.这是我想出的:

def sumOfDigits(num):
    num=str(num)
    if len(num)==0:
        return 0
    elif len(num)==1:
        return int(num)
    elif len(num)>1:
        return int(num[0]) + int(num[-1]) + int(sumOfDigits(num[1:-1]))
Run Code Online (Sandbox Code Playgroud)

这似乎适用于几乎任何数字:

sumOfDigits(999999999)
>>>81
sumOfDigits(1234)
>>>10
sumOfDigits(111)
>>>3
sumOfDigits(1)
>>>1
sumOfDigits(0)
>>>0
Run Code Online (Sandbox Code Playgroud)

如果数字以'0'开头,会发生奇怪的事情

sumOfDigits(012)
>>>1
sumOfDigits(0123)
>>>11
sumOfDigits(00010)
>>>8
Run Code Online (Sandbox Code Playgroud)

我在这里失踪了什么?

python recursion

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

c,将struct作为参数传递

我需要像这样传递一些结构作为函数参数

void myFunc(unsigned char c);
Run Code Online (Sandbox Code Playgroud)

我会用的myFunc(4),myFunc(8)或者是.

现在函数接受一个结构作为参数,所以我尝试了

typedef struct {
    unsigned char address;
    unsigned char command;
    unsigned char group;
    unsigned char response;
    unsigned char flags1;
    unsigned char flags2;
}test_t;

void myFunc(test_t test);

myFucn({0,0,0,0,0}); // but this gives me error 
Run Code Online (Sandbox Code Playgroud)

我怎样才能将const struct作为参数传递而不必先实例化?就像myFunc(4)作为unsigned char一样.

谢谢

c struct

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

Wordpress获得类别链接

我想询问如何获得每个类别的相关帖子的链接.我只得到一些只显示父类别的代码.任何帮助将非常感激.谢谢!

<?php

$categories = get_categories();

foreach ($categories as $cat){
   if($cat->parent < 1){
      echo $cat->cat_name ;
   }
}
Run Code Online (Sandbox Code Playgroud)

?>

php wordpress

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