Just Do Java

Java 's Blog


  • 首页

  • 分类

  • 作者

  • 归档

  • 关于

Java实现一致性哈希算法,并搭建环境测试其负载均衡特性。

发表于 2019-06-20 | 分类于 数据结构

实现负载均衡是后端领域一个重要的话题,一致性哈希算法是实现服务器负载均衡的方法之一,你很可能已在一些远程服务框架中使用过它。下面我们尝试一下自己实现一致性哈希算法。

阅读全文 »

Spring 源码学习(四) bean 的加载

发表于 2019-06-19 | 分类于 spring

既然我们 Spring 辛辛苦苦将 bean 进行了注册,当然需要拿出来进行使用,在使用之前还需要经过一个步骤,就是 bean 的加载。

在第一篇笔记提到了,完成 bean 注册到 beanDefinitionMap 注册表后,还调用了很多后处理器的方法,其中有一个方法 finishBeanFactoryInitialization(),注释上面写着 Instantiate all remaining (non-lazy-init) singletons,意味着非延迟加载的类,将在这一步实例化,完成类的加载。

而我们使用到 context.getBean("beanName")方法,如果对应的 bean 是非延迟加载的,那么直接就能拿出来进行使用,而延迟加载的 bean 就需要上面的步骤进行类的加载,加载完之后才能进行使用~

下面一起来看下这两个步骤中, bean 是如何进行加载的。

阅读全文 »

java的可变参数

发表于 2019-06-19 | 分类于 Java

Java方法中的可变参数类型是一个非常重要的概念,有着非常广泛的应用,今天小编带大家一起去深入的了解java的可变参数使用方式!

阅读全文 »

Effective Java - 构造器私有、枚举和单例

发表于 2019-06-19 | 分类于 Effective-Java

Effective Java - 构造器私有、枚举和单例

[TOC]

Singleton 是指仅仅被实例化一次的类。Singleton代表了无状态的对象像是方法或者本质上是唯一的系统组件。使类称为Singleton 会使它的客户端测试变得十分困难。因为不可能给Singleton替换模拟实现。除非实现一个充当其类型的接口

阅读全文 »

TDD(测试驱动开发)死了吗?

发表于 2019-06-18 | 分类于 tdd

01、前言

很早之前,曾在网络上见到过 TDD 这 3 个大写的英文字母,它是 Test Driven Development 这三个单词的缩写,也就是“测试驱动开发”的意思——听起来很不错的一种理念。

阅读全文 »

java泛型特性,你了解多少?

发表于 2019-06-18 | 分类于 java基础

对java泛型特性的了解,很多时候是从集合对象接触到的,今天小编带大家一起去深入的了解泛型的缘由和使用方式!

阅读全文 »

Spring 源码学习(三)-自定义标签

发表于 2019-06-16 | 分类于 spring

又来填坑啦,上一篇讲完默认标签的解析,这篇笔记记录一下自定义标签的解析吧。

我们知道,Spring 源码的核心模块是 Spring-core 和 Spring-beans,在此基础上衍生出其他模块,例如 context、 cache、 tx 等模块,都是根据这两个基础模块进行扩展的。

聪明如你,应该想到我们代码中常用的缓存注解 @Cacheable、事务注解 @Transaction,还有阿里巴巴的 RPC 中间件 Dubbo,在配置文件中通过 <dubbo:service/> 或者 <dubbo:reference/> 进行服务注册和订阅,这些都都属于 Spring 的自定义标签的实现,通过自定义标签可以实现更加强大的功能!

作为一个有追求的程序员,当然不能满足于框架自带默认的标签,为了扩展性和配置化要求,这时候就需要学习自定义标签和使用自定义标签~

阅读全文 »

探究Java中的final关键字

发表于 2019-06-16 | 分类于 java基础

final 关键字的字面意思是最终的,不可修改的。这似乎是一个看见名字就大概知道怎么用的语法,但你是否有深究过final在各个场景中的具体用法,注意事项,以及背后涉及的Java设计思想呢?

阅读全文 »

现如今的技术浪潮中,我们到底该做些什么?

发表于 2019-06-16 | 分类于 java思考

今天,我们不谈技术实现,我们来分析一下现在的技术浪潮中,我们到底是应该去做什么?

阅读全文 »

Effective Java - 静态方法与构造器

发表于 2019-06-16 | 分类于 Effective-Java

Effective Java - 静态方法与构造器

用静态工厂方法替代构造器?

传统来讲,为了使客户端能够获取它自身的一个实例,最传统的方法就是提供一个公有的构造器。像下面这样

阅读全文 »

Spring 源码学习(二)-默认标签解析

发表于 2019-06-14 | 分类于 spring
`Spring` 解析默认标签~
阅读全文 »

hashCode和equals的区别

发表于 2019-06-14 | 分类于 java基础

有面试官会问:你重写过 hashcode 和 equals 么,为什么重写equals时必须重写hashCode方法?equals和hashCode都是Object对象中的非final方法,它们设计的目的就是被用来覆盖(override)的,所以在程序设计中还是经常需要处理这两个方法。下面我们一起来看一下,它们到底有什么区别,总结一波!

阅读全文 »

Java的== 与 equals区别

发表于 2019-06-14 | 分类于 java基础

碰到“equals”和“==”这两个字符,老感觉差不多;其实还是有一些区别的,今天小编带大家一探究竟!

阅读全文 »

SpringBoot 集成 Protocol Buffer案例

发表于 2019-06-12 | 分类于 SpringBoot系列

背景

最近工作中使用到 Protobuf,发现 Protobuf 的强大和方便之处,今天给大家介绍一个这个强大的工具的使用。毕竟有好东西要一起分享。

阅读全文 »

Docker 容器编排入门[Docker 系列-8]

发表于 2019-06-10 | 分类于 Docker系列

在实际的开发环境或者生产环境,容器往往都不是独立运行的,经常需要多个容器一起运行,此时,如果继续使用 run 命令启动容器,就会非常不便,在这种情况下,docker-compose 是一个不错的选择,使用 docker-compose 可以实现简单的容器编排,本文就来看看 docker-compose 的使用。

阅读全文 »

Docker 容器连接[Docker 系列-7]

发表于 2019-06-09 | 分类于 Docker系列

数据卷容器以及和大家聊过了,本文我们再来看看使用数据卷容器实现数据的备份与恢复,然后再来看看容器的连接操作。

阅读全文 »

Docker 容器连接[Docker 系列-7]

发表于 2019-06-09 | 分类于 Docker系列

数据卷容器以及和大家聊过了,本文我们再来看看使用数据卷容器实现数据的备份与恢复,然后再来看看容器的连接操作。

阅读全文 »

Spring 源码学习-环境准备

发表于 2019-06-08 | 分类于 spring

一起来准备阅读 Spring 源码

阅读全文 »

Spring 源码学习(一)-容器的基础结构

发表于 2019-06-08 | 分类于 spring

本篇笔记主要记录了以下内容:

使用 ClassPathXmlApplicationContext,通过在 xml 注册一个 bean,跟踪代码,了解它从配置文件的 <bean> 标签,加载到 BeanFactory 注册表 beanDefinitionMap 的详细过程。

阅读全文 »

Java 中 hashCode() 和 equals() 的关系

发表于 2019-06-08 | 分类于 java基础

Java 中 hashCode() 和 equals() 的关系是面试中的常考点,如果没有深入思考过两者设计的初衷,这个问题将很难回答。除了应付面试,理解二者的关系更有助于我们写出高质量且准确的代码。

阅读全文 »
1 … 22 23 24 … 26
Java Geek Tech

Java Geek Tech

一群热爱 Java 的技术人

514 日志
113 分类
24 作者
RSS
GitHub 知乎
Links
  • 纯洁的微笑
  • 沉默王二
  • 子悠
  • 江南一点雨
  • 炸鸡可乐
  • 郑璐璐
  • 程序通事
  • 懿
© 2019 - 2021 Java Geek Tech
由 Jekyll 强力驱动
主题 - NexT.Mist