小编Vil*_*ius的帖子

Java作为Unix服务运行

我在Java中构建了一个小守护进程,我想在Unix下运行它作为服务(例如Debian 5).我已经读过有可能使用Java包装器,但是没有其他更容易实现的选项吗?我不能只使用Unix等命令xxx java -jar program.jar吗?

java unix service daemon

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

Java String替换不起作用

String delimiter = "\\*\\*";
String html = "<html><head></head><body>**USERNAME** AND **PASSWORD**</body></html>";
Map<String, String> mp = new HashMap<String, String>();
mp.put("USERNAME", "User A");
mp.put("PASSWORD", "B");
for (Entry<String, String> entry : mp.entrySet()) {
  html.replace(delimiter + entry.getKey()+ delimiter, entry.getValue());
}
Run Code Online (Sandbox Code Playgroud)

这应该通常取代这两个字符串,但事实并非如此.有没有人有想法?

java string replace

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

PDF表格提取

我有(相同)数据保存为GIF图像文件和PDF文件,我想将其解析为HTML或XML.这些数据实际上是我大学食堂的菜单.这意味着有一个新版本的文件必须每周解析!通常,这些文件包含一些页眉和页脚文本,以及一个充满其他数据的表.我已经阅读了有关stackoverflow的一些帖子,我也开始尝试将表数据解析为HTML/XML:

PDF

  • PDFBox || iText(Java)
  • Google文档导入
  • PDF2HTML || PDF2Table

GIF

  • 正方体-OCR

通过使用PDFBox解析PDF文件,我得到了最好的结果,但仍然(因为菜单每周更改),它不够可靠.我收到的HTML有时包含更多,有时更少的"段落"(<p>),因此我无法对数据进行足够的解析.

这就是为什么我想知道是否有其他方法可以做到这一点?

pdf extraction pdfbox

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

Android NFC IsoDep读取文件内容

我正在尝试从ISO/IEC 14443 A型卡中读取一些信息.

在使用Android应用程序NFC TagInfo分析卡片后,我发现应用程序(AID:15845F)具有我需要的特定文件(文件ID:01).

我已经设法连接到卡并选择应用程序.

String action = getIntent().getAction();
if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(action))
{
    Tag tagFromIntent = getIntent().getParcelableExtra(NfcAdapter.EXTRA_TAG);  
    Log.i(TAG, Arrays.toString(tagFromIntent.getTechList()));

    IsoDep isoDep = IsoDep.get(tagFromIntent);
    try
    {
        isoDep.connect();

        byte[] SELECT = { 
            (byte) 0x00, // CLA = 00 (first interindustry command set)
            (byte) 0xA4, // INS = A4 (SELECT)
            (byte) 0x04, // P1  = 04 (select file by DF name)
            (byte) 0x0C, // P2  = 0C (first or only file; no FCI)
            (byte) 0x06, // Lc  = 6 …
Run Code Online (Sandbox Code Playgroud)

android apdu nfc mifare contactless-smartcard

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

mysql截断归档表

我有一个存档存储引擎的表,我想清除它.既不会delete,也truncate不会因为引擎定义而起作用.但除了让整张桌子重新创建之外,还有其他方法吗?

mysql archive

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

Java中的浅拷贝

我已经知道,这是一个浅薄的副本,但我无法暗示它.这是一个简短的例子.

public class Shallow {
String name;
int number;

 public Shallow (Shallow s) {
  this.name = s.name;
  this.number = s.number;
 }
}
Run Code Online (Sandbox Code Playgroud)

测试实施......

public class ShallowTest {
public static void main (String[] args) {
    Shallow shallow  = new Shallow("Shallow", 123);
 Shallow shallowClone = new Shallow(shallow);
    shallowClone.name = 'Peter';
    shallowClone.number = 321;
    System.out.println(shallow.name + " - " + shallow.number);
}
}
Run Code Online (Sandbox Code Playgroud)

按照我的意图,只复制非原始数据类型String的引用,以便通过调用"shallowClone.name ='Peter';" 我也会更改"浅"的名称.我对吗?但不知何故,它只是不想工作....

java constructor copy

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

Solr DataImportHandler CachedSqlEntityProcessor ClassCastException

我正在使用Solr 4.6.0并尝试使用导入我的数据CachedSqlEntityProcessor,但不知何故我最终得到了一个ClassCastException.

架构

<fields>
   <field name="_version_" type="long" indexed="true" stored="true"/>
   <field name="id" type="int" indexed="true" stored="true" required="true" multiValued="false" /> 
   <field name="conference" type="string" indexed="true" stored="true" />
   <field name="year" type="int" indexed="true" stored="true" />
   <field name="doi" type="string" indexed="false" stored="true" />
   <field name="text" type="text_en_shingling" indexed="true" stored="true" />
 </fields>
Run Code Online (Sandbox Code Playgroud)

数据配置

<dataConfig>
    <dataSource name="mysql" type="JdbcDataSource" 
        driver="com.mysql.jdbc.Driver" 
        url="..." 
        batchSize="-1" 
        user="..." password="..." />
    <document name="publications">
        <entity name="publication" query="
            SELECT
                sm_publications.id AS p_id,
                sm_publications.year AS p_year,
                sm_publications.doi AS p_doi,
                CONCAT(sm_publications.title, ' ', sm_publications.abstract) AS p_text, …
Run Code Online (Sandbox Code Playgroud)

solr classcastexception dataimporthandler

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

Java奇怪的线程终止

我有一个运行多个线程的系统 - 我的主线程只是检查是否有要完成的工作,如果有一些,它会调用notifyAll()将执行它的子线程().在那之后,子线程wait()直到有一些新的任务.

实际上,线程系统运行可靠,但经过较长的运行时间(3-5h)后,某些子线程会在没有警告或错误的情况下死亡.他们只是一个接一个地退出 - 但是再次只有2个小时的时间范围.我已经使用jconsole来检查这种现象,哪些线程正在运行以及它们如何简单地消失.

此外,主线程每秒执行一次,但是子线程主要是wait()并且根本不经常使用(因为在测试环境中没有那么多任务).

我能想到的唯一原因是,JVM关闭了子线程,因为它们经常使用不够?

我非常感谢你的帮助!

PS所有线程都没有定义为守护进程,主线程正常工作!

编辑

谢谢你的答案,但我实际上使用这个循环.

public void addTask (Task in_task) throws InterruptedException {
        synchronized (tasks) {
              while (tasks.size() == MAXIMUM_NUMBER_OF_TASKS) {
                   tasks.wait();
              }
              tasks.offer(in_task);
              tasks.notifyAll();
        }
}
Run Code Online (Sandbox Code Playgroud)

我使用这个循环,所以只执行一些特殊的任务.

java multithreading jvm

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