Live My Life

淡而无味也是一种味道

[Annotation] 自定义注解

Annotation

什么是注解(Annotation) Java注解是什么,以下是引用自维基百科的内容: Java 注解又称 Java 标注,是 JDK5.0 版本开始支持加入源代码的特殊语法元数据。Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注内容,在运行时......

[JDK8] 5 Optional 类

A container object which may or may not contain a non-null value.

概述 到目前为止,臭名昭著的空指针异常是导致 Java 应用程序失败的最常见原因。以前,为了解决空指针异常,Google 公司著名的 Guava 项目引入了 Optional 类, Guava 通过使用检查空值的方式来防止代码污染,它鼓励程序员写更干净的代码。受到 Google Guava 的启发,Optional 类已经成为 Java 8 类库的一部分。 Optional<T>......

[JDK8] 4 Stream API

Stream API

Stream API 说明 Java 8 中有两大最为重要的改变。第一个是 Lambda 表达式;另一个则是 Stream API。 Stream API(java.util.stream)把整正真的函数式编程风格引入到 Java 中。这是目前为止对 Java 类库最好的补充,因为 Stream API 可以极大提供 Java 程序员的生成力,让程序员写出高效率、干净、简洁的代码。 Stre......

[Enum] 枚举

枚举

枚举类型是 Java 5 中新增特性的一部分,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束,但是这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。 枚举类 定义枚举类 枚举类可以实现一个或多个接口,使用 enum 定义的枚举类默认继承了 java.lang.Enum 类,而不是默认继承 Object 类,因此枚举类不能显示继承其......

[Redis] Redis 入门

Redis 入门

Redis 概述 在我们日常的 Java Web 开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题,可是一旦涉及大数据量的需求,比如一些商品抢购的情景,或者是主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度比较慢的问题而存在严重的性能弊端,一瞬间成千上万的请求到来,需要系统在极短的时间......

[Mac] Mac ifconfig 的各个端口

Mac ifconfig 的各个端口

Mac ifconfig 1Mac:➜ ~ ifconfig 1234567# loopback 本机主机地址lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP> inet 127......
Mac

[Git] 6 Git 不常用到的命令(看懂这个 git 你就懂了)

看懂这个 git 你就懂了

先来上张 git 命令总结图(记住它 git 命令不是事): 回顾 git 分区和工作流 Git 的区域分为 工作区、暂存区、本地仓库区。 工作区(work Tree):当前的工作区域。 暂存区(Stage or Index):暂存区域,和 git stash 命令暂存的地方不一样。使用 git add xx,就可以将 xx 添加近 Stage 里面。 本地仓库(Repository):我......
Git

[Mac] 9 Mac 安装配置 Zookeeper

Mac 安装配置 Zookeeper

使用 brew 查看 zookeeper 信息 1brew info zookeeper 得到输出信息 用 Homebrew 来安装 Zookeeper 1brew install zookeeper 查看配置文件 缺省的配置文件在以下目录中 1cd /usr/local/etc/zookeeper/ 修改配置文件 zoo.cfg (可保持默认状态) 1234tickTime=2000d......
Mac

[Dubbo Zookeeper] 12 Dubbo + Hystrix 熔断器仪表盘

Dubbo + Hystrix 熔断器仪表盘

使用熔断器仪表盘监控 在 Provider 和 Consumer 项目增加 Hystrix 仪表盘功能,两个项目的改造方式相同(这里以 Consumer 为例) 在 pom.xml 中增加依赖 12345<dependency> <groupId>org.springframework.cloud</groupId> <artifactI......

[Dubbo Zookeeper] 11 Dubbo + Hystrix 实现服务熔断

Dubbo + Hystrix 实现服务熔断

熔断器简介 在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以通过 RPC 相互调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证 100% 可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet 容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成......