我对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 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) 我正在新学习设计模式,我试图理解简单工厂和工厂方法模式之间的区别。首先我想澄清一下,我尝试阅读 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) 首先,我想告诉同样的问题,这里问 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) 我正在学习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) 我正在努力理解单一责任原则,但我很难掌握这个概念.我正在阅读"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
首先我需要通知,这里发布了同样的问题: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) 在问这个问题之前我想说的是问题与我的问题非常相似,但概念仍然不清楚,非常令人困惑。
\n\n我试图理解依赖倒置原理,但我无法完全理解它?
\n\n下面是DIP说的两点
\n\n\n\n\nA. 高层模块不应该依赖于低层模块。两者都应该依赖于抽象。B. 抽象不应依赖于细节。细节应该取决于抽象。
\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如果有人给我一个代码示例,那将非常有用。
\noop inversion-of-control design-principles solid-principles dependency-inversion
如何获取cmdlet的所有别名?例如Get-Helpcmdlet有gcm和man.
我尝试了,Get-Alias但它给了不必要的答案.我的要求是获取特定cmdlet的所有别名.
我是 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 ×5
java-8 ×2
oop ×2
grails ×1
java-stream ×1
lambda ×1
oracle ×1
oracle11g ×1
powershell ×1
single-responsibility-principle ×1
spring ×1
spring-boot ×1
windows ×1
windows-8.1 ×1