JAVA ’ 目录归档

《Maven官方文档》Maven 开发

原文链接   译者:carvendy

Maven 开发

这文档描述怎么入门开发Maven。这是一个独立页来描述怎么构建Maven的。

找一些工作来做

首先你需要一些事情来做!解决方案可以在几个JIRA项目中找到。

  • JIRA解决方案 当你找到一个你需要的解决方案,工作想在解决方案中加入日志,所核心开发和其他人民在寻找以了解其他人已经在什么。

阅读全文

伪共享

2.2.9 伪共享

2.2.9.1什么是伪共享

计算机系统中为了解决主内存与CPU运行速度的差距,在CPU与主内存之间添加了一级或者多级高速缓冲存储器(Cache),这个Cache一般是集成到CPU内部的,所以也叫 CPU Cache,如下图是两级cache结构:

阅读全文

《Spring Cloud Config官方文档》之Spring Cloud Config客户端

10.  Spring Cloud Config客户端

Spring Boot应用程序可以立即利用Spring Config服务器(或应用程序开发人员提供的其他外部属性资源),还可以获取与Environment更改事件有关的一些其他有用的功能。

阅读全文

线程池使用FutureTask时候需要注意的一点事

8.4 线程池使用FutureTask时候需要注意的一点事

线程池使用FutureTask的时候如果拒绝策略设置为了 DiscardPolicyDiscardOldestPolicy并且在被拒绝的任务的Future对象上调用无参get方法那么调用线程会一直被阻塞。 阅读全文

《Spring Cloud Config官方文档》快速启动

原文链接

第二部分 Spring Cloud 配置

1.3.5.BUILD-SNAPSHOT

Spring Cloud 配置为分布式系统中的外部配置提供服务器和客户端支持。借助Config Server,您可以在所有环境中管理应用程序的外部属性。客户端和服务器上的概念与Spring Environment 和  PropertySource 抽象是一样的,所以它们非常适合Spring应用程序,但可以与任何运行在任何语言的应用程序一起使用。当应用程序从开发到测试转移到部署管道时,您可以管理这些环境之间的配置,并确保应用程序具有在迁移时所需运行的所有内容。服务器存储后端的默认实现使用git,因此它可以轻松地支持标记版本的配置环境,并且可以通过广泛的工具来访问管理内容。使用Spring配置添加替代实现并插入它们是很容易的。

阅读全文

线程不安全的SimpleDateFormat

8.5 SimpleDateFormat是线程不安全的

SimpleDateFormat是Java提供的一个格式化和解析日期的工具类,日常开发中应该经常会用到,但是由于它是线程不安全的,多线程公用一个SimpleDateFormat实例对日期进行解析或者格式化会导致程序出错,本节就讨论下它为何是线程不安全的,以及如何避免。

阅读全文

《Spring Cloud Config官方文档》之提供纯文本

原文链接

7. 提供纯文本

而不是使用Environment抽象(或YAML或其他属性格式中的替代表示形式),应用程序可能需要通用的纯文本配置文件,并且是针对其环境来定制。配置服务器通过/{name}/{profile}/{label}/{path} 在“名称”,“配置文件”和“标签”与常规环境节点具有​​相同含义的位置处提供了这些附加节点,但“路径”是文件名(例如log.xml)。此节点的源文件与环境节点的位置相同:使用属性或YAML文件相同的搜索路径,但不会汇总所有匹配的资源,并且只返回第一个匹配的资源。

阅读全文

《Spring Cloud Config官方文档》之提供替代格式

原文链接

6. 提供替代格式

来自环境节点的默认JSON格式非常适合Spring应用程序使用,因为它直接映射到 Environment抽象。如果您愿意,您可以通过向资源路径(“.yml”,“.yaml”或“.properties”)添加后缀来使用与YAML或Java属性相同的数据。对于那些不关心JSON节点结构的应用程序,或者它们提供的额外的元数据,那么这对于消费是有用的。例如,一个不使用Spring的应用程序可能会受益于这种方法的简单性。

阅读全文

《Spring Cloud Config官方文档》之Spring Cloud Config Server

原文链接

5. Spring Cloud Config Server

服务器为外部配置(名称 – 值对或同等的YAML内容)提供了一个HTTP、基于资源的API。服务器很容易使用@EnableConfigServer注释嵌入到Spring Boot应用程序中 。所以这个应用是一个配置服务器:

阅读全文

Java8中的WeakHashMap

什么是WeakHashMap?

WeakHashMap是基于java弱引用实现的HashMap,感觉一句话就讲的差不多了嘿嘿。
先看看它的定义:

public class WeakHashMap<K,V>
extends AbstractMap<K,V>
implements Map<K,V>

如上,在定义方面和HashMap并没有什么不同。而且在结构上,基本和HashMap一致。在Java8中,唯一存储上的不同点就是,当冲突的key变多时,HashMap引入了二叉树(红黑树)进行存储,而WeakHashMap则一直使用链表进行存储。

阅读全文

诡异的类型转换

一、前言

最近在做应用迁移时候遇到了一个诡异的类型转换问题,感觉比较有意思,就记录下来和大家分享下。

阅读全文

《Spring Cloud Netflix官方文档》7.声明式 REST 客户端: Feign

原文链接

Feign 是一个声明式的web服务客户端。它使得编写web服务客户端更简单,创建一个接口并加上注解就能使用Feign了,它还支持JAX-RS类型的注解,可插入式的编码和解码,Spring cloud 为他加入了spring mvc的注解支持,以及在spring web开发过程中默认使用同样的 HttpMessageConverters 。Spring Cloud整合了Ribbon和Eureka为使用feign的过程中提供了一个负载均衡的http客户端。

阅读全文

《Spring Cloud Netflix官方文档》10. 使用 Sidecar支持多语言

原文链接

你有non-jvm语言也想使用Eureka,Ribbon和Config Server? Spring Cloud Netflix Sidecar灵感来自Netflix Prana,它包含一个简单的http api去获取给定服务的所有实例(主机和端口)。你也可以通过嵌入式Zuul代理代理服务调用,Zuul 代理从Eureka获取全部路由信息。可直接通过主机查找或通过Zuul代理访问Spring Cloud Config Server。non-jvm程序需要实现健康检查,这样Sidecar 才能向eureka 报告程序是否在线或宕机。

阅读全文

《Spring Cloud Netflix官方文档》2. 服务发现:Eureka服务器

原文链接 译者:Acamy

2. 服务发现:Eureka服务器

2.1 如何创建Eureka服务器

引用org.springframework.cloud的spring-cloud-starter-eureka-server就可以创建Eureka服务器。在当前Spring Cloud版本中如何进行详细设置可以查看Spring Cloud工程页面

阅读全文

《Spring Cloud Netflix官方文档》1.服务发现:Eureka客户端

原文链接 译者:Acamy

1.     服务发现:Eureka客户端

服务发现是微服务架构的关键原则之一。使用手动配置或一些约定方式来处理多服务多实例的方式是非常困难,并且十分脆弱的。Eureka同时是Netflix服务发现的服务端和客户端。服务端可以通过配置和部署实现高可用,实现方式是每个服务端对注册的服务复制他们的状态到其他的服务端。

阅读全文

return top