javascript

git

java

python

git-remote

c++

github

django

c#

reactjs

variables

var

loops

iteration

std

c++-faq

git-checkout

generator

coroutine

spring-mvc

是否可以在运行时通过Java设置环境变量?

是否可以在运行时从Java设置环境变量应用?在Java 1.5 java.lang.System类中,有getenv()方法,我会只需要一个setenv()方法...

是否可以在java进程本身中修改环境变量? 不在子进程中。

是否可以通过JNI实现它? 那将如何工作?

谢谢。

编辑:好的,让我这样说-我们可以使用Java进行以下操作。 请回答。

  1. 我们可以修改当前流程的环境吗?
  2. 我们可以修改父流程的环境吗?
  3. 我们可以修改子进程的环境吗?

Hemal Pandya回答说:“您可以修改当前进程和子进程的环境,但不能修改产生此进程的父进程的环境。” 你同意吗?

trans by 2020-08-12T10:30:14Z

http状态码403-403禁止使用Java,但不能使用网络浏览器?

我正在编写一个小型Java程序,以获取给定Google搜索字词的结果数量。 出于某种原因,在Java中我得到了403禁止访问,但在Web浏览器中却得到了正确的结果。 码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;


public class DataGetter {

    public static void main(String[] args) throws IOException {
        getResultAmount("test");
    }

    private static int getResultAmount(String query) throws IOException {
        BufferedReader r = new BufferedReader(new InputStreamReader(new URL("https://www.google.com/search?q=" + query).openConnection()
                .getInputStream()));
        String line;
        String src = "";
        while ((line = r.readLine()) != null) {
            src += line;
        }
        System.out.println(src);
        return 1;
    }

}

错误:

Exception in thread "main" java.io.IOException: Server returned HTTP response code: 403 for URL: https://www.google.com/search?q=test
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
    at DataGetter.getResultAmount(DataGetter.java:15)
    at DataGetter.main(DataGetter.java:10)

为什么这样做呢?

trans by 2020-08-12T09:30:21Z

java-如何在Android Studio IDE中找到项目的所有未使用方法?

如何在Android Studio IDE中找到项目中所有未使用的方法和变量?

trans by 2020-08-12T08:55:09Z

如何使用Java执行Windows命令-更改网络设置

在Java中,我希望能够执行Windows命令。

有问题的命令是netsh。这将使我能够设置/重置IP地址。

请注意,我不想执行批处理文件。

我想直接执行这些命令,而不是使用批处理文件。 这可能吗?


这是我实施的解决方案,以备将来参考:

public class JavaRunCommand {
    private static final String CMD = 
        "netsh int ip set address name = \"Local Area Connection\" source = static addr = 192.168.222.3 mask = 255.255.255.0";
    public static void main(String args[]) {

        try {
            // Run "netsh" Windows command
            Process process = Runtime.getRuntime().exec(CMD);

            // Get input streams
            BufferedReader stdInput = new BufferedReader(new InputStreamReader(process.getInputStream()));
            BufferedReader stdError = new BufferedReader(new InputStreamReader(process.getErrorStream()));

            // Read command standard output
            String s;
            System.out.println("Standard output: ");
            while ((s = stdInput.readLine()) != null) {
                System.out.println(s);
            }

            // Read command errors
            System.out.println("Standard error: ");
            while ((s = stdError.readLine()) != null) {
                System.out.println(s);
            }
        } catch (Exception e) {
            e.printStackTrace(System.err);
        }
    }
}
trans by 2020-08-12T08:30:26Z

空安全集合作为Java 8中的流

我正在寻找可以收集流的方法,但是它是无效的。 如果collection为null,则返回空流。 像这样:

Utils.nullSafeStream(collection).filter(...);

我创建了自己的方法:

public static <T> Stream<T> nullSafeStream(Collection<T> collection) {
    if (collection == null) {
        return Stream.empty();
    }
    return collection.stream();
}

但是我很好奇,如果标准的JDK中有类似的东西?

trans by 2020-08-12T05:58:24Z

为什么Java的Date.getYear()返回111而不是2011?

我在将字符串日期解析为dateFrom对象时遇到了一些麻烦。 我使用Sun Dec 04 00:00:00 GMT 2011来解析该字符串,当我打印日期值时,它给出了我期望的结果。

但是,当我尝试获取日期,月份或年份时,会给我错误的值。 例如,那是2011年,但是当我执行dateFrom时,它会给我111。我不知道为什么会这样。 这是相关的代码段:

    Date dateFrom = null;

    String gDFString = g.getDateFrom();

    System.out.println(gDFString);

    DateFormat df = new SimpleDateFormat("dd/MM/yyyy");

    try {
        dateFrom = df.parse("04/12/2011");

        System.out.println(dateFrom);

        System.out.println(dateFrom.getYear());
    } catch (ParseException e) {
        e.printStackTrace();
    }

当我打印dateFrom时,我得到Sun Dec 04 00:00:00 GMT 2011,这就是您所期望的。 但是打印.getYear()返回111

我需要能够获取时间序列图的日期,月份和年份。

trans by 2020-08-12T04:48:06Z

C ++命名空间,与Java包的比较

我最近完成了一堆Java编码,并且已经习惯了非常特定的软件包命名系统,例如深度嵌套。 com.company.project.db。在Java,AS3 / Flex和C#中运行正常。 我也曾经在C ++中看到过相同的范例,但是我也听说将C ++名称空间视为Java包的直接对应对象是很不好的。

是真的,为什么? 名称空间/程序包有何相似之处和不同之处? 如果您使用深层嵌套的名称空间,可能会出现什么问题?

trans by 2020-08-12T03:55:03Z

java-在Android中发出异步HTTP请求是否存在公认的最佳实践?

我看过很多例子,它们似乎都以不同的方式解决了这个问题。 基本上,我只是想要最简单的方法来发出不会锁定主线程并且可以取消的请求。

这也无济于事,我们至少有2个HTTP库可供选择,它们分别是java.net。*(例如HttpURLConnection)和org.apache.http。*。

最佳实践是什么?

trans by 2020-08-12T03:42:49Z

java-级联示例无法编译?

在外壳程序中,我在Im Patient / part1目录中键入了gradle cleanJar。 输出如下。 错误是“找不到org.apache.hadoop.mapred.JobConf的类文件”。 为什么无法编译?

:clean UP-TO-DATE
:compileJava
Download http://conjars.org/repo/cascading/cascading-core/2.0.1/cascading-core-2.0.1.pom
Download http://conjars.org/repo/cascading/cascading-hadoop/2.0.1/cascading-hadoop-2.0.1.pom
Download http://conjars.org/repo/riffle/riffle/0.1-dev/riffle-0.1-dev.pom
Download http://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.pom
Download http://repo1.maven.org/maven2/org/slf4j/slf4j-parent/1.6.1/slf4j-parent-1.6.1.pom
Download http://repo1.maven.org/maven2/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.pom
Download http://conjars.org/repo/thirdparty/jgrapht-jdk1.6/0.8.1/jgrapht-jdk1.6-0.8.1.pom
Download http://repo1.maven.org/maven2/org/codehaus/janino/janino/2.5.16/janino-2.5.16.pom
Download http://conjars.org/repo/cascading/cascading-core/2.0.1/cascading-core-2.0.1.jar
Download http://conjars.org/repo/cascading/cascading-hadoop/2.0.1/cascading-hadoop-2.0.1.jar
Download http://conjars.org/repo/riffle/riffle/0.1-dev/riffle-0.1-dev.jar
Download http://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar
Download http://repo1.maven.org/maven2/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar
Download http://conjars.org/repo/thirdparty/jgrapht-jdk1.6/0.8.1/jgrapht-jdk1.6-0.8.1.jar
Download http://repo1.maven.org/maven2/org/codehaus/janino/janino/2.5.16/janino-2.5.16.jar
/home/is_admin/lab/cascading/Impatient/part1/src/main/java/impatient/Main.java:50: error: cannot access JobConf
    Tap inTap = new Hfs( new TextDelimited( true, "\t" ), inPath );
                ^
  class file for org.apache.hadoop.mapred.JobConf not found
1 error
:compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 22.599 secs
trans by 2020-08-12T03:35:32Z

java-什么是抽象类和抽象方法?

可能重复:
Java抽象类

我得到了几种解释,但是到目前为止,我还无法理解Java中的抽象类和方法是什么。

有人说它必须与程序的安全性做些关系,另一些人说不是那样。

即使从Deitel&Deitel的书中,我也不明白它的目的。我们何时,何地以及为什么使用它?

请像您正在教初学者一样对它进行解释,非常感谢您的帮助。

trans by 2020-08-12T03:26:23Z

排序-如何在Java中使用Collections.sort()?

我有一个对象Recipe实现了getRecipesSort()

public int compareTo(Recipe otherRecipe) {
    return this.inputRecipeName.compareTo(otherRecipe.inputRecipeName);
}

我这样做是为了能够按以下方法按字母顺序对3007478579572762769792进行排序:

public static Collection<Recipe> getRecipes(){
    List<Recipe> recipes = new ArrayList<Recipe>(RECIPE_MAP.values());
    Collections.sort(recipes);
    return recipes;
}

但是现在,以另一种方法命名为3007478579572762769792,我想对同一列表进行排序,但以数字方式比较包含ID的变量。 更糟的是,ID字段的类型为String

如何使用Collections.sort()在Java中执行排序?

trans by 2020-08-12T01:56:50Z

java-Log4J2属性替换-默认

我只是想知道是否有任何方法可以为LOG4J中的属性替换提供默认值?

我想在java系统属性中传递文件路径,然后将其与“ $ {env:mySystemProperty}”一起使用。 但是,如果开发人员忘记设置此属性怎么办? 然后,我想在log4j2.xml中定义一些有意义的默认值。

任何想法如何实现此功能?

编辑:

env替代不适用于我:

standalone.conf

-DoauthLoginLogPath=/path/oauth2.log

log44j2.xml

<Appender type="File" name="File" fileName="${env:oauthLoginLogPath}" immediateFlush="true">
<Appender type="File" name="File" fileName="${sys:oauthLoginLogPath}" immediateFlush="true">

我可以在wildfly控制台中看到该属性,我重新启动了服务器,但无法完成。

trans by 2020-08-12T01:48:13Z

什么时候不希望在Java中实现toString()?

我项目的一位主要开发人员已将项目的toString()实现称为“纯粹的残障”,并希望将其从代码库中删除。

我已经说过,这样做意味着任何希望显示对象的客户端都必须编写自己的代码才能将对象转换为字符串,但这得到了“是的答案”。

现在具体来说,此系统中的对象是矩形,圆形等图形元素,当前表示形式是显示x,y,比例,边界等。

那么,人群在哪里?

什么时候应该,什么时候不应该实现toString?

trans by 2020-08-11T23:35:21Z

java-如何调用超类的重写方法?

如何在代码中使用myAnimal实例调用Animal类的进餐方法?

public class Animal {
    public void eat() {
        System.out.println("Animal Eats");
    }

    public void drink() {
        System.out.println("Animal Drinks");
    }
}

public class Cat extends Animal {
    @Override
    public void eat() {
        System.out.println("Cat Eats");
    }

    @Override
    public void drink() {
        System.out.println("Cat Drinks");
    }

    public static void main(String[] args) {
        Cat myCat = new Cat();
        myCat.eat();
        myCat.drink();

        Animal myAnimal = myCat;        
        myAnimal.eat();
        myAnimal.drink();
    }
}

我得到的输出:

Cat Eats
Cat Drinks
Cat Eats
Cat Drinks

这是我的预期输出:

Cat Eats
Cat Drinks
Animal Eats
Animal Drinks
trans by 2020-08-11T22:53:47Z

java-Spring Autowiring类与接口?

我有这个春天的配置:

<bean id="boo" class="com.x.TheClass"/>

TheClass实现了TheInterface。然后,我得到了这个(假设的)Java代码:

@Autowired
TheInterface x;

@Autowired
TheClass y;

TheInterface的自动接线有效,但TheClass的自动接线失败。 春天给我上了NoSuchBeanDefinitionException这堂课。

为什么可以连接接口而不是类?

trans by 2020-08-11T21:16:32Z

什么是Java流中的“转义符操作”?

我在阅读Java文档,遇到了这句话:

除了转义填充操作iterator()spliterator()之外,执行在调用终端操作时开始,并在终端操作完成时结束。

我不确定“转义线操作”是什么意思。 有人可以解释这个名词吗?

trans by 2020-08-11T20:47:52Z

在J中的Jackson JSON反序列化过程中,忽略缺少的属性

在这个例子中

class Person {
   String name;
   int age;
}

如果JSON对象缺少属性“ age”,

{
  name : John
}

Person person = objectMapper.readValue(jsonFileReader, Person.class);

它抛出JsonMappingException说它不能反序列化。 在反序列化期间是否有注释可以忽略丢失的字段?

谢谢

trans by 2020-08-11T20:17:56Z

java-在Android上将UTC转换为本地时间

在我的项目中,我获得了json格式的API响应。 我得到UTC时间格式的时间的字符串值,例如Jul 16, 2013 12:08:59 AM
我需要将其更改为本地时间。那就是我们使用此应用程序需要显示当地时间的地方。 我该怎么做?

这是我尝试过的一些代码:

String aDate = getValue("dateTime", aEventJson);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMM dd, yyyy HH:mm:ss z");
simpleDateFormat.setTimeZone(TimeZone.getDefault());
String formattedDate = simpleDateFormat.format(aDate);

假设日期包含Jul 16, 2013 12:08:59 AM

trans by 2020-08-11T19:29:38Z

Java解释器?

在线有口译服务吗? 在哪里我可以将一两行Java放入其中,它将输出结果?

trans by 2020-08-11T19:23:56Z

java-使用休眠的程序不终止

我使用Hibernate创建了一个程序。

程序到达主要功能端,但是程序正在运行。

我不知道使用Hibernate 4.x版配置SessionFactory时是否会发生这种情况。

配置方式错误吗?


manual1_1_first_hibernate_apps.java

public static void main(String[] args) {

    args[0] ="list";
    if (args.length <= 0) {
        System.err.println("argement was not given");
        return;
    }

    manual1_1_first_hibernate_apps mgr = new manual1_1_first_hibernate_apps();

    if (args[0].equals("store")) {
        mgr.createAndStoreEvent("My Event", new Date());
    }
    else if (args[0].equals("list")) {
        mgr.<Event>listEvents().stream()
            .map(e -> "Event: " + e.getTitle() + " Time: " + e.getDate())
            .forEach(System.out::println);
    }
    Util.getSessionFactory().close();
}

private <T> List<T> listEvents() {
    Session session = Util.getSessionFactory().getCurrentSession();
    session.beginTransaction();
    List<T> events = Util.autoCast(session.createQuery("from Event").list());
    session.getTransaction().commit();
    return events;
}

Util.java

private static final SessionFactory sessionFactory;

/**
 * build a SessionFactory
 */
static {
    try {
        // Create the SessionFactory from hibernate.cfg.xml

        // hibernate version lower than 4.x are as follows
        // # it successful termination. but buildSessionFactory method is deprecated.
        // sessionFactory = new Configuration().configure().buildSessionFactory();

        // version 4.3 and later
        // # it does not terminate. I manually terminated.
        Configuration configuration = new Configuration().configure();
        StandardServiceRegistry serviceRegistry = 
                new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
        sessionFactory = configuration.buildSessionFactory(serviceRegistry);
    }
    catch (Throwable ex) {
        // Make sure you log the exception, as it might be swallowed
        System.err.println("Initial SessionFactory creation failed." + ex);
        throw new ExceptionInInitializerError(ex);
    }
}

/**
 * @return built SessionFactory
 */
public static SessionFactory getSessionFactory() {
    return sessionFactory;
}

程序终止并使用buildSessionFactory方法时,以下控制台日志片段。

2 08, 2014 8:42:25 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl stop
INFO: HHH000030: Cleaning up connection pool [jdbc:derby:D:\Java\jdk1.7.0_03(x86)\db\bin\testdb]

但是,如果不使用已弃用的buildSessionFactory方法并终止(程序正在运行),则不会出现上述两行。

环境:

 Hibernate 4.3.1
 DERBY
 JRE 1.8
 IntelliJ IDEA 13
trans by 2020-08-11T19:16:07Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共452页