小编Gel*_*Luo的帖子

是否有任何Java库可以在像http.conf这样的unix配置文件上运行

有很好的Perl库(例如Apache :: Admin :: Config)可以在像httpd.conf这样的传统unix配置文件上运行.有谁知道是否有好的Java库来完成类似的任务?

我知道有一个名为Augeas的 ac库,带有Java绑定.以前有人用过吗?

谢谢!

java linux perl config

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

访问被拒绝在Windows 7上为管理员帐户提交文件

我想删除我的Windows 7框中由git创建的git存储库(.git文件夹).它说拒绝访问.git/refs/header文件夹.

我打开一个具有管理员角色的控制台,发出命令"takeown/F heads/A/R",它仍然显示"ERROR:Access is denied.",我也无法通过GUI安全对话框进行操作.

有什么建议吗?

此致,绿色

windows git administrator access-denied windows-7

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

任何java markdown库都支持github语法?

我正在寻找一个用于渲染markdown文件的java库,它有利于github markdown语法.

具体来说,我需要它支持github的代码块样式(标准markdown不支持):

```javascript
alert("hello world")
```
Run Code Online (Sandbox Code Playgroud)

java markdown github

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

我可以在GitHub页面中使用Markdown文件吗?

由于GitHub wiki不支持目录,我想将我的md文件放入GitHub页面.然而,当我打开它们时,我发现它们根本没有被解释.GitHub只给我原始文件.见http://greenlaw110.github.com/Rythm/en/index.md.任何的想法?

markdown wiki github github-pages

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

在ubuntu上限制jvm进程内存

我知道有同样的问题,像这样一个被提问和回答.我对答案不满意,所以让我在这里详细介绍一下这些消息.

我尝试使用JVM OPT启动我的应用程序:-Xmx128m -Xms32m -XX:MaxPermSize=64m.当应用程序启动时我通过键入检查内存使用情况cat /proc/10413/status,我发现vmsize超过600512 kB!这比我的设置大.我想知道如何限制进程的jvm内存使用.

Name:   java
State:  S (sleeping)
Tgid:   10413
Pid:    10413
PPid:   1
TracerPid:      0
Uid:    1001    1001    1001    1001
Gid:    1007    1007    1007    1007
FDSize: 128
Groups: 1001 1007
**VmPeak:   728472 kB**
**VmSize:   600512 kB**
VmLck:         0 kB
VmHWM:    298300 kB
VmRSS:    280912 kB
VmData:   647804 kB
VmStk:       140 kB
VmExe:        36 kB
VmLib:     13404 kB
VmPTE:       808 kB
VmSwap:        0 kB
Threads:        33
SigQ:   0/31522
SigPnd: 0000000000000000 …
Run Code Online (Sandbox Code Playgroud)

java linux memory jvm

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

Intellij IDEA 12响应缓慢

我已升级到IDEA 12,并对响应缓慢感到沮丧.类导航需要几秒钟来填充搜索列表(以前它是即时的),任何与文件列表操作相关的对话框都会挂起几分钟.将一个类移动到另一个包只是挂起,我必须杀死该进程.有没有人和我有同样的经历?

其他信息:

  • 我在Windows 7上
  • 我尝试了64和32版本,两者都有相同的问题
  • 我的64位vmoption文件具有以下配置:

在此输入图像描述

  • 我将日志目录压缩并放在http://ge.tt/1JwgAnU/v/0上.当我开始生成日志目录时,我先清理它然后启动IDEA 64位,打开一个项目(自动),然后调用File> import module命令.我发现在弹出对话框之前有大约一分钟的延迟.在日志目录中,我看到一个threadDumps-20130106-091041-IU-123.100文件夹.但是在idea.log文件中没有发现异常.

更新

当试图通过拖放将一个类移动到另一个包时,显示IDEA的屏幕截图挂起:http://www.screenr.com/zlA7

java intellij-idea

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

使用javax.tool级联内存编译

Eclipse的JDT编译器提供了一个接口INameEnvironment,该接口定义了findType(...)使您能够进行级联编译的方法.奇怪的是我想知道是否有任何方法可以使用标准的JDK编译工具包来做到这一点?

注意,该场景是一个模板引擎,它在内存编译中为模板文件生成的类进行相互依赖,并且它无法预测您遇到模板文件的顺序,因此Foo可能需要先编译才能进行父Bar编译,因此你需要一个机制来进行级联编译,这意味着在编译期间Foo你需要生成另一个源Bar并首先编译它以便继续Foo编译:一些代码如下:

private NameEnvironmentAnswer findType(final String name) {
    try {
        if (!name.contains(TemplateClass.CN_SUFFIX)) {
            return findStandType(name);
        }

        char[] fileName = name.toCharArray();
        TemplateClass templateClass = classCache.getByClassName(name);

        // TemplateClass exists
        if (templateClass != null) {

            if (templateClass.javaByteCode != null) {
                ClassFileReader classFileReader = new ClassFileReader(templateClass.javaByteCode, fileName, true);
                return new NameEnvironmentAnswer(classFileReader, null);
            }
            // Cascade compilation
            ICompilationUnit compilationUnit = new CompilationUnit(name);
            return new NameEnvironmentAnswer(compilationUnit, null);
        }

        // So it's …
Run Code Online (Sandbox Code Playgroud)

java compiler-construction classpath classloader in-memory

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

Mongodb:`com.mongodb.MongoSocketReadException:过早地到达流的末端`与morphia

我有一个简单的数据结构(Transaction下面引用)插入到mongodb中:

{"amount":111,"debitAcc":"588188286231743e7d5c923d","type":"CHARGE"}
Run Code Online (Sandbox Code Playgroud)

我得到以下错误堆栈:

com.mongodb.MongoSocketReadException: Prematurely reached end of stream
        at com.mongodb.connection.SocketStream.read(SocketStream.java:88)
        at com.mongodb.connection.InternalStreamConnection.receiveResponseBuffers(InternalStreamConnection.java:494)
        at com.mongodb.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:224)
        at com.mongodb.connection.UsageTrackingInternalConnection.receiveMessage(UsageTrackingInternalConnection.java:96)
        at com.mongodb.connection.DefaultConnectionPool$PooledConnection.receiveMessage(DefaultConnectionPool.java:440)
        at com.mongodb.connection.WriteCommandProtocol.receiveMessage(WriteCommandProtocol.java:262)
        at com.mongodb.connection.WriteCommandProtocol.execute(WriteCommandProtocol.java:104)
        at com.mongodb.connection.InsertCommandProtocol.execute(InsertCommandProtocol.java:67)
        at com.mongodb.connection.InsertCommandProtocol.execute(InsertCommandProtocol.java:37)
        at com.mongodb.connection.DefaultServer$DefaultServerProtocolExecutor.execute(DefaultServer.java:168)
        at com.mongodb.connection.DefaultServerConnection.executeProtocol(DefaultServerConnection.java:289)
        at com.mongodb.connection.DefaultServerConnection.insertCommand(DefaultServerConnection.java:118)
        at com.mongodb.operation.InsertOperation.executeCommandProtocol(InsertOperation.java:76)
        at com.mongodb.operation.BaseWriteOperation$1.call(BaseWriteOperation.java:139)
        at com.mongodb.operation.BaseWriteOperation$1.call(BaseWriteOperation.java:133)
        at com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:422)
        at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:413)
        at com.mongodb.operation.BaseWriteOperation.execute(BaseWriteOperation.java:133)
        at com.mongodb.operation.BaseWriteOperation.execute(BaseWriteOperation.java:60)
        at com.mongodb.Mongo.execute(Mongo.java:845)
        at com.mongodb.Mongo$2.execute(Mongo.java:828)
        at com.mongodb.DBCollection.executeWriteOperation(DBCollection.java:342)
        at com.mongodb.DBCollection.insert(DBCollection.java:337)
        at com.mongodb.DBCollection.insert(DBCollection.java:328)
        at org.mongodb.morphia.DatastoreImpl.saveDocument(DatastoreImpl.java:1297)
        at org.mongodb.morphia.DatastoreImpl.tryVersionedUpdate(DatastoreImpl.java:1340)
        at org.mongodb.morphia.DatastoreImpl.save(DatastoreImpl.java:1286)
        at org.mongodb.morphia.DatastoreImpl.save(DatastoreImpl.java:775)
        at org.mongodb.morphia.DatastoreImpl.save(DatastoreImpl.java:758)
Run Code Online (Sandbox Code Playgroud)

我的mongodb版本是3.4.2.

Intereting是我在我的本地开发环境中没有问题(mint linux 18.1).但它无法在我的SIT环境中运行,这是一个ubuntu 16.04

任何的想法?

使用代码更新以插入文档

在此输入图像描述

在哪里transactionDao.save(...) …

mongodb morphia mongodb-java

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

Java 8函数总是返回相同的值而不考虑参数

Java 8中是否有预定义函数可以执行以下操作:

static <T, R> Function<T, R> constant(R val) {
    return (T t) -> {
        return val;
   };
}
Run Code Online (Sandbox Code Playgroud)

在我尝试将整数解析为罗马数字时,回答人们对我为什么需要此函数的查询是真正的用法:

// returns the stream of roman numeral symbol based
// on the digit (n) and the exponent (of 10)
private static Stream<Symbol> parseDigit(int n, int exp) {
    if (n < 1) return Stream.empty();
    Symbol base = Symbol.base(exp);
    if (n < 4) {
        return IntStream.range(0, n).mapToObj(i -> base);
    } else if (n == 4) {
        return Stream.of(base, Symbol.fifth(exp));
    } else if …
Run Code Online (Sandbox Code Playgroud)

java functional-programming java-8

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

jline2打印"^ J"时应该在telnet控制台上打印"\n"

我正在使用JLine 2(v2.13)和Socket IO为我的应用程序创建一个管理控制台,可以通过普通的telnet客户端访问.但是我发现打印出换行符时会打印出奇怪的符号:

act.app.restart  restart app^Jact.job.list  List jobs
Run Code Online (Sandbox Code Playgroud)

正确的输出应该是:

act.app.restart  restart app
act.job.list     List jobs
Run Code Online (Sandbox Code Playgroud)

我追溯到代码,发现以下代码行导致了麻烦:

在此输入图像描述

另一个奇怪的事情是当我按下向上箭头来获取历史记录时,控制台打印出来^[[A并且没有其他任何事情发生.

有谁有想法吗?

更新:添加了相关的源代码

  1. 接受传入telnet连接的代码:

在此输入图像描述

  1. 创建ConsoleReader和分派命令的代码:

在此输入图像描述

更新2

对不起,我已经消失了一段时间.刚回来,因为我的项目让我呼吸新鲜空气.所以这就是发生的事情:我创建了一个PrintWriter并将其用作^J问题的解决方法:

在此输入图像描述

但是,jline2与telnet会话一起使用时还有许多其他问题:

  1. 键入<TAB>显示选项卡而不是激活完整列表.但是,在我按下回车键后,它会给我一个完整的列表以及一条错误消息: 在此输入图像描述
  2. 键入<UP>箭头,显示^[[A,按回车键,它将执行我的最后一个命令.但是我丢失了命令行编辑

问题仍然存在,我相信应该有办法解决它只需要一些指导......

java telnet jline stty jline2

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