小编Urs*_*ong的帖子

存储jtree的状态/扩展节点以恢复状态

我正在和JTree合作.

我想知道什么是最好的方法来了解在JTree中扩展哪些节点以便保存其状态(即保存所有扩展路径).因此,如果我调用model.reload()Jtree不会保持折叠,但我将能够将其原始状态恢复到用户,即,将扩展所有扩展节点.

java user-interface swing jtree treemodel

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

如何模仿私人吸气者?

我有一个我想测试的课程.它看起来类似于:

public class ClassUnderTest
{
    private Dependency1 dep1;

    private Dependency1 getDependency1()
    {
       if (dep1 == null)
          dep1 = new Dependency1();
       return dep1;
     }

    public void methodUnderTest()
    {
       .... do something
       getDependency1().InvokeSomething(..);
    }
}
Run Code Online (Sandbox Code Playgroud)

类Dependency1很复杂,我想在编写单元测试时嘲笑它methodUnderTest().

我怎么做?

java jmockit

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

为什么Scala的尾递归慢于Java?

使用尾递归进行简单加法的Scala代码

def add(list : List[Int],sum:Int):Int = {
    //Thread.dumpStack()
    if (list.isEmpty) {
        sum
    } else {
        val headVal  = list.head
        add(list.tail, sum + headVal)
    }
}
Run Code Online (Sandbox Code Playgroud)

下面是递归模式下添加的java代码.

public static int add(List<Integer> list, Integer sum) {
    // Thread.dumpStack();
    if (list.isEmpty()) {
        return sum;
    } else {
        int headVal = list.remove(0);
        return add(list, sum + headVal);
    }
}
Run Code Online (Sandbox Code Playgroud)

Java版本运行速度至少快10倍.这是1000条目.通过使用System.nanoTime()API之前和之后的测量时间.

Scala版本2.10,Java版本Java 7.两个运行的JVM属性相同.

java jvm scala tail-recursion

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

如何在Java中附加到DataOutputStream?

我希望我的程序将URL地址(一次一个)保存到文件中.这些地址需要以UTF格式保存,以确保它们是正确的.

我的问题是文件一直被覆盖,而不是附加:

    DataOutputStream DOS = new DataOutputStream(new FileOutputStream(filen, true));
    Count = 0;
    if (LinkToCheck != null) {
    System.out.println(System.currentTimeMillis() + " SaveURL_ToRelatedURLS d "+LinkToCheck.Get_SelfRelationValue()+" vs "+Class_Controller.InterestBorder);
    if (LinkToCheck.Get_SelfRelationValue() > Class_Controller.InterestBorder) {
        DOS.writeUTF(LinkToCheck.Get_URL().toString() + "\n");
        Count++;
    }
    }
    DOS.close();
Run Code Online (Sandbox Code Playgroud)

此代码不会附加,所以我该如何追加它?

java append dataoutputstream

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

JSONObject排序的映射参数

我有一个Map,它包含String键和String和整数值.我将值放入地图中,如下所示:

Map map = new LinkedHashMap();
map.put("b", 1);
map.put("a", 2);
Run Code Online (Sandbox Code Playgroud)

在此之后,我将地图添加到List中:

List out = new LinkedList();
out.add(map);
Run Code Online (Sandbox Code Playgroud)

之后,我创建了一个JSONObject并将List放入其中:

org.json.JSONObject json = new org.json.JSONObject();
json.put("header", "header");
json.put("array", out);
Run Code Online (Sandbox Code Playgroud)

但如果我这样做,我会看到这个json结构:

{"header":"header","array":[{"a":2,"b":1}]}

但我想看到:

{ "头": "首部", "阵列":[{ "B":1, "A":2}]}

我哪里做错了?也许这不是正确的方法?

java json

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

需要从文件中读取String和Double

我在尝试从txt文件中读取String和Double时遇到了一些麻烦.这是我的txt文件:

Mike 300.50
John 260
Lisa 425.33
Run Code Online (Sandbox Code Playgroud)

以下是我用来阅读它们的代码:

reader = new Scanner();
while(reader.hasNext()){
    name= reader.next();
    salary = reader.nextDouble();
    System.out.println(name + " " + salary + "\r\n");
}
Run Code Online (Sandbox Code Playgroud)

每当我运行此代码时,Exception in thread "main" java.util.InputMismatchException似乎告诉我问题所在nextDouble().

有人知道如何解决这个问题吗?

java string double java.util.scanner

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

使用Docker的Nginx,PHP-FPM,MySQL和Symfony:Nginx 502 Bad Gateway和Symfony没有发现路由异常

这个帖子会很长,所以请确保你附近有东西可以喝.

基本上,我想使用Docker制作一个Nginx容器,一个PHP-FPM容器,一个MySQL容器和一个Symfony容器,它将包含我的Symfony应用程序的代码.

我一直在尝试让事情工作一整周,阅读了很多东西,但遗憾的是没有任何效果.

我制作了一个docker-compose.yml,它将Dockerfiles用于Nginx,PHP-FPM和Symfony.MySQL基于Dockerhub上托管的映像.

我安装了所有东西,最后,经过一周的工作,我仍然遇到两种类型的错误:

Nginx随机给我"502 Bad Getaway".这主要是因为端口错误,好像我的nginx fastcgi_pass参数没有设置为正确的值,但它是,所以我不太明白这个问题.

然后,Symfony给了我一个"找不到GET /的路线",但我不明白为什么,因为该网站实际上是在制作和我的同事.我对数据库持怀疑态度,因为当数据库为空时它可能会给我这个错误.所以我从数据库中获取了一个转储,但它没有给出任何结论.

这是您可能想要的文件

  • 泊坞窗,compose.yml

     version:'2'
    
    services:
      symfony:
        build: symfony/
        volumes:
          - ./symfony/code/:/var/www:rw
          - ./symfony/code/app/logs/symfony:/var/www/project/app/logs/symfony:rw
          - ./symfony/code/app/logs/nginx:/var/www/project/app/logs/nginx:rw
    
      nginx:
        build: nginx/
        ports:
        - 8080:80
        links:
        - fpm
        volumes_from:
        - symfony
        environment:
            <APP_SERVER_NAME>: dev-machine
    
      fpm:
        build: php-fpm/
        links:
        - mysql
        volumes_from:
        - symfony
        environment:
          APP_SERVER_NAME: dev-machine
    
      mysql:
        image: mysql
        ports:
        - 3306:3306
        volumes:
        - ./.data/db:/var/lib/mysql:rw
        environment:
        - "MYSQL_ROOT_PASSWORD=root"
        - "MYSQL_USER=root"
        - "MYSQL_PASSWORD=root"
        - "MYSQL_DATABASE=databaseName"
    
    Run Code Online (Sandbox Code Playgroud)
  • Nginx Dockerfile

    FROM ubuntu:14.04
    
    ENV DEBIAN_FRONTEND noninteractive
    
    RUN apt-get update …
    Run Code Online (Sandbox Code Playgroud)

php mysql nginx symfony docker

5
推荐指数
0
解决办法
1017
查看次数

使用minify-maven-plugin缩小前端

我正在使用maven插件minify-maven-plugin来缩小我的前端项目.当我将dos框移到前端项目并执行mvn clean install时,这工作正常,但是当我mvn clean install在我的reactor项目中的主pom中执行时,我得到以下异常:

无法执行目标com.samaxes.maven:minify-maven-plugin:1.7.4:minify(default-minify)项目my.project-frontend:目标com.samaxes.maven的执行default-minify:minify-maven-插件:1.7.4:缩小失败:basedir ./src/main/resources/public/app/.不存在

有谁知道该怎么做才能使这项工作?

以下有关的插件配置:

<!-- minify plugin -->
    <plugin>
        <groupId>com.samaxes.maven</groupId>
        <artifactId>minify-maven-plugin</artifactId>
        <version>1.7.4</version>
        <executions>
          <execution>
            <id>default-minify</id>
            <phase>prepare-package</phase><!-- When omitted defaults to 'process-resources' -->
            <configuration>
              <charset>UTF-8</charset>
              <skipMerge>true</skipMerge>
              <nosuffix>true</nosuffix>
              <closureCompilationLevel>WHITESPACE_ONLY</closureCompilationLevel>
              <webappSourceDir>src/main/resources/public/app</webappSourceDir>
              <webappTargetDir>${project.build.outputDirectory}/public/app</webappTargetDir>

              <cssSourceDir>./</cssSourceDir>
              <cssSourceIncludes>
                <cssSourceInclude>**/*.css</cssSourceInclude>
              </cssSourceIncludes>

              <jsSourceDir>./</jsSourceDir>
              <jsSourceIncludes>
                <jsSourceInclude>**/*.js</jsSourceInclude>
              </jsSourceIncludes>

              <jsEngine>CLOSURE</jsEngine>
            </configuration>
            <goals>
              <goal>minify</goal>
            </goals>
          </execution>
        </executions>
    </plugin>
 <!-- minify plugin end -->
Run Code Online (Sandbox Code Playgroud)

java minify maven multi-module maven-reactor

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

需要针对MySQL的JDBC解决方案错误的日期时间值错误

在尝试将记录插入某个表时,我收到如下错误:

数据截断:日期时间值不正确:第1行的'deleted_at'列''00:00:00'

搜索我发现以下问题非常有见地:

但由于以下原因,我不能采取这些答案中给出的任何解决方案:

  • 使用此处此处提到的任何其他JAR (虽然这不是maven项目)不是一种选择.我必须使用同一个罐子.
  • 除了'0000-00-00 00:00:00'之外,我不能使用该字段deleted_at.显然,有一个针对此的检查.你看,最初,delete_at日期不能设置(我会用一个标志就好is_deleted.如果有更好的方法请告诉我).
  • 而改变MySQL配置不是像这里提到的那样.他做了很好的解释.我认为这是主要问题.

至于您遇到此问题的原因,可能是您的会话的sql_mode设置包括NO_ZERO_DATES.

我(遗憾地)对这些事情没有多少控制权,因为我不是唯一一个参与这个项目的人.为了让您了解该项目,这就是我收到错误的方法.

在此输入图像描述

他们不使用任何日志记录.希望你能得到这张照片.

所以,考虑到我所约束的约束,除了上面给出的解决方案之外,还有一种方法可以插入'0000-00-00 00:00:00'(我希望可能在JDBC中使用某些东西).

MySQL服务器版本:5.7.12-0ubuntu1

java mysql datetime jdbc

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

在不更改代码的情况下更改 Spring Boot 应用程序的端口

我有两个应用程序需要同时运行,并且都试图在 port 上运行8080。我想将其中之一更改为 port 9000。我试图改变应用程序有春天的安全性,所以在端口上运行8443使用的时候https和端口8080使用时http。我必须在8080不更改任何.java文件的情况下从端口移动它。此外,我还需要在端口上运行其他应用程序8080,因此更改默认的 tomcat 端口不是一个好主意。

我尝试添加到application.propertiesserver.port=9000, spring.main.server.port=9000,然后运行mvn install,然后java -jar target/app.jar

我还尝试java -jar target/app.jar使用不同的标志运行:-Dserver.port=9000--server.port=9000.

无论如何,我明白了- Tomcat started on port(s): 8443 (https) 8080 (http)

所以,我的问题是:

  • 如何让它在与 不同的端口上运行8080
  • 而且,什么可能导致配置文件不更改端口?

java tomcat spring-boot

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