小编vic*_*cky的帖子

Calendar.getInstance(TimeZone.getTimeZone("UTC"))未返回UTC时间

我对Calendar.getInstance(TimeZone.getTimeZone("UTC"))方法调用得到的结果感到困惑,它正在返回IST时间.

这是我使用的代码

Calendar cal_Two = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
System.out.println(cal_Two.getTime());
Run Code Online (Sandbox Code Playgroud)

我得到的回应是:

Sat Jan 25 15:44:18 IST 2014
Run Code Online (Sandbox Code Playgroud)

所以我尝试将默认TimeZone更改为UTC然后我检查,然后它工作正常

Calendar cal_Two = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
System.out.println(cal_Two.getTime());

TimeZone tz  = TimeZone.getDefault() ;
TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
Calendar cal_Three = Calendar.getInstance();
System.out.println(cal_Three.getTime());
TimeZone.setDefault(tz);
Run Code Online (Sandbox Code Playgroud)

结果:

Sat Jan 25 16:09:11 IST 2014
Sat Jan 25 10:39:11 UTC 2014
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么吗?

java

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

为什么不执行reduce combiner功能?

我是Java 8的新手.我正在学习stream API的reduce方法.我看到这个代码有一种奇怪的行为:

public class PrdefinedCollectors {
    public static void main(String[] args) {
        Stream<Integer> stream = Stream.of(1, 2, 3, 4, 5, 6);
        List<Integer> dataHolder = new ArrayList<Integer>();
        List<Integer> numbers = stream.reduce(dataHolder, 
            (List<Integer> dataStore, Integer data) -> {
                    System.out.println(data + " ->: " + dataStore);
                    dataStore.add(data);
                    return dataStore;
                },
            (List<Integer> listOne, List<Integer> listTwo) -> {
                    System.out.println("ListOne Data :" + listOne + " List Two data :" + listTwo);
                    listOne.addAll(listTwo);
                    return listOne;
                });

        System.out.println(numbers);
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

1 ->: [] …
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

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

简单工厂和工厂方法设计模式的区别

我正在新学习设计模式,我试图理解简单工厂和工厂方法模式之间的区别。首先我想澄清一下,我尝试阅读 Stack-overflow 和其他网站上的大量相关文章,但这对我没有帮助。

这是我的问题:让我们考虑一下我的产品层次结构,如下所示: 在此输入图像描述

我写了一个简单的工厂类,如下所示

public class SimpleItemFactory {

    static Item getItem(String type) {
        if(type.equals("Cake")) {
            return new Cake();
        }else if(type.equals("Chocolate")) {
            return new Chocolate();
        }else {
            return null;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

所以现在我将所有对象创建都集中在一处,因此如果明天发生任何更改[例如构造函数需要一个参数],我们只需在一处进行更改。但它打破了 OPEN CLOSED 原则,就好像明天我们添加更多项目,我们需要更改 getItem() 方法(如果条件)。所以我们选择工厂方法模式 在此输入图像描述

我们创建Factory类如下所示:

public abstract class ItemFactory {
    abstract Item getItem();
}

class CakeFactory extends ItemFactory {
    @Override
    Item getItem() {
        return new Cake();
    }
}

class ChocolateFactory extends ItemFactory {
    @Override
    Item getItem() {
        return new Chocolate();
    }
}


class Client{
    public static …
Run Code Online (Sandbox Code Playgroud)

java design-patterns software-design factory-pattern

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

添加依赖于"分类器"的Grails不起作用

首先,我想告诉同样的问题,这里问 grails插件与分类器的依赖关系,但他们没有答案.

我正在尝试将jar"json-lib.jar"及其依赖项添加到BuildConfig.groovy文件中.此依赖项具有调用的元素,因为我无法下载依赖项.

 dependencies {runtime group:'net.sf.json-lib', name:'json-lib',  classifier:'jdk15',version:'2.4'}
Run Code Online (Sandbox Code Playgroud)

但这没有用.

我也是这样试过的

`dependencies {runtime'net.sf.json-lib:json-lib:2.4:jdk15'}

这个也没有帮助

甚至尝试创建一个maven pom文件并将"json-lib.jar"依赖项添加到pom文件但得到相同但是如果尝试在我的java maven项目中使用相同的依赖项它工作正常

<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
  <version>2.4</version>
    <type>jar</type>
    <classifier>jdk15</classifier>
    <scope>compile</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

但这一点也没有帮助.

尝试刷新依赖项时的错误消息(在STS中)

WARNINGS
    [FAILED     ] net.sf.json-lib#json-lib;2.4!json-lib.jar:  (0ms)


==== grailsHome: tried

  C:\Users\Target\.grails\2.1.1\cached-installed-plugins/json-lib-2.4.jar

==== grailsHome: tried

  C:\Users\Target\Software\Groovy -STS\Installed Directory\grails-2.1.1/plugins/json-lib-2.4.jar

==== grailsCentral: tried

  http://grails.org/plugins/grails-json-lib/tags/RELEASE_2.4/grails-json-lib-2.4.jar

==== http://repo.grails.org/grails/core: tried

  http://repo.grails.org/grails/core/net/sf/json-lib/json-lib/2.4/json-lib-2.4.jar

==== localMavenResolver: tried

  C:\Users\Target/.m2/repository/net/sf/json-lib/json-lib/2.4/json-lib-2.4.jar

==== mavenCentral: tried

  http://repo1.maven.org/maven2/net/sf/json-lib/json-lib/2.4/json-lib-2.4.jar

==== ebrRelease: tried

  http://repository.springsource.com/maven/bundles/release/net/sf/json-lib/json-lib/2.4/json-lib-2.4.jar

==== ebrExternal: tried

  http://repository.springsource.com/maven/bundles/external/net/sf/json-lib/json-lib/2.4/json-lib-2.4.jar

==== http://download.java.net/maven/2/: tried

  http://download.java.net/maven/2/net/sf/json-lib/json-lib/2.4/json-lib-2.4.jar

==== localMavenResolver: tried

  C:\Users\Target/.m2/repository/net/sf/json-lib/json-lib/2.4/json-lib-2.4.jar

    ::::::::::::::::::::::::::::::::::::::::::::::

    ::              FAILED DOWNLOADS            ::

    :: …
Run Code Online (Sandbox Code Playgroud)

grails

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

Java 8 Function class addThen默认方法

我正在学习Java-8 Lambda,我试图理解java.util.function.Function接口中的addThen默认方法.根据我的理解,addthen将首先执行First函数,然后它将执行第二个方法.所以我创建了一个如下程序:

//Pojo class 
  class Bike {

    public Bike(String bikeName, int price, String bikeType) {
        this.bikeName = bikeName;
        this.price = price;
        this.bikeType = bikeType;
    }

    private String bikeType;
    private String bikeName;
    private int price;

    public String getBikeType() {
        return bikeType;
    }

    @Override
    public String toString() {
        return "Bike [bikeType=" + bikeType + ", bikeName=" + bikeName + ", price=" + price + "]";
    }

    public void setBikeType(String bikeType) {
        this.bikeType = bikeType;
    }

    public String getBikeName() {
        return bikeName;
    } …
Run Code Online (Sandbox Code Playgroud)

java lambda java-8

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

单一责任原则有什么用?

我正在努力理解单一责任原则,但我很难掌握这个概念.我正在阅读"Lucian-Paul Torje的Java设计模式和最佳实践; Adrian Ianculescu; Kamalmeet Singh."

在本书中,我正在阅读单一责任原则章节,其中有一个汽车类,如下所示:

在此输入图像描述

他们说Car拥有Car逻辑和数据库操作.将来,如果我们想要更改数据库,那么我们需要更改数据库逻辑,并且可能还需要更改汽车逻辑.反之亦然......

解决方案是创建两个类,如下所示:

在此输入图像描述

我的问题是,即使我们创建了两个类,让我们考虑我们在CAR类中添加一个名为'price'的新属性[或者将属性'model'更改为'carModel']然后你认为我们还不需要更新CarDAO类就像改变SQL一样.

那么SRP在这里有什么用?

oop single-responsibility-principle design-principles solid-principles

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

Oracle 11g R2 安装错误 -13001

首先我需要通知,这里发布了同样的问题:Oracle 11gR2 installation in Windows server 2012。这并没有解决我的问题。我在 goolge 上找到的链接要么失效,要么很旧。

我对 Oracle 数据库很陌生。我正在尝试安装 oracle 标准版。我收到“此环境未满足最低要求”错误,但我的系统有 8G RAM、Windows 8.1 企业版和足够的硬盘空间。

当我检查日志文件时,我看到“CVU 不支持目标环境..”作为错误。

这是完整的日志详细信息:

Checking monitor: must be configured to display at least 256 colors. Actual 4294967296    Passed

 The commandline for unzip:
  C:\Users\****\Software\Oracle\Enterprise Edition\win64_11gR2_database_1of2\database\install\unzip -qqqo ..\stage\Components\oracle.jdk\1.5.0.17.04\1\DataFiles/"*.jar" -d "C:\Users\VIGNES~1\AppData\Local\Temp\OraInstall2015-07-08_07-11-47PM" INFO: Loading data from: jar:file:/C:/Users/****/AppData/Local/Temp/OraInstall2015-07-08_07-11-47PM/ext/jlib/installcommons_1.0.0b.jar!/oracle/install/driver/oui/resource/ConfigCommandMappings.xml
  INFO: Loading beanstore from jar:file:/C:/Users/*****/AppData/Local/Temp/OraInstall2015-07-08_07-11-47PM/ext/jlib/installcommons_1.0.0b.jar!/oracle/install/driver/oui/resource/ConfigCommandMappings.xml
  INFO: Restoring class oracle.install.driver.oui.ConfigCmdMappings from jar:file:/C:/Users/****/AppData/Local/Temp/OraInstall2015-07-08_07-11-47PM/ext/jlib/installcommons_1.0.0b.jar!/oracle/install/driver/oui/resource/ConfigCommandMappings.xml
  INFO: Verifying target environment...
  INFO: Checking whether the IP address of the localhost could be determined...
  SEVERE: …
Run Code Online (Sandbox Code Playgroud)

windows oracle oracle11g windows-8.1

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

依赖倒置原则[DIP]中的“抽象不应依赖于细节。细节应依赖于抽象”是什么意思?

在问这个问题之前我想说的问题与我的问题非常相似,但概念仍然不清楚,非常令人困惑。

\n\n

我试图理解依赖倒置原理,但我无法完全理解它?

\n\n

下面是DIP说的两点

\n\n
\n

A. 高层模块不应该依赖于低层模块。两者都应该依赖于抽象。B. 抽象不应依赖于细节。细节应该取决于抽象。

\n
\n\n

我能够理解第一点,但无法理解第二点,看起来两者是相同的。在 stackoverflow 和其他网站进行大量搜索后,我可以理解两者都试图说不同的事情,但我无法理解。

\n\n

让\xe2\x80\x99s 考虑一个例子:

\n\n

让\xe2\x80\x99s考虑SalaryCalculator类[高级模块],它用于计算员工的工资。其中使用BonusCalculator [高级模块]来计算工资,如下所示。由于 SalaryCalculator 使用 BonusCalculator,它\xe2\x80\x99s 违反了\xe2\x80\x9c 的第一点,高级模块不应依赖于低级模块。两者都应该依赖于抽象\xe2\x80\x9d。

\n\n

在此输入图像描述

\n\n

因此我们在两者之间引入了抽象,如下所示:

\n\n

在此输入图像描述

\n\n

这里的细节[低级和高级模块]依赖于抽象,而抽象不依赖于细节。那么在 DIP 中,第二点试图说明什么?\n 如果两者相同,为什么将其分为两点?

\n\n

如果有人给我一个代码示例,那将非常有用。

\n

oop inversion-of-control design-principles solid-principles dependency-inversion

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

如何在power shell中获取cmdlet的所有别名?

如何获取cmdlet的所有别名?例如Get-Helpcmdlet有gcmman.

我尝试了,Get-Alias但它给了不必要的答案.我的要求是获取特定cmdlet的所有别名.

powershell

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

Spring-Boot @TestPropertySource 与 @SpringBootTest 一起使用时不加载外部属性文件

我是 Spring Boot 的新手,在使用 @TestPropertySource 注释和 @SpringBootTest 加载属性文件时遇到问题,这是我的代码

@RunWith(SpringRunner.class)
@SpringBootTest()
@TestPropertySource(locations="classpath:test_application.properties")
@Sql(value = {"/user_test_script.sql"})
@AutoConfigureTestDatabase(replace = Replace.NONE)
public class UserServiceImpleIntegrationTest {


    @Autowired
    private UserService userService;

    @Autowired
    ApplicationContext applicationContext;


    @Test
    public void testGetAllGuestUsers() throws IOException {
        List<User> users =userService.getAllGuestUsers(0, 10);

        assertThat(users).isNotNull();
        assertThat(users).isNotEmpty();
        assertThat(users).are(new Condition<User>() {
               public boolean matches(User user) {
                     return user.getFirstName().contains("Guest");  }
                 });
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的 test_application.properties 文件内容

# Connection url for the database "test"
spring.datasource.url=jdbc:mysql://localhost:3306/test_db
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root


# Hibernate
spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.database-platform = org.hibernate.dialect.MySQL5Dialect
spring.jpa.properties.hibernate.current_session_context_class=org.springframework.orm.hibernate5.SpringSessionContext
spring.jpa.show-sql = true
spring.jpa.properties.hibernate.format_sql=true …
Run Code Online (Sandbox Code Playgroud)

java spring spring-data-jpa spring-boot spring-boot-test

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