小编Abi*_*idi的帖子

网站与Web服务

我试图通过文字来区分网站和Web服务(无论基于RPC还是RESTful).我是对的,当客户端是另一个软件时(假设浏览器只是原始客户端的工具)而生产者用XML响应(假设这是数据传输的标准)来自Web服务(可编程Web),否则它是人类网站?

谢谢

-Abidi

web-services web

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

Java保证了不可变对象的初始化安全性?

为了证明不可变对象的初始化安全性,我写了一个小程序.即使字段是最终的,第二个线程也能够查看由第一个线程创建的半构造对象.我有错误的概念或"对象逃逸"会导致它吗?第二个线程首先打印"10 null",然后在一半的迭代后开始打印"10 apple".

package test;

import java.util.ArrayList;
import java.util.List;

public final class ObjectEscape implements Runnable {

    private final int a;
    private final String b;

    //this list is defined somewhere else
    public static volatile List<ObjectEscape> globalList = new ArrayList<ObjectEscape>();

    public ObjectEscape () throws InterruptedException {

        a = 10;
        globalList.add(this);
        Thread.sleep(10);
        b = "apple";
        System.out.println("done");

    }

    public ObjectEscape(int a) {
        this.a = 1;
        b = "";
    }

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

        Thread t = new Thread(new ObjectEscape(1));
        t.start();
        ObjectEscape …
Run Code Online (Sandbox Code Playgroud)

java multithreading

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

区域内的 G1GC 压缩

据我了解,G1 GC 执行疏散以从年轻区域和旧区域回收堆,这样做会间接压缩堆(将活动对象从要收集的区域复制到空区域)。G1 GC 是否会出现这样的情况:没有剩余的完全空区域可供复制对象,但半满区域中有足够的碎片堆?我想问一下,G1 是否跟踪区域内的可用空间,并在区域内进行压缩?

java g1gc

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

Java Servlet上下文和会话级变量

当多个线程访问/修改上下文变量但在会话级别不能产生相同的行为时,我已经尝试了不一致性.例如,当同一个sessionid的两个请求(这意味着两个线程)进入时,服务方法中调用session.setAttribute("something")方法不会导致竞争条件.是不是因为Tomcat为会话变量提供了线程安全性,或者我有完全错了吗?

java multithreading servlets

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

关于volatile关键字的"Java Threads"一书的引用

我只是想知道是否有人可以解释这个含义:

增量和减量(例如++--)之类的操作不能用于volatile变量,因为这些操作是加载,更改和存储的语法糖.

我认为增量和减量应该适用于一个易变量变量,唯一的区别是每次你读或写时你都会从主内存访问/写入而不是从缓存中访问.

java volatile

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

JUnit在Maven格式化项目中测试包私有类

我有一个接口的包私有实现,该接口中定义的方法可以通过公共工厂访问.我只是想知道,我应该如何对该类进行单元测试,因为它无法在包外访问,或者我应该通过工厂进行测试?

谢谢

-Abidi

java junit

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

每个连接的JDBC Statement/PreparedStatement

我想知道每个连接可以同时打开多少语句或预备语句.我真的不明白如果执行多个语句并检索多个结果集,它将如何工作.资源链接与详细信息将有所帮助.

谢谢

java jdbc

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

ConcurrentHashMap锁定每次读取?

我想了解锁定在Java ConcurrentHashMap中是如何工作的.根据这里的源代码,对于每次读取,它看起来都是使用该特定段的锁来锁定读取器.我弄错了吗?

V readValueUnderLock(HashEntry<K,V> e) {
    lock();
         try {
             return e.value;
         } finally {
             unlock();
         }
     }
Run Code Online (Sandbox Code Playgroud)

java concurrenthashmap

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