小编bra*_*orm的帖子

Java中的哈希表和同步

我已经读过哈希表是线程安全的,因为它是同步的.考虑这段代码

if(!hashtable.contains(key)){
hashtable.put(key,value);
}
Run Code Online (Sandbox Code Playgroud)

哈希表上的操作可能无法同步.例如,如果Thread t1访问hastable并检查密钥并同时Thread t2检查密钥,则在t1执行put之前.现在,两个线程都在if块内,并且会覆盖键值.

所以同步块是必要的.

synchronized {
if(!hashtable.contains(key)){
    hashtable.put(key,value);
    }
}
Run Code Online (Sandbox Code Playgroud)

这种理解是否正确?或者hastables对在hastables上执行的操作是安全的.我在阅读这篇关于竞争条件的帖子时遇到了这个疑问

java multithreading synchronization hashtable

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

如果Thread.sleep是静态的,那么各个线程如何知道它被置于睡眠状态?

我对Thread.sleep()方法有点困惑.如果Thread.sleep()是静态方法,两个线程如何知道哪个被置于休眠状态.例如,在下面的代码中,我有两个三Threads main,tt1.我Thread.sleep()总是打电话.没有t.sleep().这是否意味着Thread.sleep()将当前线程置于睡眠状态?这意味着Thread实例通过调用静态方法自行进入休眠状态.如果t1想t睡觉怎么办?那应该不可能正确吗?

public class ThreadInterrupt {

    public static void main(String[] args) throws InterruptedException {

        System.out.println("Starting.");

        Thread t  = new Thread(new Runnable(){

            @Override
            public void run() {
                Random ran = new Random();

                for (int i = 0; i < 1E8; i++) {

                    try {
                        Thread.sleep(100);
                    } catch (InterruptedException e) {
                        System.out.println("we have been interrupted");
                        e.printStackTrace();
                    }
        });

        Thread t2 = new Thread(new Runnable() {
                 public …
Run Code Online (Sandbox Code Playgroud)

java multithreading sleep

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

得到django-crispy形式的两个内联字段,但其他字段不是水平的?

我希望有两个字段对应于下一个旁边的复选框(不是其他一个),就像我在图像中显示的那样.

我的表格继承自models.Form并有其他领域,我在这里留下了.是否有可能使用香脆形式?对于其他领域,

我使用self.helper.form_class='form-horizontal',我想保持其他表单字段完整

谢谢

在此输入图像描述

django django-crispy-forms

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

如何在Hdfs文件中检索复制因子信息?

我为我的文件设置了复制因子,如下所示:

hadoop fs -D dfs.replication=5 -copyFromLocal file.txt /user/xxxx
Run Code Online (Sandbox Code Playgroud)

NameNode重新启动时,它确保在复制的块复制.因此,存储(可能在nameNode)文件的复制信息.我怎样才能获得这些信息?

replication hadoop hadoop2

8
推荐指数
2
解决办法
9363
查看次数

Spring安全OAuth - 检查访问令牌的有效性?

我正在关注Spring Security OAuth中的示例代码.

当我尝试检查令牌时获得访问令牌后

curl -X POST http://localhost:9999/uaa/oauth/check_token -d "token=e3f44c4f-f8f2-45c4-9f9e-c7dd1f583a1f"
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

{"error":"unauthorized","error_description":"Full authentication is required to access this resource"}
Run Code Online (Sandbox Code Playgroud)

我尝试传递客户端ID和秘密.

curl -X POST acme:acmesecret@localhost:9999/uaa/oauth/check_token -d "token=e3f44c4f-f8f2-45c4-9f9e-c7dd1f583a1f"
Run Code Online (Sandbox Code Playgroud)

我获得403状态.

{"timestamp":1437683976536,"status":403,"error":"Forbidden","message":"Access is denied","path":"/uaa/oauth/check_token”}
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚出了什么问题.这里的任何帮助非常感谢.

spring spring-security spring-security-oauth2

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

如何根据弹簧启动中的配置文件运行/关闭选择性测试

我有一个spring-boot我正在编写IT测试的应用程序.

测试数据来自application-dev.properties我激活dev配置文件时

这是我测试的内容:

@RunWith(SpringRunner.class)
@SpringBootTest
@WebAppConfiguration
public class ApplicationTests {

    @Autowired
    Environment env;

    @Test
    public void contextLoads() {
        System.out.println(Arrays.toString((env.getActiveProfiles())));

    }

}
Run Code Online (Sandbox Code Playgroud)

ServiceITTest

public class ServiceITTest extends ApplicationTests {


     @value
     String username;

     @value
     String address;

     @Autowired
     MyService myService;


      @Test
      public void check_for_valid_username_address(){
            myService.validate(username,address);
      }
}
Run Code Online (Sandbox Code Playgroud)

我希望上面的测试仅在我设置"dev","qa"的配置文件时运行.默认情况下,它不应该运行.

是否可以在弹簧靴测试中获得精细控制?

spring spring-test spring-boot

8
推荐指数
3
解决办法
4780
查看次数

for循环中matlabplot中的多个图例

以下程序执行正常但只显示一个图例.如何显示所有四个图例?请看附图.

import matplotlib.pyplot as plt
dct = {'list_1' : [1,2,4,3,1],'list_2' : [2,4,5,1,2],'list_3' : [1,1,3,4,6],'list_4' : [1,1,2,2,1]}

xs = [0,1,2,3,4]


for i in [1,2,3,4]:
    plt.plot(xs,dct['list_%s' %i])
    plt.legend(['%s data' %i])

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

python matplotlib legend

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

Joshua Bloch在有效的java中建议如何在Java中使用缓存哈希码?

我有以下来自Joshua Bloch的有效Java代码(第9章,第3章,第49页)

如果类是不可变的并且计算哈希代码的成本很高,您可以考虑在对象中缓存哈希代码,而不是每次请求时重新计算它.如果您认为此类型的大多数对象将用作哈希键,则应在创建实例时计算哈希码.否则,您可能会在第一次调用hashCode时选择懒惰地初始化它(Item 71).目前尚不清楚我们的PhoneNumber类是否值得这样做,只是为了向您展示它是如何完成的:

    // Lazily initialized, cached hashCode
    private volatile int hashCode;  // (See Item 71)
    @Override public int hashCode() {
        int result = hashCode;
        if (result == 0) {
            result = 17;
            result = 31 * result + areaCode;
            result = 31 * result + prefix;
            result = 31 * result + lineNumber;
            hashCode = result;
        }
        return result;
    }
Run Code Online (Sandbox Code Playgroud)

我的问题是如何缓存(记住hashCode)在这里工作.第一次hashCode()调用方法,没有hashCode将其分配给结果.这个缓存如何工作的简要解释将是伟大的.谢谢

java caching hashcode effective-java

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

如何查看裸存储库中的文件?

我的遥控器上有一个裸存储库.我想查看在编辑器中打开并查看代码的文件.对于列出文件,git ls-files master或git ls-tree master.并且为了查看单个文件,我可以做git show 100644但是如何查看目录中的文件.这是一个例子:

100644 blob 03ec70a7ab513de8d568450dd8fca93987a22da0    .gitignore
100644 blob 75a85b0137fe1ee0c60bda6dcfac78d2d59a1759    README.md
040000 tree 53a58d85bc833575fdfee86058d88a4928c6fe76    templates
Run Code Online (Sandbox Code Playgroud)

如果我做git show 03ec70,它会显示.gitignore文件的内容

如果我做git show 53a58d,它会列出模板文件夹的内容

403.html
404.html
500.html
base.html
Run Code Online (Sandbox Code Playgroud)

但是如何打开单个文件才能看到它们.示例:上述情况中的base.html

git git-bare git-show

7
推荐指数
2
解决办法
3944
查看次数

如何在运行时向@SessionScoped bean提供@RequestScoped bean实例?

我正在阅读JBoss中的这个示例,其中使用@RequestScopedbean备份JSF page来传递用户凭据信息,然后将其保存在@sessionScoped bean.以下是JBoss文档的示例.

@Named @RequestScoped
public class Credentials {
    private String username;
    private String password;
    @NotNull @Length(min=3, max=25)
    public String getUsername() { return username; }
    public void setUsername(String username) { this.username = username; }
    @NotNull @Length(min=6, max=20)
    public String getPassword() { return password; }
    public void setPassword(String password) { this.password = password; }
}
Run Code Online (Sandbox Code Playgroud)

JSF表格:

<h:form>
   <h:panelGrid columns="2" rendered="#{!login.loggedIn}">
      <f:validateBean>
         <h:outputLabel for="username">Username:</h:outputLabel>
         <h:inputText id="username" value="#{credentials.username}"/>
         <h:outputLabel for="password">Password:</h:outputLabel>
         <h:inputSecret id="password" …
Run Code Online (Sandbox Code Playgroud)

jsf ejb java-ee cdi managed-bean

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