小编Neo*_*Neo的帖子

Eureka Server:如何实现高可用性

我是春天的新手.我已阅读此文档,它说客户端应用程序必须指定服务URL:

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/
Run Code Online (Sandbox Code Playgroud)

但是如果localhost:8761下降怎么办?

spring-cloud netflix-eureka

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

Spring Cloud Feign:与RestTemplate相比,Feign的效率是否足够?

我快速浏览了Feign的源代码,我发现Feign使用JDK HttpUrlConnection发出HTTP请求,并在请求完成时关闭它而不使用连接池.我怀疑这种方式的效率.然后我读了Spring的文档,RestTemplate它说RestTemplate可以切换到Apache Http Client或OKHttp来发送HTTP请求:

注意:默认情况下,RestTemplate依赖于标准JDK工具来建立HTTP连接.您可以通过HttpAccessor.setRequestFactory(org.springframework.http.client.ClientHttpRequestFactory)属性切换到使用不同的HTTP库,例如Apache HttpComponents,Netty和OkHttp.

这是否意味着RestTemplate在性能方面优于Feign?

spring-cloud spring-cloud-feign

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

Java8的Stream究竟是什么?

我已经阅读了Java 8 In Action,因此我知道什么是Stream以及如何使用它.但从计算机科学的角度来看,所有数据都需要存储在一种数据结构中.所以,

  1. 如何存储Stream?

  2. Stream如何能够为如此多种集合(例如,数组,链表,映射)执行如此多的操作?

  3. 或者Stream可能只是一个接口,需要各种集合来实现此接口中指定的这些操作?

谢谢!

java java-8 java-stream

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

无法在CentOS7中启动docker守护程序

执行后systemctl start docker,我得到:

无法启动docker.service:找不到单位.

这是输出systemctl status docker -l:

[root@HP11012078 init.d]# systemctl status docker -l
? docker.service - Docker Application Container Engine
   Loaded: loaded (/etc/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: https://docs.docker.com

Feb 09 17:04:35 HP11012078 docker[28152]: time="2017-02-09T17:04:35.104333869+08:00" level=warning msg="container 58a5c6ba6710240bb5b1fd79e4600b547cf4c882eb2ca85e15c59c1404106877 restart canceled"
Feb 09 17:04:35 HP11012078 docker[28152]: time="2017-02-09T17:04:35.113914527+08:00" level=warning msg="container d320ba5f02cdd8567893acfc62b6673a24b6c8a43ccb52342bb3470ff420230d restart canceled"
Feb 09 17:04:35 HP11012078 docker[28152]: time="2017-02-09T17:04:35.122613873+08:00" level=warning msg="container 4030daadb9481a1b96b7a5c614c8910a601f83f2dced8340f4ea4c3583e7e844 restart canceled"
Feb 09 17:04:45 HP11012078 docker[28152]: time="2017-02-09T17:04:45.002120051+08:00" level=info msg="Container c13f11ce792c477d9b663c6fdbcfe9694663f7843a40540c58922893f4b41247 failed …
Run Code Online (Sandbox Code Playgroud)

docker

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

如果javac是用Java编写的,为什么我可以执行javac就像它是一个非java程序一样?

需要将Java程序打包到JAR文件中,以便可以使用java -jar命令执行它.所以,为什么我不具备执行javacjava -jar javac命令?Sun/Oracle是如何将java程序转换为可执行的二进制文件的?

我知道有些工具可以将jar文件转换为Windows可执行文件.但我希望我的jar可以在没有bash脚本帮助的情况下在Linux/OS X中执行.

----------更新

我发现此链接非常有用:https://github.com/maynooth/CS210/wiki/Convert-Java-Executable-to-Linux-Executable

java

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

G1垃圾收集器:为什么幸存者空间总是满的?

这是jmap -heap命令的输出:

Survivor Space:
   regions  = 52
   capacity = 54525952 (52.0MB)
   used     = 54525952 (52.0MB)
   free     = 0 (0.0MB)
   100.0% used
Run Code Online (Sandbox Code Playgroud)

我已经执行了很多次,我发现它的价值capacity总是等于used.

我的问题是为什么幸存者空间总是充满(又如此之小)?我指定了-Xmx2200m -Xms2200m -Xmn1100m.(我预计幸存者空间应该是220M,这意味着幸存者区域应该有更多的空间)

- 更新 -

jheap的完整输出:

Garbage-First (G1) GC with 2 thread(s)

Heap Configuration:
   MinHeapFreeRatio         = 40
   MaxHeapFreeRatio         = 70
   MaxHeapSize              = 2306867200 (2200.0MB)
   NewSize                  = 1153433600 (1100.0MB)
   MaxNewSize               = 1153433600 (1100.0MB)
   OldSize                  = 4194304 (4.0MB)
   NewRatio                 = 2
   SurvivorRatio            = 8
   MetaspaceSize            = 16777216 (16.0MB)
   CompressedClassSpaceSize = 1073741824 …
Run Code Online (Sandbox Code Playgroud)

java garbage-collection jvm memory-management

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

G1:混合gc和完整gc有什么区别?

对于垃圾第一收集器,年轻的gc意味着仅在年轻一代中执行gc并且 混合gc 将清洁年轻一代和老一代.

什么是完整的gc?为什么它比混合gc持续更长时间?

我做了一些搜索,但我找不到任何解释完整gc的帖子.

java garbage-collection jvm g1gc

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

为什么groovyConsole支持`def name ="Neo"`而groovysh不支持

以下是2行代码:

def name = "Neo"
println name
Run Code Online (Sandbox Code Playgroud)

如果我执行它groovysh,我会得到Unknown property: name错误.如果我执行它groovyConsole,一切都很顺利.

groovy groovyshell groovy-console

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

使用Jackson序列化程序使用Redis进行Spring缓存:如何处理多种类型的域对象

有许多类型的域对象在我的web应用程序,如MemberModel,PostModel,CreditsModel等等.我发现在配置时需要对象的类型JacksonJsonRedisSerializer,所以我指定了Object.class.但是反序列化对象时出错了.

要解决这个问题,我有两个选择:

  • JdkSerializationRedisSerializer改用.但序列化的结果太长,因此在Redis中会占用大量内存.
  • 为每个domian对象配置序列化程序,这意味着如果我有50个域对象,那么我必须配置50个序列化程序.但这显然是相当繁琐的.

有没有一种优雅的方法来解决这个问题?谢谢!

spring-data-redis spring-cache

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

访问私有字段没有getter方法?

以下是JDK7源代码的摘录:

public String(String original) {
    this.value = original.value;
    this.hash = original.hash;
}
Run Code Online (Sandbox Code Playgroud)

这两个valuehashprivate领域.为什么original.value合法?

java

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