Java 中的 FutureTask
1.前言上一文简单介绍了Java中的Future接口,留了一个坑,今天就来补一补这个坑。Future的实现非常多,而java.util.concurrent.FutureTask是最经常被提及的一个。今天我们来了解一下这个实现。同时欢迎加入[微信圈子]程序员交流圈交流编程经验。2.FutureTas
Java 响应式关系数据库连接了解一下
1.前言响应式编程已经在Java编程领域出现很长一段时间了。具有高性能,事件驱动,充分利用计算资源,更加优雅的异步编程体验,同时它也提供了背压机制来防止系统过载。很长一段时间Java的响应式只能同MongoDB、Redis等这些非关系型数据库进行交互。而目前我们大部分的数据还是存放在关系型数据库中,
Java14它真的来了, 真是尾气都吃不到了
1.前言前几天刚刚介绍了一个Java14很有用的预览特性Java14新特性之JEP359:Records(Preview)。Java14就在17日发布了正式版本。大部分人还在用着Java8,真是连尾气都吃不到了。不过好歹不是LTS版本,大家不要慌。2.Java14新特性此版本包含的JEP(Java/
Java14它真的来了, 真是尾气都吃不到了
1.前言前几天刚刚介绍了一个Java14很有用的预览特性Java14新特性之JEP359:Records(Preview)。Java14就在17日发布了正式版本。大部分人还在用着Java8,真是连尾气都吃不到了。不过好歹不是LTS版本,大家不要慌。2.Java14新特性此版本包含的JEP(Java/
一篇文章带你了解 ZooKeeper 架构
点击上方“码农小胖哥”,选择“设为星标”技术文章第一时间送达!上一篇文章,我们讲解了ZooKeeper入门知识,这篇文章主要讲解下ZooKeeper的架构,理解ZooKeeper的架构可以帮助我们更好地设计协同服务。首先我们来看下ZooKeeper的总体架构图。ZooKeeper总体架构应用使用Zo
阿里云发布新脚手架真香
脚手架是什么呢?参考维基百科的定义,找到如下解释:脚手架亦称为鹰架、棚架和排栅,是一种临时性的建筑工具,架设在正在组建或重建的楼房或建筑物,亦用于轮船等大型的移动式物品,供施工人员在墙壁等高处施工。通常是由金属导管组成的模块化工具,也有使用其他材料制成,比如在东方国家就有用竹子制成的支架。为什么需要
FutureTask 使用指南
1.前言前两篇简单分析了Future接口和FutureTask本文将介绍FutureTask的使用方式。2.FutureTask的使用FutureTask有两个构造函数,分别传入Runnale和Callable实例。所以FutureTask的使用和这两个接口有关系。2.1结合CallableCall
原创 | 消息中间件的工作原理和RabbitMQ入门
点击上方"码农小胖哥"发现更多精彩文档章节简介消息与消息队列性能对比了解什么是AMQP协议?AMQP的协议模型AMQP核心概念AMQP消息路由Exchange类型RabbitMQ特点RabbitMQ中的概念模型消息模型RabbitMQ基本概念RabbitMQ的作用和使用场景RabbitMQ的核心组件
一文读懂版本控制工具Git
点击上方“码农小胖哥”,选择“设为星标”技术文章第一时间送达!你使用过Git吗?也许你已经使用了一段时间,但它的许多奥秘仍然令人困惑。Git是一个版本控制系统,是任何软件开发项目中的主要内容。通常有两个主要用途:代码备份和代码版本控制。你可以逐步处理代码,在需要回滚到备份副本的过程中保存每一步的进度
推荐使用 SSH 方式连接 Git 服务
1.前言Git已经成为我们开发最流行的版本控制工具了,Git支持多种传输协议,其中最常用的就是https和ssh,平常我们用https比较多,这种方式pull和push代码都要输入账户密码,非常不方便。那么有没有更加方便而且安全的方式呢?当然有!ssh方式可以做到这一点。2.Git中的ssh公有Gi
ES数十亿数据量级的场景下如何优化查询性能?
点击上方☝码农小胖哥轻松关注!及时获取有趣有料的技术文章ES客户端读取数据的流程客户端->shard->filesystemcache->磁盘文件海量数据检索查询性能优化思路如果内存足够大,filesystemcache会缓存,如果查询走filesystemcache则速度耗时在毫
原创 | Docker入门,看了不理解,假一赔命
写在前面这篇博客适合谁?对于Docker并不了解,只是有一点模糊的感觉,觉得Docker可以当成虚拟机用之类的只是下载了Docker软件,对于怎么配置,怎么玩,第一步干什么,完全一无所知其二,我从对Docker只有及其模糊(真的是模糊,我除了知道Docker是跟虚拟系统有关其他啥都不知道),到现在起
从腾讯开源TARS来谈一下目前的微服务
1.前言3月10日,Linux基金会宣布旗下项目TARS正式成立TARS基金会,宣称致力于构建微服务。该项目是腾讯公司捐献给Linux基金会的一个项目,据称该项目在腾讯已经使用了近10年,有大量的实践经验。为什么这么多公司打算在微服务领域进行深耕呢?我们真的需要微服务吗?今天来聊一聊这些微服务。2.
Windows 命令行终端 PowerShell 美化计划
1.前言欢迎加入[微信圈子]程序员交流圈交流编程经验。作为一个程序员,终端工具是必不可少的。但是「Windows」的默认终端实在太丑了,作为一个颜控忍不了。所以必须实施终端改造计划。目前我们都会使用「PowerShell」,所以改造计划就先从它开始。先看看我改造的效果:❝本文涉及的所有命令都在「管理
面试官:听说你sql写的挺溜的,你说一说查询sql的执行过程
当希望Mysql能够高效的执行的时候,最好的办法就是清楚的了解Mysql是如何执行查询的,只有更加全面的了解SQL执行的每一个过程,才能更好的进行SQl的优化。当执行一条查询的SQl的时候大概发生了一下的步骤:客户端发送查询语句给服务器。服务器首先检查缓存中是否存在该查询,若存在,返回缓存中存在的结
合理利用延迟初始化优化 Spring Boot
1.前言欢迎加入[微信圈子]程序员交流圈交流编程经验。随着我们项目的不断迭代Bean的数量会大大增加,如果都在启动时进行初始化会非常耗时。SpringBoot允许延迟初始化应用程序,也就是根据需要初始化SpringBean,而不是在SpringBoot启动时创建所有的Bean。这样的就可以减少应用程
SpringApplication对象是如何构建的? SpringBoot源码(八)
欢迎加入[微信圈子]程序员交流圈交流编程经验。注:该源码分析对应SpringBoot版本为2.1.0.RELEASE1温故而知新我们分析了SpringBoot的启动流程,现将关键步骤再浓缩总结下:构建SpringApplication对象,用于启动SpringBoot;从spring.factori
Spring 和Spring Boot 到底什么关系
1.前言欢迎加入[微信圈子]程序员交流圈交流编程经验。刚刚入行Java的同学经常有这种疑问:Spring和SpringBoot有什么关系?它们之间有什么区别?今天来探讨一下这个问题。2.SpringFrameworkSpring通常指的是SpringFramework。通常Java开发就是面向对象开
MySQL 日志系统之 redo log 和 binlog
之前我们了解了一条查询语句的执行流程,并介绍了执行过程中涉及的处理模块。一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。那么,一条SQL更新语句的执行流程又是怎样的呢?首先我们创建一个表T,主键为id,创建语句如下:CREATETABLE`T`(`ID`i
如何提高你的Mysql优化能力
概述对于mysql的优化是一个综合性的技术,sql的优化只是其中的一种,其中主要包括表的设计合理化(符合3大范式)。添加索引(index)[普通索引、主键索引、唯一索引unique、全文索引]。分表技术(水平分割、垂直分割)。读写[写:update/delete/add]分离。合理设计表在表的设计中