
大数据
java架构师小芷
java构架大数据每天分享干货
展开
-
厉害了!终于有人把Github上优质Tomcat文档整理好了
前言Apache Tomcat作为著名的Servlet容器实现以及轻量级Java应用服务器,是Apache软件基金会的顶级项目。它开源、轻量,与JBoss、Weblogic等企业级应用服务器相比,占用资源小,扩展性好,深受Java研发人员喜爱,除此之外,Apache Tomcat还可以很容易与Apache Http Server、Nginx等知名的Web服务器集成,以实现负载均衡和集群化部署。所有这些特性都使得Tomcat被广泛用于开发、测试环境,甚至大规模、高并发的互联网产品部署。所以,小编给大原创 2020-10-14 15:08:44 · 185 阅读 · 0 评论 -
硬核干货!阿里架构师私藏并发编程笔记,公开前半段秒获8K标星
前言一直以来,硬件的发展极其迅速,在多核的CPU的背景下,催生了并发编程的趋势,通过并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升。面对复杂业务模型,并行程序会比串行程序更适应业务需求,而并发编程更能吻合这种业务拆分。正是因为这些优点,使得多线程技术能够得到重视,这个技术也是一名CS学习者应该掌握的。但这个技术对于刚入行的小白来说总是觉得高深莫测,不明所以,也找不到好的学习资料。本着好东西就是要拿出来分享的原则,于是乎互联网雷锋(小编我)就为大家收罗了一套完整的资料供大家学习,适用原创 2020-10-10 13:58:44 · 193 阅读 · 2 评论 -
Github上都在疯找的阿里内部“全栈技能修炼”终于来了!
前言全栈,不是特定技术的组合,而是—种思维方式,—种眼界!全栈,经过多年的发展,技术体系变得非常庞杂——看看层出不穷的技术知识图就知道了,但是你是否曾注意到很多同样的思想被到处套用?不仅在同一个技术体系内如此,跨体系的套用其实更加明显。比如RxJS的事件流、后端的MessageQueue与现在大热的Serverless架构在深层思想上有着千丝万缕的联系。同时,全栈的目的并不是一个人搭建起一个复杂的商业应用,在现代软件大工程化的今天,这个目标既没有必要,也没有价值。全栈的概念对大家来说应该是一个不原创 2020-10-10 12:12:56 · 1471 阅读 · 13 评论 -
MySQL最全干货笔记,三个步骤,从基础到实战让我顺顺利利拿下天猫offer!
前言MySQL近两年一直稳居第二,随时有可能超过Oracle计晋升为第一名,因为MySQL的性能一直在被优化,同时安全机制也是逐渐成熟,更重要的是开源免费的。目前大部分的互联网的首选也仍然是MySQL,所以作为一名开发人员,掌握好MySQL的使用是非常有必要的,那么如何能够达到“精通”MySQL的程度,那就需要耗费不少心思了。那么如何学习MySQL呢?今天就来好好谈谈。下面介绍我学习MySQL的三个步骤,一天就搞定了MySQL,让我顺顺利利拿下了天猫的offer。这三个步骤里,包括了很多文原创 2020-10-08 14:59:47 · 265 阅读 · 0 评论 -
又爆神作!阿里首发SpringCloud神仙文档,GitHub已标星95K!
前言作为Java语言的落地微服务框架,Spring Cloud已经在各大企业普遍应用,各大云厂商也支持Spring Cloud微服务框架的云产品。可以说,Spring Cloud微服务框架已经应用到了各大行业之中,并成为Java开发者的必备技能之一,熟练掌握Spring Cloud是面试者的加分项。小编将从前言、目录,主要内容这三个部分为大家讲解Spring Cloud与微服务构建,同时,也希望本文能够帮助到大家的学习,也希望能够得到大家的喜欢!!先来看看这份SpringCloud 目录原创 2020-10-06 17:04:18 · 342 阅读 · 1 评论 -
硬核!阿里P8大佬整理的这份354页SpringBoot技术内幕文档,覆盖你认知中的所有的操作
前言经过几年的发展,Spring Boot几乎已成为Java企业级开发的标准框架,它为开发人员提供了极其方便的项目框架搭建、软件集成功能,极大地提升了开发人员的工作效率,减少了企业的运营成本。而Spring Boot又极其简单易用,一个新手按照官方文档的指导在十几分钟内就能创建一 个可运行的SpringBoot项目。Spring Boot的研发团队实现了用软件改变世界的梦想,实现了另外-一种形式的创新。有句话说得非常好:“世界上90%的行业都值得重做一遍,当你把它们做到极致时,那便是创新。"Spri原创 2020-09-30 14:54:36 · 1268 阅读 · 0 评论 -
国庆中秋小长假必看:Spring Boot2精髓(从构建小系统到架构分布式大系统)
前言十多年前,Spring颠覆了传统的Java EE技术,迎来了Java企业级应用开发的春天,然而今天的Spring Boot却站在Spring巨人的肩膀上,让我们可以更高效地开发与交付。目前,Spring Boot是Spring技术体系中炙手可热的框架之一,既可用于构建业务复杂的企业应用系统,也可以开发高性能和高吞吐量的互联网应用。Spring Boot框架降低了Spring 技术体系的使用门槛,简化了Spring应用的搭建和开发过程,提供了流行的第三方开源技术的自动集成。所以小编接下来给原创 2020-09-29 19:21:33 · 1287 阅读 · 0 评论 -
MongoDB干货总结
什么是MongoDB基于分布式文件存储的数据库,介于非关系型和关系型数据库之间。MongoDB和MySQL对比MongoDB MySQL Database Database Collection(集合) Table Document(文档) Row Field Column MongoDB有什么特点(1)面向集合存储数据,数据以json格式存储;(2)查询功能强大,几乎可以实现所有关系型数据库的单表查询功能;(3)自带分布式文件系统,原创 2020-09-23 13:57:47 · 422 阅读 · 0 评论 -
腾讯T8高级架构师分享一份实用PDF:小团队构建大网站 收藏!
今天小编给大家分享的是,腾讯T8高级架构师教大家学习的中小研发团队架构实践PDF,被称之“成为高级架构师捷径”的实用技术,希望大家能够喜欢!!!话不多说,我们直接上内容:本书分为5篇共22章,第一篇,开篇是本书的导读;第二篇,架构篇是设计思想的提升,包括企业总体架构、应用架构设计、统一应用分层等;第三篇,框架篇主讲中间件和工具的使用,包括消息队列、缓存、Job、集中式日志、应用监控和微服务等;第四篇,公共应用篇是技术与业务的结合,包括单点登录和企业支付网关;第五篇,进阶篇是从原创 2020-09-22 19:02:09 · 545 阅读 · 0 评论 -
膜拜!阿里内部都在消化的434页Springboot实战派文档
前言对于大部分普通家庭的孩子来说, IT行业是一个单靠个人或者团队能力就能“最快实现人生小目标”的行业 。所以, 如果这本文可以帮助读者学会精通 Spring Boot ,并且能够进入一线大厂不断学习丰富自己的人生,那本文的价值就很大了。本文基于Spring Boot 2.X版本,采用“知识点+实例”的形式编写,通过“58个基于知识的实例+2个综合性的项目”,全面深入地讲解了Spring Boot的主要技术原理和应用。不仅如此,本文还对比讲解了多种同类技术的使用和区别,读者可以根据自己的喜好进行原创 2020-09-13 20:06:22 · 237 阅读 · 0 评论 -
阿里首发,超高质量的K8s+Docker+Jenkins硬核干货!
只有实践了才能对其有深入理解,所谓“纸上得来终觉浅,绝知此事要躬行”,本文从实践角度介绍如何结合我们常用的Docker与Jenkins,通过K8s来实现项目的自动化部署。Kubemetes 是什么?首先,它是一个全新的基于容器技术的分布式架构领先方案。这个方案虽然还很新,但它是谷歌十几年以来大规模应用容器技术的经验积累和升华的一个重要成果。确切地说,Kubernetes是谷歌严格保密十几年的秘密武器——Borg的一个开源版本。k8s孕育的初衷是培育出一个组件及工具的生态,帮助大家减轻在公有云及私原创 2020-09-09 17:22:15 · 933 阅读 · 2 评论 -
阿里P9大牛的Springboot使用心得
Spring Boot是最流行的用于开发微服务的Java框架。在本文中,我将与你分享自2016年以来我在专业开发中使用Spring Boot所采用的最佳实践。这些内容是基于我的个人经验和一些熟知的Spring Boot专家的文章。在本文中,我将重点介绍Spring Boot特有的实践(大多数时候,也适用于Spring项目)。以下依次列出了最佳实践,排名不分先后。1、使用自定义BOM来维护第三方依赖这条实践是我根据实际项目中的经历总结出的。Spring Boot项目本身使用和集成了大量的开源项原创 2020-08-26 19:08:05 · 234 阅读 · 0 评论 -
Alibaba面试官提问:说说你对消息队列的理解
关于消息队列,断断续续的看了很多资料,一直想抽个时间把这些知识整理记录下来,但是没腾出时间来写,正好所在的项目在实际业务中使用到了消息队列,索性就将这方面的知识整理一下,可能有理解不到位的地方,望网友批评指出!一、消息队列由来可能在你没了解消息队列之前,已经听过很多概念了,例如 JMS,AMQP,ActiveMQ,RabbitMQ,RocketMQ,Kafka 等等。一个消息中间件,咋搞出这么多概念?别慌,我们先从历史角度来理清这些 MQ 和协议之间的关系!消息中间件其实诞生的很早,在互原创 2020-08-21 19:24:54 · 262 阅读 · 0 评论 -
初识Jackson——世界上最好的JSON库
一个工程仅需一个JSON库Java的JSON库,你至少应该用过/听过这三种:Jackson、Gson、Fastjson。一个独立的工程,按照依赖最少原则,本应该only one JSON库是足矣的。但现状是:各位同仁可观察观察各自的项目,大都同时存在2种JSON库,亦或者3种甚至更多...说明:在同一个工程内,同一功能若有多种实现,实属不好的现象。这会让管理起来显得混乱(譬如对日期的格式化就不方便做到统一),出口若有多个,想收口时就是个大难题了作为一个合格的架构师/工程师,保持最简依赖(..转载 2020-08-21 15:18:59 · 382 阅读 · 0 评论 -
内含面试|一文搞懂HBase的基本原理
本文会对HBase的基本原理进行剖析,通过本文你可以了解到:CAP理论 NoSQL出现的原因 HBase的特点及使用场景 HBase的数据模型和基本原理 客户端API的基本使用 易混淆知识点面试总结温馨提示:本文内容较长,如果觉得有用,建议收藏。另外记得分享、点赞、在看,素质三连哦!从BigTable说起HBase是在谷歌BigTable的基础之上进行开源实现的,是一个高可靠、高性能、面向列、可伸缩的分布式数据库,可以用来存储非结构化和半结构化的稀疏数据。HBase支持超大规模数据存原创 2020-08-14 16:10:57 · 316 阅读 · 0 评论 -
新一代垃圾回收器ZGC的探索与实践
多低延迟高可用Java服务的系统可用性经常受GC停顿的困扰,作为新一代的低延迟垃圾回收器,ZGC在大内存低延迟服务的内存管理和回收方面,有着非常不错的表现。本文从GC之痛、ZGC原理、ZGC调优实践、升级ZGC效果等维度展开,详述了ZGC在美团低延时场景中的应用,以及在生产环境中取得的一些成果。希望这些实践对大家有所帮助或者启发。ZGC(The Z Garbage Collector)是JDK 11中推出的一款低延迟垃圾回收器,它的设计目标包括:停顿时间不超过10ms; 停顿时间不会随着堆的大.原创 2020-08-10 21:51:21 · 252 阅读 · 0 评论 -
使用Java分离音频左右声道
使用Java分离音频左右声道1.音频属性相关音频采样所得的PCM都含有三个要素:声道(channel)、采样率(sample rate)、采样位数、时长。1.1.声道记录声音时,如果每次生成一个声波数据,称为单声道;每次生成两个声波数据,称为双声道(立体声)。单声道的声音只能使用一个喇叭发声,双声道的PCM可以使两个喇叭同时发声(一般左右声道有分工),更能感受到空间效果。1.2.采样率单位时间内采集的样本数,即:采样周期的倒数,指两个采样之间的时间间隔。采样频率越高,声音质量越好,但原创 2020-08-09 22:15:39 · 675 阅读 · 0 评论 -
TiDB 在知乎万亿量级业务数据下的实践和挑战
一、业务场景知乎从问答起步,在过去的 8 年中逐步成长为一个大规模的综合性知识内容平台,目前,知乎上有多达 3000 万个问题,共收获了超过 1.3 亿个回答,同时知乎还沉淀了数量众多的文章、电子书以及其他付费内容,目前注册用户数是 2.2 亿,这几个数字还是蛮惊人的。我们有 1.3 亿个回答,还有更多的专栏文章,所以如何高效的把用户最感兴趣的优质内容分发他们,就是非常重要的问题。图 1知乎首页是解决流量分发的一个关键的入口,而已读服务想要帮助知乎首页解决的问题是,如何在首页中给用户推荐感兴原创 2020-08-08 21:06:55 · 223 阅读 · 0 评论 -
HDFS-Tiering 数据分层存储
1. 背景随着小米业务迅猛发展,存储到 HDFS 集群的数据量不断增大,存储成本也不断攀升。尤其是海外 HDFS 集群每 GB 数据的成本是国内集群的 10 倍左右,如何优化海外集群的存储成本变得非常迫切。海外 HDFS 集群主要采用云主机挂载 EBS 的方式搭建,EBS 是成本的大头。但 EBS 可靠性高,性能优良,又是业务正常运行的保障。经过我们对 HDFS 元数据信息的分析,以印度离线集群为例,发现半年以上没有访问的冷数据大约占 25% 左右。这些数据存储在高性能高成本的 EBS 上是一种浪费原创 2020-08-07 19:25:30 · 362 阅读 · 0 评论 -
如何对 ElasticSearch 集群进行压力测试
当 ElasticSearch 的业务量足够大,比如每天都会产生数百 GB 数据的时候,你就会自然而然的需要一个性能更强的 ElasticSearch 集群。特别是当你使用的场景是一些典型的大量数据进入的场景,比如网站日志、用户行为记录、大型电商网站的站内搜索时,一个强劲的 ElasticSearch 是必不可少的组件。在这样的场景下,如何找到一组合适的 ElasticSearch 集群?如何评估 ElasticSearch 集群的性能,就成为了一个十分重要的因素。用什么 ElasticSearch 进原创 2020-08-07 14:04:56 · 728 阅读 · 0 评论 -
一文搞定 Spring Data JPA
Spring Data JPA 是在 JPA 规范的基础上进行进一步封装的产物,和之前的 JDBC、slf4j 这些一样,只定义了一系列的接口。具体在使用的过程中,一般接入的是 Hibernate 的实现,那么具体的 Spring Data JPA 可以看做是一个面向对象的 ORM。虽然后端实现是 Hibernate,但是实际配置和使用比 Hibernate 简单不少,可以快速上手。如果业务不太复杂,个人觉得是要比 Mybatis 更简单好用。基本使用创建项目,选择相应的依赖。一般不直接用 mysq原创 2020-08-06 17:23:21 · 206 阅读 · 0 评论 -
【easy Backend】掌握HTTP请求的精髓
http请求过程网上有很多博客写的很详尽也总结的很好,本文更多地面向前端来浅显地描述HTTP访问的过程,帮助大家更好的理解流程。本文有很多概念性的东西,晦涩难懂,有不明确或者存疑的地方欢迎版聊谈论。1、访问过程概览如果面试的时候问到了这道题,用一句话来回答的话,我会说:客户端向服务端发送访问请求,服务端复制了一份自己的内容返回给客户端的过程,但这是把大象塞进冰箱式的回答。把大象塞进冰箱这一步还可以继续拆解成一下几个步骤:打一个类比来解释这个过程:比如我家(client-side)附近原创 2020-08-04 17:26:52 · 182 阅读 · 0 评论 -
Spring Security 实战干货:图解用户是如何登录的
转至码农小胖哥1. 前言欢迎阅读Spring Security 实战干货系列文章,在集成Spring Security安全框架的时候我们最先处理的可能就是根据我们项目的实际需要来定制注册登录了,尤其是Http登录认证。根据以前的相关文章介绍,Http登录认证由过滤器UsernamePasswordAuthenticationFilter 进行处理。我们只有把这个过滤器搞清楚才能做一些定制化。今天我们就简单分析它的源码和工作流程。2. UsernamePasswordAuthentica.转载 2020-08-04 16:03:31 · 178 阅读 · 0 评论 -
【React Native教程】Redux入门教程
Redux在 官网上是这么定义的: A Predictable State Container for JS Apps,直译过来就是一个使用在JS应用上的可预测的状态容器。Redux解决的问题React Native本身是基于前端的 React框架,它是通过 State来管理页面显示和参数更新。如果在交互比较复杂的页面、需要多页面状态传递或者同步更新状态的情况,状态管理就会比较麻烦。使用 Redux就可以解决这些问题。Redux的核心逻辑和概念Redux的核心逻辑是集中定义和管理...原创 2020-08-03 22:01:55 · 380 阅读 · 0 评论 -
java学习笔记——IO系统 缓冲流
字节缓冲流字节缓冲输出流java.io.BufferedOutputStreamextends OutputStream构造方法:使用步骤(!!!)创建FileOutputStream对象,构造方法中绑定输出目的地 创建BufferedOutputStream对象,构造方法中传递FileOutputStream对象,提高FileOutputStream对象效率 使用BufferedOutputStream对象中write方法,将数据写入到内部缓冲区 使用Buffer...原创 2020-08-03 01:12:03 · 148 阅读 · 0 评论 -
通过源代码分析Mybatis的功能
SQL解析Mybatis在初始化的时候,会读取xml中的SQL,解析后会生成SqlSource对象,SqlSource对象分为两种。 DynamicSqlSource,动态SQL,获取SQL( getBoundSQL方法中)的时候生成参数化SQL。 RawSqlSource,原始SQL,创建对象时直接生成参数化SQL。 因为 RawSqlSource不会重复去生成参数化SQL,调用的时候直接传入参数并执行,而 DynamicSqlSource则是每次执行的时候参数化SQL,...原创 2020-08-02 03:27:00 · 204 阅读 · 0 评论 -
Java8中你可能不知道的一些地方之Lambda
Lambda 表达式(也称为闭包),它允许我们将函数当成参数传递给某个方法,或者把代码本身当作数据处理。很多语言(Groovy、Scala等)从设计之初就支持 Lambda 表达式。但是 java 中使用的是匿名内部类代替。最后借助强大的社区力量,找了一个折中的 Lambda 实现方案,可以实现简洁而紧凑的语言结构。一、匿名内部类到Lambda的演化匿名内部类,即一个没有名字的,存在于一个类或方法内部的类。当我们需要用某个类且只需要用一次,创建和使用合二为一时,我们可以选择匿名内部类,省...原创 2020-08-02 02:20:59 · 225 阅读 · 0 评论 -
MyBatis动态SQL(认真看看, 以后写SQL就爽多了)
MyBatis 令人喜欢的一大特性就是动态 SQL。在使用 JDBC 的过程中, 根据条件进行 SQL 的拼接是很麻烦且很容易出错的。MyBatis 动态 SQL 的出现, 解决了这个麻烦。MyBatis通过 OGNL 来进行动态 SQL 的使用的。目前, 动态 SQL 支持以下几种标签元素 作用 备注 if 判断语句 单条件分支 choose(when、otherwise) 相当于 Java 中的 if else 多条件分支 trim(where原创 2020-08-02 02:04:00 · 241 阅读 · 0 评论 -
通过源代码分析Mybatis的功能
SQL解析Mybatis在初始化的时候,会读取xml中的SQL,解析后会生成SqlSource对象,SqlSource对象分为两种。 DynamicSqlSource,动态SQL,获取SQL( getBoundSQL方法中)的时候生成参数化SQL。 RawSqlSource,原始SQL,创建对象时直接生成参数化SQL。 因为 RawSqlSource不会重复去生成参数化SQL,调用的时候直接传入参数并执行,而 DynamicSqlSource则是每次执行的时候参数化SQL,...原创 2020-08-02 00:56:50 · 120 阅读 · 0 评论 -
我们来谈一谈Spring中的属性注入
目录前言源码分析 doCreateBean applyMergedBeanDefinitionPostProcessors populateBean总结本系列文章:读源码,我们可以从第一行读起你知道Spring是怎么解析配置类的吗?配置类为什么要添加@Configuration注解?谈谈Spring中的对象跟Bean,你知道Spring怎么创建对象的吗?推荐阅读:Spring官网阅读 | 总结篇Spring杂谈本系列文章将会带你一行行的将Spring的源码.转载 2020-08-01 19:55:22 · 191 阅读 · 0 评论 -
SpringBoot 基础(basic)
1.Spring Boot整合连接池1.1 SpringBoot概述实际开发中应用程序与数据库交互时,“获得连接”或“释放资源”是非常消耗系统资源的两个过程,为了解决此类性能问题,通常情况我们采用连接池技术来重用连接Connection对象,如图-1所示:Java为数据库连接池提供了公共的接口:javax.sql.DataSource,各个厂商需要让自己的连接池实现这个接口。然后我们的应用程序中耦合与这个接口,便可以方便的切换不同厂商的连接池,常见的连接池有DBCP、C3P0,DRUID,H原创 2020-07-31 22:09:14 · 403 阅读 · 0 评论 -
java8新特性的接口默认方法
JAVA8 已经发布很久,而且毫无疑问,java8 是自 java5(2004年发布)之后的最重要的版本。其中包括语言、编译器、库、工具和 JVM 等诸多方面的新特性。Java8 新特性列表如下:接口默认方法函数式接口Lambda 表达式方法引用StreamOptional 类Date APIBase64重复注解与类型注解1、什么是接口默认方法从 Java8 开始,程序允许在接口中包含带有具体实现的方法,使用 default 修饰,这类方法就是默认方法。默认方法在接口中可以添加多个,并原创 2020-07-31 21:09:31 · 221 阅读 · 0 评论