小编Nat*_*hes的帖子

使用lucene/java标记名称

我有我公司所有员工的名字(5000+).我想编写一个引擎,可以动态地在线文章(博客/维基/帮助文档)中找到名称,并用用户电子邮件标记"mailto"标签.

截至目前,我计划从文章中删除所有停用词,然后在lucene索引中搜索每个单词.但即使在这种情况下,我也会看到很多查询命中索引,例如,如果有一篇文章有​​2000个单词而且只有两个对人名的引用,那么很可能会有1000个lucene查询.

有没有办法减少这些查询?还是完全相同的另一种方式?提前致谢

java lucene tagging

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

将JComboBox与自定义渲染器一起用作JTable单元格渲染器/编辑器(体系结构)

我是GUI设计的新手,我试图在我走错路之前做好计划,任何帮助都会很好.我正在尝试显示JTable一行Employee,其本身的数据类型为StringArrayList<Cert>.Cert包含一个String.

我想让表格显示用于编辑的数据,但是对于一些列我想要实现从一组有效字符串中JComboBox选择a String,以及不同地为每个选项着色(不同的背景颜色)在JComboBox)).

此外,ArrayList<Cert>当前在单元格中显示为[xxx,xxx,...],其中XXX是toString()函数中每个项目的返回值ArrayList.我想我想把它显示ArrayList<Cert>为只读JComboBox,但我并不关心这个项目.

我在质疑我需要创建多少个类才能实现这一目标.我已经有了JTable扩展的自定义模型AbstractTableModel.我是否需要编写扩展名JComboBox或者我是否需要JComboBox为一个单元格扩展适当的渲染器并在那里进行魔术,然后将该自定义渲染器分配给单元格的单元格渲染器String

到目前为止,这是我所拥有的,轻描淡写的:

public class EmployeeTableModel extends AbstractTableModel {
  ...
  private ArrayList<Employee> myDataObjects = new ArrayList<Employee>();
  ...
  @Override
  public Object getValueAt(int row, int column) {
      Employee emp = myDataObjects.get(row);

      switch (column) {
          case 0:
              return emp.getName();
          case 1:
              return emp.getShift(); …
Run Code Online (Sandbox Code Playgroud)

java swing jtable renderer

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

H2没有识别regexp_like

我编写了一个在Oracle数据库上运行的查询,该数据库使用函数REGEXP_LIKE来过滤查询中的某些行.具体的函数调用是

regexp_like(col1, '[^[:alpha:]]')
Run Code Online (Sandbox Code Playgroud)

问题是当我在H2上运行查询时出现以下错误:

org.h2.jdbc.JdbcSQLException: Function "REGEXP_LIKE" not found
Run Code Online (Sandbox Code Playgroud)

如果我使用SQLDeveloper工具直接在Oracle数据库上运行查询,它将按预期返回.

可能导致这种情况的任何想法?

java regex database jdbc h2

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

流程线程安全吗?

在我最近的采访中,通过解释一个情况,他们询问这个过程是否是线程安全的

有两个同步方法,一个是静态的,另一个不是静态的,即非静态方法A和静态方法B.这两个方法访问共享数据.

现在线程A调用非静态方法A而线程B调用静态方法B.这个线程是否安全并解释y?

java static multithreading thread-safety synchronize

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

如何在Java 8中处理货币?

处理货币的首选方式是什么Java 8

可能感兴趣的事情是

* Currency Full Name (e.g. United States Dollar)  
* Currency Abbreviation (e.g. USD)  
* Currency Symbol (e.g. $)  
Run Code Online (Sandbox Code Playgroud)

我可能在这里遗失的任何其他事情?

什么是最好的选择?

java java-ee java-8

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

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

如何给java足够的时间为变量赋值?

我有一个循环,在循环结束时a String[]被添加到ArrayList(在类中声明而不是方法)并且在循环的开头说String[]清除了它的内容:

String[] a = new String[2];
while(true){
  a[0] = "";
  a[1] = "";
  -----some code----

(that adds to a[0] and a[1])

  -----some code----
  //lets call our ArrayList list
  list.add(a);
}
Run Code Online (Sandbox Code Playgroud)

因此,列表中存储的内容通常是空的String.我认为这是因为java进入下一步的速度太快但我不确定,请问有什么帮助吗?这是我的所有代码:

static ArrayList<String[]> Names = new ArrayList<String[]>();
public static void read(BufferedReader stream){
        String[] aux = new String[2];
        char it = 2;

    try{
        while(it != (char) -1){
            aux[0] = "";
            aux[1] = "";
            it = (char) stream.read();

            while(Character.isLetter(it)){
                aux[0] += it;
                it = …
Run Code Online (Sandbox Code Playgroud)

java arrays string loops arraylist

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

hibernate无法将ID指定为double

我尝试使用此xml为具有双数据类型的hibernate分配ID

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC
      "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
      "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping >
        <class name="User" table="user">
            <id name="id" type="double"  >
                <column name="id_user" />
                <generator class="increment"  />
            </id>
            <property name="username" />
            <property name="password" />
            <property name="email" />

       </class>
    </hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)

但它给了我错误

org.hibernate.id.IdentifierGenerationException: Unknown integral data type for ids : java.lang.Double
    at org.hibernate.id.IdentifierGeneratorHelper.getIntegralDataTypeHolder(IdentifierGeneratorHelper.java:210) at org.hibernate.id.IdentifierGeneratorHelper.getIntegralDataTypeHolder(IdentifierGeneratorHelper.java:210)
Run Code Online (Sandbox Code Playgroud)

我的代码出了什么问题?或者它是一个Hibernate错误还是什么?

java hibernate id-generation

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

尽管从同步上下文中调用notifyAll(),仍然是IllegalMonitorStateException

public class Alternate {
    static Boolean mutex = true;
    public static void main(String[] args) {
        Thread t1 = new Thread(new Odd(mutex));
        Thread t2 = new Thread(new Even(mutex));
        t1.start();
        t2.start();
    }
}

class Odd implements Runnable{
    Boolean mutex;

    Odd( Boolean mutex){
        this.mutex=mutex;   
    }

    @Override
    public void run() {
        try {
            synchronized(mutex){
                while(mutex){
                    mutex.wait();
                }
                System.out.println("odd");
                mutex=true;
                mutex.notifyAll();
                Thread.sleep(500);
            }
        }catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

class Even implements Runnable{
    Boolean mutex;

    Even( Boolean mutex){
        this.mutex=mutex;
    }

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

java multithreading synchronized

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

ThreadLocal和非线程安全的API

所以我有一个非线程安全的API(一些供应商软件),我正在使用它,我们当前使用它的方式是每个线程一个对象.即每个线程都有:

Foo instance = new Foo();
Run Code Online (Sandbox Code Playgroud)

但是,这似乎不适用于此特定库.它的一些非线程安全位仍然看起来像是头,所以我假设这个库里面有一些静态值.在我们知道它有问题的几个点上,我们目前正在使用ReentrantLock在需要时锁定该类.IE

public class Bar {
    protected static final ReentrantLock lock = new ReentrantLock();

    public void process() {
        Foo instance = new Foo();
        boolean locked = false;
        try{
            if(SomeCondition) {
                locked = true;
                Bar.lock.lock();
            }

            *//rest of the processing goes here

        } finally {
            if(locked){
                Bar.lock.unlock();
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:在这样一个实例中,所讨论的类不是线程安全的,即使在创建所述类的新实例时,使用锁定是否更好,或者我应该看看我是否正在使用ThreadLocals?ThreadLocals会减轻我的实际问题吗?类的ThreadLocal版本是否实际上强制类的静态区域基本上是非静态的?

java static multithreading thread-safety thread-local

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