小编Aar*_*lla的帖子

使用 ImageMagick 清理扫描的灰度图像

我有很多文本页面的扫描(白底黑字)。

我通常的方法是使用 Curves 对话框使用只有四个点的非常简单的曲线来清理 Gimp 中的那些:0,0 - 63,0 - 224,255, 255,255

这使所有灰色文本变黑,并使文本更清晰,并将大部分白色像素变为纯白色。

如何使用 ImageMagick 或其他一些完全从命令行运行的 Linux 工具在脚本中实现相同的效果?

-normalize或者-contrast-stretch不工作,因为它们使用像素数进行操作。我需要一个运算符,它可以使颜色 0-63(灰度)变黑,224 纯白色以上的所有颜色,其余部分都应归一化。

imagemagick image-processing image-scanner

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

如何在OSGi/Equinox/Eclipse中附加库包的源代码?

创建了一个库包commons-lang3,这很好用.我可以构建bundle,添加一个依赖项,然后在我的插件中使用这个bundle中的所有类.

但我没有看到调试器中的源代码.

为此库包创建源包的最简单方法是什么?

PS:库包是一个包含原始JAR文件的插件; Eclipse不会再次编译源代码,只是将现有的JAR添加到类路径中.

eclipse osgi bundle equinox

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

对记忆障碍有很好的介绍吗?

我正在寻找一个很好的在线介绍内存障碍和Java代码中常见的陷阱:

  • synchronized经常使用或不经常使用
  • 何时使用volatilefinal
  • 双重检查锁定
  • 等等

我特别感兴趣的是代码,它显示了行为和/或示例如何解决常见问题(比如创建一个多个线程可以访问的地图以及懒惰地添加值的地方).

java concurrency memory-barriers

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

奇怪的Oracle连接URL

我们的一位客户正在尝试使用以下JDBC URL连接到Oracle数据库:

jdbc:oracle:thin:@(DESCRIPTION=(FAILOVER=ON)LOAD_BALANCE=OFF)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=server1.domain.com)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=server2.domain.com)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=FOO))) 
Run Code Online (Sandbox Code Playgroud)

他们得到这个错误:

Caused by: oracle.net.ns.NetException: NL Exception was generated
    at oracle.net.resolver.AddrResolution.resolveAddrTree(AddrResolution.java:614) ~[ojdbc5_11g-11.2.0.1.0.jar:11.2.0.1.0]
    at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:411) ~[ojdbc5_11g-11.2.0.1.0.jar:11.2.0.1.0]
    at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:672) ~[ojdbc5_11g-11.2.0.1.0.jar:11.2.0.1.0]
    at oracle.net.ns.NSProtocol.connect(NSProtocol.java:237) ~[ojdbc5_11g-11.2.0.1.0.jar:11.2.0.1.0]
    at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1042) ~[ojdbc5_11g-11.2.0.1.0.jar:11.2.0.1.0]
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:301) ~[ojdbc5_11g-11.2.0.1.0.jar:11.2.0.1.0] 
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 我之前从未见过这样的连接URL.它看起来更像是TNSNAMES.ORA中的一个条目.如何找出此连接字符串的含义?

  2. 什么可能导致这个无用的错误消息?

java oracle jdbc

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

一个目录中的所有文件,linux

今天我在linux中尝试了一个脚本来获取一个目录中的所有文件.这很简单,但我发现了一些有趣的东西.

 #!/bin/bash
InputDir=/home/XXX/
for file in $InputDir'*'
do
  echo $file
done
Run Code Online (Sandbox Code Playgroud)

输出是:

/home/XXX/fileA /home/XXX/fileB 
Run Code Online (Sandbox Code Playgroud)

但是当我直接输入dir时,就像:

 #!/bin/bash
InputDir=/home/XXX/
for file in /home/XXX/*
do
  echo $file
done
Run Code Online (Sandbox Code Playgroud)

输出是:

/home/XXX/fileA
/home/XXX/fileB
Run Code Online (Sandbox Code Playgroud)

看来,在第一个脚本中,只有一个循环,所有文件名都存储在FIRST循环中的变量$ file中,用空格分隔.但是在第二个脚本中,一个文件名只在一个循环中存储在$ file中,并且有多个循环.这两个脚本之间究竟有什么区别?

非常感谢,也许我的问题有点幼稚..

linux bash

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

Java泛型接口实现

我有一个如下界面,

public interface MethodExecutor {
    <T> List<T> execute(List<?> facts, Class<T> type) throws Exception;
}
Run Code Online (Sandbox Code Playgroud)

另外,我有一个如下的通用实现,

public class DefaultMetodExecutor implements MethodExecutor {

   public <T> List<T> execute(List<?> facts, Class<T> type) throws Exception
   {
     List<T> result = null;

      //some implementation

      return result;
  }
}
Run Code Online (Sandbox Code Playgroud)

至此,没有编译问题,

但是这个接口的具体实现无法编译,如下所示.

public class SpecificMetodExecutor implements MethodExecutor {

   public <Model1> List<Model1> execute(List<Model2> facts, Class<Model1> type) throws Exception
   {
     List<Model1> result = null;

     //some implementation specific to Model1 and Model2

      return result;
  } 
}
Run Code Online (Sandbox Code Playgroud)

如何为某些已定义的对象实现此接口?我需要去上课级别的泛型吗?

java generics

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

致命错误:jni.h:没有这样的文件或目录

我正在尝试在Windows上重新创建本教程: Java Native Interface(JNI)

当我尝试编译它时,我收到以下错误:

fatal error: jni.h: No such file or directory

 #include <jni.h>

compilation terminated.
Run Code Online (Sandbox Code Playgroud)

我的命令行是:

gcc -Wl,--add-stdcall-alias -IC:\Program_Files\Java\jdk1.7.0_45\include -IC:\Program_Files\Java\jdk1.7.0_45\include\win32 -shared -o hello.dll HelloJNI.c
Run Code Online (Sandbox Code Playgroud)

我在所有文件所在的文件夹中编译.

我确信此文件夹中的文件"jni.h"位于:

C:\Program Files\Java\jdk1.7.0_45\include
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么import语句不起作用?

谢谢!

c java native interface

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

将几个Maven模块提取/移动到新的Git存储库中

我有一个巨大的Git仓库,有大约50个Maven模块(一个Maven反应堆构建).如何将其中一些模块移动到新的Git仓库中?

我试过git subtree但是这些命令总是将代码移动到新repo的根目录加上我不能说"我想要a/,b/并且c/d/在我的新回购中" - 而是我必须移动每个单独的树,然后我必须重命名文件然后从根部移动到他们的旧地方(相对而言).

如何导出/复制/移动一组路径过滤的变更集,从一个Git仓库到另一个,而不对它们进行任何更改?种类:我如何用Git 重复历史?

注意:我想移动数据.新的回购不应该由Git以任何方式联系起来; Maven已经为我做了这件事.subtree推动上游变革或类似事情没有必要.我希望世界看起来好像我们有两个回购开头.

git extract

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

如何配置Maven不使用代理服务器

我试图配置Maven不使用代理服务器.这结果是很多工作.在某处,Maven已经阅读了一些它继续使用的代理信息.

我已经尝试了以下内容.

  1. 在终端未设置http_proxyhttps_proxy
  2. 我没有settings.xml.我添加了一个并使用activeis 添加了代理配置false
  3. 在settings.xml active = truenonProxyHosts = *
  4. 我删除了代理设置 /etc/environment

我不想安装本地代理服务器只是为了让它工作,是否有另一种方法告诉M​​aven不要使用代理服务器.

maven

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

GroovyClassLoader / ClassLoader如何工作?

我看到类似的代码

GroovyClassLoader cLoader = new GroovyClassLoader(this.class.getClassLoader())
Run Code Online (Sandbox Code Playgroud)

接下来是类似的东西:

cLoader.loadClass([class name])
Run Code Online (Sandbox Code Playgroud)

我对我应该了解的GroovyClassLoader班级及其目的感兴趣this.class.getClassLoader()

java groovy

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