小编Ale*_*you的帖子

没有互联网连接时,Spring schemaLocation失败

我使用的是Spring,application-context.xml我有以下定义:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:util="http://www.springframework.org/schema/util"
   xmlns:context="http://www.springframework.org/schema/context"
   xmlns:aop="http://www.springframework.org/schema/aop"
   xmlns:tx="http://www.springframework.org/schema/tx"
   xmlns:p="http://www.springframework.org/schema/p"
   xmlns:security="http://www.springframework.org/schema/security"
   xsi:schemaLocation="
   http://www.springframework.org/schema/beans 
   http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
   http://www.springframework.org/schema/util 
   http://www.springframework.org/schema/util/spring-util-2.0.xsd
   http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context-2.1.xsd
   http://www.springframework.org/schema/tx
   http://www.springframework.org/schema/tx/spring-tx.xsd
   http://www.springframework.org/schema/aop
   http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
   http://www.springframework.org/schema/security
   http://www.springframework.org/schema/security/spring-security-2.0.xsd"
   >
Run Code Online (Sandbox Code Playgroud)

.....

当我的互联网连接丢失时,我无法通过tomcat或jetty运行我的应用程序.

它给:

[main] WARN  org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Ignored XML validation warning
org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document '/spring-beans-2.0.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.warning(ErrorHandlerWrapper.java:96)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:380)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318) …
Run Code Online (Sandbox Code Playgroud)

java xml spring xsd

101
推荐指数
5
解决办法
16万
查看次数

无锁和无等待的线程安全延迟初始化

要执行无锁和无等待的延迟初始化,请执行以下操作:

private AtomicReference<Foo> instance = new AtomicReference<>(null);  

public Foo getInstance() {
   Foo foo = instance.get();
   if (foo == null) {
       foo = new Foo();                       // create and initialize actual instance
       if (instance.compareAndSet(null, foo)) // CAS succeeded
           return foo;
       else                                   // CAS failed: other thread set an object 
           return instance.get();             
   } else {
       return foo;
   }
}
Run Code Online (Sandbox Code Playgroud)

除了一件事之外,它的效果非常好:如果两个线程看到实例null,它们都会创建一个新对象,只有一个幸运的是通过CAS操作设置它,这会浪费资源.

有没有人建议另一种无延迟初始化模式,这会降低两个并发线程创建两个昂贵对象的可能性?

java multithreading lock-free lazy-initialization wait-free

27
推荐指数
1
解决办法
2871
查看次数

如何找到两个非接口类最近的公共超类

要找到最近的公共超,给出了两个非接口类ab,我做到以下几点:

static Class<?> findClosestCommonSuper(final Class<?> a, final Class<?> b) {
    Iterator<Class<?>> pathA = pathFromObject(a).iterator();
    Iterator<Class<?>> pathB = pathFromObject(b).iterator();
    Class<?> res = Object.class;
    Class<?> c;
    while (pathA.hasNext() && pathB.hasNext()) {
        if ((c = pathA.next()) == pathB.next())
            res = c;
    }
    return res;
}
Run Code Online (Sandbox Code Playgroud)

pathFromObject()返回一个List<Class<?>>表示继承链,从Object.class以下开始:

static List<Class<?>> pathFromObject(Class<?> cl) {
    List<Class<?>> res = new ArrayList<>();
    while (cl != null) {
        res.add(cl);
        cl = cl.getSuperclass();
    }
    Collections.reverse(res);
    return res;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:是否存在一些开箱即用的JDK解决方案?也许使用类加载器或某些特定功能.或者更好的算法,不需要两次迭代.

java inheritance superclass

11
推荐指数
1
解决办法
844
查看次数

如何从左到右的方向打印阿拉伯字符

我有一系列英文和阿拉伯文字,应该以对齐的方式打印.

例如:

List<Character> ar = new ArrayList<Character>();
ar.add('?');
ar.add('?');
ar.add('?');

List<Character> en = new ArrayList<Character>();
en.add('a');
en.add('b');
en.add('c');

System.out.println("ArArray: " + ar);
System.out.println("EnArray: " + en);   
Run Code Online (Sandbox Code Playgroud)

预期产出:

ArArray: [?, ?, ?] // <- I want characters to be printed in the order they were added to the list
EnArray: [a, b, c]
Run Code Online (Sandbox Code Playgroud)

实际产量:

ArArray: [?, ?, ?] // <- but they're printed in reverse order
EnArray: [a, b, c]
Run Code Online (Sandbox Code Playgroud)

有没有办法在从左到右的方向打印阿拉伯字符而不在输出之前明确地反转列表?

java unicode left-to-right

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

如何在具有特定优先级列表的元素之间进行选择?

我是编程的新手,我正在尝试编写一个方法,它将在列表中选择最佳选项.这是我得到的:

item_no      item_type      origin             
10               2             US
10               2             FR 
10               4             UK
11               6             FR 
Run Code Online (Sandbox Code Playgroud)

我把它们放在一个清单中:

[[10, 2, US], [10, 2, FR], [10, 4, UK], [11, 6, FR]] 
Run Code Online (Sandbox Code Playgroud)

我将在我的方法中使用此列表,我还有一个具有一些功能的特定项目.让我们选择我的特定项目;

item_no   item_type   origin 
10           4            GE
Run Code Online (Sandbox Code Playgroud)

现在,我想要做的是,如果列表中的某个项目的优先级高于我的项目,我将使用更高优先级项目的功能更新项目的功能.优先级逻辑是分别取决于item_code,item_typeorigin.要获得优先顺序,我正在使用如下地图:

HashMap<String, Integer> itemCodeOrder = x.getItemCodeOrder();      
HashMap<String, Integer> itemTypeOrder = y.getItemTypeOrder(); 
HashMap<String, Integer> originOrder = z.getOriginOrder()
Run Code Online (Sandbox Code Playgroud)

典型的优先顺序是这样的:

  • itemCodeOrder:12,10,11
  • itemTypeOrder:6,2,4
  • originOrder:美国,英国,法国,通用电气

首先,我想在列表中选择优先级较高的项目,然后将该项目与我的项目进行比较以进行更新.例如,在上面的列表中item_no 10具有更高的优先级11,所以我将选择其中一个具有的项目item_no 10.然后,我会看item_type我有24,现在我会选择与项目之一2.所以在看完之后origin …

java algorithm list hashmap

9
推荐指数
1
解决办法
853
查看次数

根据搜索条值更改颜色

我试图根据搜索栏的值改变颜色.我希望颜色能够在很宽的范围内出现.

这是我尝试过的,但它没有给我我想要的颜色:

seekBarColor.setOnSeekBarChangeListener( new OnSeekBarChangeListener() {
        int progress = 0;
          @Override
          public void onProgressChanged(SeekBar seekBar, int progresValue, boolean fromUser) {
            progress = progresValue;
            int lower = Color.argb(0xFF,progress*0x10000, progress*0x100, progress)+0xff000000;
            color.setBackgroundColor(lower);
          }

          @Override
          public void onStartTrackingTouch(SeekBar seekBar) {

          }

          @Override
          public void onStopTrackingTouch(SeekBar seekBar) {
              db.updateColor("");
          }
    });
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

android colors seekbar

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

如何使用本机SQL作为Hibernate中使用Criteria API进行的更大查询的片段(where子句)?

我有以下问题.在我正在开发的应用程序中,我们使用Hibernate,每个查询都使用Criteria API编写.现在,在某些地方,我们希望增加用户编写一些SQL代码的可能性,这些代码将用作查询中where子句的一部分.所以基本上,用户可以用他自己的方式过滤从数据库显示给他的数据.

几天后,我试图找到一种方法来修改我们之前的查询以获取上述结果.这就是我所知道的:

  1. 看起来您无法将Criteria API与本机SQL结合使用.您可以在SQL中编写整个查询,也可以仅使用条件API.是对的吗?我问这个问题是因为这是最简单的解决方案,只是将这个SQL代码用作查询中where子句的另一个谓词.但我认为这不可能达到这个水平.

  2. 我知道用户想要在哪个表上过滤数据.所以我可以只执行本机SQL查询并使用结果列表作为条件查询中IN子句的参数.但我不知道结果列表中的许多记录是否有效.

  3. 因此,如果我不能在标准API级别上执行此操作,我想也许我可以以某种方式影响SQL基因复制过程并将我的SQL放在适当的位置,但这似乎是不可能的.

  4. 所以我真正的问题是:在SQL生成阶段之后但在实际执行查询之前,是否可以以某种方式访问​​查询的SQL代码?只是手动操作?它可以安全地尽可能简单地完成吗?

  5. 或者只是尝试解析用户编写的SQL并在条件查询中使用它?

将现有条件查询更改为本机SQL查询相当于讨论.

java sql hibernate jpa criteria-api

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

Java中抽象和多态的优点

我正在阅读Java中的抽象概念.

这些是我的理解:

  1. 抽象是一种呈现函数签名和隐藏实现的方法,将其留给可以实现/扩展接口/抽象类的用户.
  2. 通过这种方式,我们可以实现更少的代码修改范围,可重用性.
  3. 我们可以将对象实时与程序代码中的对象紧密关联.

这些是我的问题:

  1. 当抽象类在所有方法都是抽象的时候可以像接口一样运行时,为什么我们需要单独使用接口?请用一个例子来解释,以便更好地理解.

  2. 我们可以在功能的基础上调用Abstract class = Interface + Inheritance吗?因为我们可以与Abstract类一起实现接口和继承的功能.

java oop abstraction interface

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

适用于UNIX sys/classes/gpio文件的NIO watchservice

是否可以在/sys/class/gpio/gpioX设备树中的文件上设置JAVA NIO WatchService 来监督那里的更改?

最好直接从Java中检测GPIO文件(即GPIO输入)的变化,但我担心这是不受支持的.

确认它不受支持(也许是为什么)就足够了.

java nio gpio watchservice

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

以编程方式制作单个按钮宽度以填充父级

如何使单个按钮宽度以编程方式填充父级?我已经这样做了,但它似乎无法工作它仍然位于左上角,宽度只是包装内容......这里是按钮创建的一些代码......

public class TEST_GIFDisplay extends Activity implements View.OnClickListener {

    SurfaceView sview;
    GifRun gr = new GifRun();
    Button btnBack;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        sview = new SurfaceView(this);
        sview.setZOrderOnTop(true);

        gr.LoadGiff(sview, this, R.drawable.smiley);

        LinearLayout linearLayout1 = new LinearLayout(this);
        linearLayout1.setOrientation(LinearLayout.VERTICAL);
        linearLayout1.setBackgroundColor(Color.parseColor("#27ae60"));
        linearLayout1.setLayoutParams(new ViewGroup.LayoutParams(
                ViewGroup.LayoutParams.WRAP_CONTENT,
                ViewGroup.LayoutParams.WRAP_CONTENT));

        LinearLayout linearLayout2 = new LinearLayout(this);
        linearLayout2.setOrientation(LinearLayout.VERTICAL);
        linearLayout2.setBackgroundColor(Color.parseColor("#27ae60"));
        linearLayout2.setLayoutParams(new ViewGroup.LayoutParams(
                ViewGroup.LayoutParams.WRAP_CONTENT,
                ViewGroup.LayoutParams.WRAP_CONTENT));

        LinearLayout.LayoutParams p = new   
        LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,   
        LinearLayout.LayoutParams.WRAP_CONTENT);
        p.weight = 1.0f;

        btnBack = new Button (this);
        btnBack.setText("Back");
        btnBack.setBackgroundColor(Color.parseColor("#f1c40f"));
        btnBack.setGravity(Gravity.CENTER_HORIZONTAL);
        btnBack.setLayoutParams(p);
        btnBack.setOnClickListener(this);

        linearLayout2.addView(btnBack);
        linearLayout1.addView(linearLayout2);
        linearLayout1.addView(sview);

        setContentView(linearLayout1);
    }

    @Override
    public …
Run Code Online (Sandbox Code Playgroud)

android parent button width fill

5
推荐指数
1
解决办法
7672
查看次数