dubbo
文章平均质量分 80
zhuguanghalo
这个作者很懒,什么都没留下…
展开
-
Hadoop如何将TB级大文件的上传性能优化上百倍?
这篇文章,我们来看看,Hadoop的HDFS分布式文件系统的文件上传的性能优化。首先,我们还是通过一张图来回顾一下文件上传的大概的原理。由上图所示,文件上传的原理,其实说出来也简单。比如有个TB级的大文件,太大了,HDFS客户端会给拆成很多block,一个block就是128MB。这个HDFS客户端你可以理解为是云盘系统、日志采集系统之类的东西。比如有人上传一个1TB的大文件到网盘,或...原创 2019-05-31 16:05:27 · 1146 阅读 · 0 评论 -
Kafka竟然不支持读写分离!今天才知道!
Kafka竟然不支持读写分离!今天才知道! 在 Kafka 中,生产者写入消息、消费者读取消息的操作都是与 leader 副本进行交互的,从 而实现的是一种主写主读的生产消费模型。数据库、Redis 等都具备主写主读的功能,与此同时还支持主写从读的功能,主写从读也就是读写分离,为了与主写主读对应,这里就以主写从读来称呼!在 Kafka 中,生产者写入消息、消费者读取消息的操作都是与 leade...原创 2019-04-26 11:00:06 · 245 阅读 · 0 评论 -
一位程序员爸爸抵制编程教育:“我不会教孩子学编程”
看点 5G技术、人工智能、虚拟现实,越来越多的新词汇冲刷着我们的认知。“未来已来,编程为王。”在大众看来,编程似乎与读写一样,成为接轨未来的必备技能。然而,美国程序员爸爸Joe Morgon却表示并不会让自己的孩子学习编程。他指出,编程与读写在重要性上并不对等,而且简单的学习编程语法并不能培养孩子解决问题的能力。更重要的是,当我们强迫孩子跟着死板的流程去学习编程,只会抹杀他们的好奇心。昨天,我在...原创 2019-04-09 15:36:25 · 1096 阅读 · 2 评论 -
不要996!程序员创建955.WLB不加班公司名单,GitHub周榜第二
一个人的一生应该怎样度过?现在程序员们开始认真思考这个问题。GitHub 的每周趋势榜上,996.ICU 已雄踞第一,第二则是这个项目的反向 Repo:WLB所谓 955,就是每天 9 点上班,下午 5 点下班,每周工作 5 天时间。而 WLB,就是 Work-Life Balance 即工作生活平衡。WLB,主要用来统计哪些公司不加班。咱们接下来看看,到底哪些公司能让程序员们...原创 2019-04-11 16:40:32 · 882 阅读 · 0 评论 -
蚂蚁4轮Java面试真题看看自己会多少:悲观锁+G1收集器+幻读+连接池+分布式架构
阿里蚂蚁金服专场面试系列题01 技术一面线程池有哪些参数?分别有什么用?如果任务数超过的核心线程数,会发生什么?阻塞队列大小是多少?数据库连接池介绍下,底层实现说下hashset底层实现,hashmap的put操作过程说说HaspMap底层原理?再说说它跟HaspTable和ConcurrentHashMap他们之间的相同点和不同点?说说B+树和B树的区别,优缺点等?算法题,对...原创 2019-04-02 15:23:48 · 303 阅读 · 1 评论 -
JavaScript 为什么要有 Symbol 类型?
Symbols 是 ES6 引入了一个新的数据类型 ,它为 JS 带来了一些好处,尤其是对象属性时。 但是,它们能为我们做些字符串不能做的事情呢?在深入探讨 Symbol 之前,让我们先看看一些 JavaScript 特性,许多开发人员可能不知道这些特性。背景js 中的数据类型总体来说分为两种,他们分别是:值类型 和 引用类型值类型(基本类型):数值型(Number),字符类型(Strin...原创 2019-04-01 19:18:10 · 1421 阅读 · 1 评论 -
2019BATJ面试题汇总详解:MyBatis+MySQL+Spring+Redis+多线程
这里为大家分享一些面试的一手资料,供大家迎接接下来的金三银四跳槽季SpringSpring 概述什么是spring?使用Spring框架的好处是什么?Spring由哪些模块组成?解释AOP模块Spring配置文件什么是Spring IOC 容器?依赖注入什么是Spring的依赖注入?有哪些不同类型的IOC(依赖注入)方式?哪种依赖注入方式你建议使用,构造器注入,还是 S...原创 2019-04-10 15:45:30 · 189 阅读 · 1 评论 -
2019天猫面试题(含总结):线程池+并发编程+分布式设计+中间件
引言过年之后相信有一部分的人,早已磨刀霍霍向大厂。势必要大展拳脚,必将在大厂内创出一片天地。但是,想必大家都知道:最近几年的最严重的互联网寒冬来临,各位兄弟都会说“江湖再见”。耳边总是充刺着流言蜚语,这个地方裁员了,这个地方缩减HC。弄得人心慌慌。年后将是一片血雨腥风,程序界的江湖将在这一天精彩斑斓。但我们要知道,寒冬之中,什么是最珍贵,就让鄙人告诉你:人才。只要有过硬的技术和装备,在逆风直下...原创 2019-03-31 17:11:17 · 219 阅读 · 0 评论 -
JVM源码分析之Object.wait/notify实现
最简单的东西,往往包含了最复杂的实现,因为需要为上层的存在提供一个稳定的基础,Object作为java中所有对象的基类,其存在的价值不言而喻,其中wait和notify方法的实现多线程协作提供了保证。public class WaitNotifyCase { public static void main(String[] args) { final Object loc...原创 2019-04-04 15:52:02 · 2180 阅读 · 0 评论 -
是那行代码,彻底改变了程序员的世界?
这是那个版本?程序入门第一课。这是那个版本?有点对象的感觉哦。这是那个版本?感觉有点难啊!这是那个版本?现在好像很火。这是那个版本?看到微软的气息。这是那个版本?还记得他们三兄弟吗?这是那个版本?很古老,但很美。这是那个版本?强大的一个工具这是那个版本?如果你玩过,说明是80后。这是那个版本?这是那个版本?貌似开口就暴露自己的身份。这是那个版本?也是个...原创 2019-03-21 17:27:27 · 113 阅读 · 0 评论 -
Java代理的几种方式
什么是代理什么是代理呢,其实很好理解,就是不直接访问目标,而是通过一个中间层来访问,就好像下面这样:Java的静态代理举个例子,如果我们一些水果,比如:香蕉、苹果等,写成Java代码,大概是下面这个样子://Fruit.java/**水果的接口*/public interface Fruit {/**获取水果的名字*/public String getName(...原创 2019-01-02 17:12:57 · 631 阅读 · 0 评论 -
Python、Java 薪资最高,C# 垫底:分析什么编程语言最赚钱!
本文主要用Python爬取拉勾网不同编程语言职位信息,包括Python岗、Java岗、C++岗、PHP岗、C#岗位(5岗),再用R语言对影响薪资的因素进行分析。由于拉勾网的职位信息只显示30页,一页15个职位信息,如果单独爬取一个城市的岗位信息,只有几页是匹配的信息,信息量太小,分析没有说服力。因此,本文爬取拉勾网全国职位信息。主要包括三部分内容:爬取拉勾网5岗职位信息,以Python岗为例;...原创 2018-12-26 12:02:43 · 664 阅读 · 0 评论 -
Java工程师成神之路~
一、基础篇1.1 JVM1.1.1. Java内存模型,Java内存管理,Java堆和栈,垃圾回收http://www.jcp.org/en/jsr/detail?id=133http://ifeve.com/jmm-faq/1.1.2. 了解JVM各种参数及调优1.1.3. 学习使用Java工具jps, jstack, jmap, jconsole, jinfo, jhat, ...原创 2018-12-25 14:12:39 · 369 阅读 · 0 评论 -
过年回家,程序员最怕的 5 件事
时间过得真快啊,一月接一月,一年又一年。程序猿工作繁忙,每天游离于代码之间,似乎已经忘记了时间的流淌。话说又要回去过年了,作者是心有余悸的。已经习惯在大城市生活的一线码农,早已不能融入故乡那种风气的生活。但又要面对许多你需要面对的事情,比如以下几件。一、借钱笔者无时不刻接受到亲朋好友的借钱。这不还没回去过年,一亲戚就要借钱盖房,同时得知他买了辆车。车是刚需吗?不买车就有钱盖房,就不用麻烦别...原创 2018-12-19 11:40:55 · 2469 阅读 · 0 评论 -
恕我直言,在座的各位根本不会写 Java!
导语自 2013 年毕业后,今年已经是我工作的第 4 个年头了,总在做 Java 相关的工作,终于有时间坐下来,写一篇关于 Java 写法的一篇文章,来探讨一下如果你真的是一个 Java 程序员,那你真的会写 Java 吗?笔者是一个务实的程序员,故本文绝非扯淡文章,文中内容都是干货,望读者看后,能有所收获。文章核心其实,本不想把标题写的那么恐怖,只是发现很多人干了几年 Java 以后,都...原创 2018-12-29 15:22:08 · 584 阅读 · 1 评论 -
2019值得关注的数据可视化工具TOP5
数据可视化在数据分析过程中的扮演着非常重要的角色。对于数据科学家或数据分析师来说,以更直观、便于查看、甚至更吸引人的视觉效果来呈现数据是很重要的。数据可视化是一个有效的市场工具,通过这种方式,从海量数据中挖掘的知识与信息就可以一种简单的方式直观地进行展示,目前数据分析师或数据科学家们以图形格式来进行数据展示的方法有很多。为什么数据可视化很重要?根据人类大脑的处理方式,看到电子表格和使用图表的...原创 2019-04-17 14:47:23 · 427 阅读 · 0 评论 -
Apache Ignite上的TensorFlow
任何深度学习都是从数据开始的,这是关键点。没有数据,就无法训练模型,也无法评估模型质量,更无法做出预测,因此,数据源非常重要。在做研究、构建新的神经网络架构、以及做实验时,会习惯于使用最简单的本地数据源,通常是不同格式的文件,这种方法确实非常有效。但有时需要更加接近于生产环境,那么简化和加速生产数据的反馈,以及能够处理大数据就变得非常重要,这时就需要Apache Ignite大展身手了。Apac...原创 2019-04-18 17:05:10 · 330 阅读 · 0 评论 -
Spring Cloud Stream如何处理消息重复消费?
最近收到好几个类似的问题:使用Spring Cloud Stream操作RabbitMQ或Kafka的时候,出现消息重复消费的问题。通过沟通与排查下来主要还是用户对消费组的认识不够。其实,在之前的博文以及《Spring Cloud微服务实战》一书中都有提到关于消费组的概念以及作用。那么什么是消费组呢?为什么要用消费组?它解决什么问题呢?摘录一段之前博文的内容,来解答这些疑问:通常在生产环境,我...原创 2019-05-27 20:24:55 · 415 阅读 · 0 评论 -
基于Spring cloud gateway定制的微服务网关
在构建微服务的架构体系过程中,API网关是一个非常重要的组件。那我们应该怎样实现一个微服务API网关,本文主要介绍Spring Cloud Gateway的功能,以及如何基于Spring Cloud Gateway定制自己的网关。Spring Cloud GatewaySpring Cloud Gateway提供的是一个用于在Spring MVC之上构建API网关的library,它的目标是...原创 2019-05-22 16:23:18 · 793 阅读 · 0 评论 -
彻底搞懂synchronized(从偏向锁到重量级锁)
接触过线程安全的同学想必都使用过synchronized这个关键字,在java同步代码快中,synchronized的使用方式无非有两个:通过对一个对象进行加锁来实现同步,如下面代码。synchronized(lockObject){ //代码}对一个方法进行synchronized声明,进而对一个方法进行加锁来实现同步。如下面代码public synchornized void ...原创 2019-05-17 11:53:12 · 719 阅读 · 1 评论 -
Cookie、Session和Token
前言Web诞生之初,功能比较单一:允许Internet上任意一个用户都可以从许多文档服务计算机的数据库中搜索和获取文档。服务器不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 即请求加响应,服务器不用记住是谁刚刚发了HTTP请求, 每个请求对服务器来说都是全新的。随着交互式Web应用的兴起,网站有了登录的需求,如在线购物网站,社交网站等等。这就面临一个问题,服务器...原创 2019-05-12 19:28:24 · 241 阅读 · 0 评论 -
你需要了解的网络协议
网络协议有哪些?应用层:HTTP、FTP、SSH、SMTP表示层会话层传输层:TCP、UDP网络层:IP数据链路层物理层HTTP的工作流程如下 :HTTP是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。地址解析HTTP协议是通过标准URL来请求指...原创 2019-05-16 11:30:05 · 491 阅读 · 0 评论 -
聚集索引、非聚集索引、覆盖索引的工作原理分析总结!
「数据库」和「数据库索引」这两个东西是在服务器端开发领域应用最为广泛的两个概念,熟练使用数据库和数据库索引是开发人员在行业内生存的必备技能。使用索引很简单,只要能写创建表的语句,就肯定能写创建索引的语句,要知道这个世界上是不存在不会创建表的服务器端程序员的。然而, 会使用索引是一回事, 而深入理解索引原理又能恰到好处使用索引又是另一回事,这完全是两个天差地别的境界(我自己也还没有达到这层境界)。...原创 2019-05-21 14:13:25 · 372 阅读 · 0 评论 -
数据库连接池
什么是数据库连接池呢?数据库连接池(Connection Pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地分配池中的连接进行申请、使用、释放。由于数据库连接的创建和断开是一个耗时性的操作,同时对数据库会造成安全隐患。因此,在程序初始化时集中创建多个连接,并将其集中管理供程序使用,可以保证较快的数据读写速度且提高系统的安全可靠性。连接池是创建和管理一个...原创 2019-05-15 19:03:58 · 621 阅读 · 0 评论 -
Zookeeper与paxos算法
一、 zookeeper是什么官方说辞:Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。好抽象,我们改变一下方式,先看看它都提供了哪些功能,然后再看看使用它的这些功能能做点什么。二、 zookee...原创 2019-05-19 17:18:25 · 445 阅读 · 0 评论 -
面试必问的JVM应该怎么学(面试题含答案)
java虚拟机的基本结构如图:1)类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中可能还会存放运行时常量池信息,包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)。2)java堆在虚拟机启动的时候建立,它是java程序最主要的内存工作区域。几乎所有的java对象实例都存放在java堆中...原创 2019-05-14 16:50:32 · 327 阅读 · 0 评论 -
阿里面试题:Mybatis中的Dao接口和XML文件里的SQL是如何建立关系的?
一、解析XML首先,Mybatis在初始化SqlSessionFactoryBean的时候,找到mapperLocations路径去解析里面所有的XML文件,这里我们重点关注两部分。1、创建SqlSourceMybatis会把每个SQL标签封装成SqlSource对象。然后根据SQL语句的不同,又分为动态SQL和静态SQL。其中,静态SQL包含一段String类型的sql语句;而动态SQL则...原创 2019-05-09 15:53:34 · 286 阅读 · 0 评论 -
12 款超实用的 Win10 UWP 应用分享
Grover Podcast商店最佳播客应用!纯净简洁,体验很棒。支持手动添加播客源、在线浏览搜索频道、资源下载、OPML 备份文件导入/导出等。ACG播放器功能很强大的一款视频播放器,效果酷炫,支持艺术字母、音效视效增强,可自由定制界面样式和手势操作。疯狂番茄 - 番茄工作法 + 任务管理很完善的番茄钟工具,正如其名字里说的那样,结合和番茄钟和任务管理,相当于 todo-list...原创 2019-05-13 19:13:47 · 7125 阅读 · 0 评论 -
Linux的优缺点,Linux与Windows的区别
当我们每个人接触Linux之前,应该先接触的都是Windows吧?但我们一般接触Linux后,习惯Linux的管理和使用方法后,我们再回过头再来使用Windows的时候,内心其实是拒绝的。我们会觉得图形好麻烦,图形好Low的感觉,这个时候我们差不多是一个Linux的重度爱好者了。对于Linux是欲罢不能的,真是一个遇到贵妇一样的感觉,总是觉的她很神秘、很多我们想探索的地方。Windows和Lin...原创 2019-04-20 11:18:24 · 643 阅读 · 0 评论 -
消息中间件面试题:如何保证消息不被重复消费
面试题剖析回答这个问题,首先你别听到重复消息这个事儿,就一无所知吧,你先大概说一说可能会有哪些重复消费的问题。首先,比如 RabbitMQ、RocketMQ、Kafka,都有可能会出现消息重复消费的问题,正常。因为这问题通常不是 MQ 自己保证的,是由我们开发来保证的。挑一个 Kafka 来举个例子,说说怎么重复消费吧。Kafka 实际上有个 offset 的概念,就是每个消息写进去,都有一...原创 2019-04-23 20:25:23 · 639 阅读 · 0 评论 -
Java程序员卧底从阿里、京东、美团面试回来,这些面试题你会吗?
面试,难还是不难?最终结果好还是不好?取决于面试者的底蕴(气场+技能)、心态和认知以及沟通技巧。而一些主流的大型互联网公司面试(阿里巴巴、京东、美团、滴滴)更是需要你在面试时展现出自己的能力,从而获得面试官的欣赏和肯定。而程序员在应聘时更是需要经历层层面试。俗话说,磨刀不误砍柴工,做好面试前的准备工作可以帮助大家更好的应对面试官的问题以及面试中的突发情况。那么我们一起来看看大型互联网公司的面试题...原创 2018-12-24 11:35:22 · 291 阅读 · 0 评论 -
推荐几个IDEA插件,Java开发者撸码利器。
这里只是推荐一下好用的插件,具体的使用方法不一一详细介绍。JRebel for IntelliJ一款热部署插件,只要不是修改了项目的配置文件,用它都可以实现热部署。收费的,破解比较麻烦。不过功能确实很强大。算是开发必备神器了。热部署快捷键是control+F9/command+F9。.ignoregit提交时过滤掉不需要提交的文件,很方便,有些本地文件是不需要提交到Git上的。Camel...转载 2018-12-29 11:51:37 · 298 阅读 · 0 评论 -
学Java,不做程序员还能从事这10个有趣工作!
10个用Java谋生非常有趣的方式令我惊讶的是,有些人觉得编程并不令人兴奋,只将它当作是一份枯燥的工作。不过,虽然可能的确有很多无聊的编程工作,但这并不意味着你不得不接受这些工作中的一个。程序员有各种各样的机会,运用他们的技能去做一些有趣的事情,特别是如果他们懂Java的话。Java也许是时下雇主中最流行的语言,这意味着有很多很多不同的工作可供选择。只要稍微用心找一找,你就会发现一...原创 2018-12-12 14:29:19 · 1568 阅读 · 0 评论 -
Java/Python转大数据,你必须了解的深度学习
深度学习这是当今的热门话题,坚定地投入到人工智能,大数据和分析等领域的广泛行业。目前,Google正在使用语音和图像识别算法深度学习,而Netflix和Amazon正在使用它来了解客户的行为。事实上,你不会相信,但是麻省理工学院的研究人员正在试图用深度学习来预测未来。现在,想象一下,革命化的世界和我们的工作方式,潜在的深入学习有多少。在谈论深度学习突破之前,人们必须了解它与机器学习和人工智能的关系...原创 2018-12-07 16:58:53 · 2882 阅读 · 0 评论 -
了解下Java的代码注释
Java的代码注释作用:1)、解释程序中某些部分的作用和功能,提高程序的可读性。2)、可以使用注释暂时屏蔽某些语句,在程序调试时使用。欢迎工作一到五年的Java工程师朋友们加入Java技术交流:611481448群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zoo...原创 2018-11-28 16:26:22 · 392 阅读 · 0 评论 -
JAVA要死了吗?不!我来告诉你为什么!
我们看到“Java 死了吗?” 这个问题,年年都被抛出来,然而至今为止,从所有的第三方统计来看,Java 不仅活的很好,还在保持增长。虽然不断有新的语言面世,TIOBE 仍将 Java 评选为 2015 年度最热门语言,目前显示它相比 2014 年,用户增加了 5%,高于其他所有编程语言。不仅如此, PYPL Index(一个基于谷歌搜索中教程搜索频度对语言进行评估的站点)的数据显示, Jav...原创 2018-11-27 21:15:46 · 782 阅读 · 0 评论 -
Java之父的高龄码农路 硅谷公司的年龄歧视
硅谷常自喻为自由和开放,可近年来对那些年长的科技从业者却越来越不友好。不久前,61 岁的 Java 之父詹姆斯·高斯林在 Facebook 上发表了他所遭遇的年龄歧视。詹姆斯·高斯林作为 Java 之父的特殊身份姑且可以让他在硅谷谋求到一份不错的职务,但其他普通的年长从业者可不是那么好过。他们的焦虑和歧视,促使他们从外貌、思想和履历上进行“年轻化”,甚至有部分人通过整容手段来让自己看起来更年...原创 2018-12-02 21:34:14 · 5880 阅读 · 1 评论 -
关于程序员交女朋友的那点事儿
A与B(程序员)聊天A:“我的老婆对我很好,每天都陪我熬夜完成工作!”B:“我的老婆也一样。”A:“我的老婆在我累了的时候可以给我讲笑话!”B:“我的老婆也会给我讲笑话。”A:“我的老婆在我有需求的时候可以让我很销魂!”B:“我老婆也可以帮我。”A:“哦?这么说来你的老婆也很温柔很漂亮咯?”B:“……”夜晚,B怀抱着自己的笔记本躺进被子,轻声地对本子说:“晚安,亲爱的!”我是一...原创 2018-12-04 21:19:16 · 600 阅读 · 1 评论 -
Java 最困扰你的那些事
啊哈Reddit(某知名国外在线问答社区),没了你我们还能在哪里从鱼目混珠的网络中提炼真正的精华?就在这杂乱无章的论坛中,的的确确存在着这样一些精辟的讨论。比如有个叫Shambloroni的兄弟发起了一个引起广泛共鸣的话题(收到了150个回复和投票)。话题的开始是他在吐槽 Java 有哪些方面最让他感到厌烦,同时他又向其他程序猿征集关于编写Java时令人蛋疼(伤感……)的故事。下面我列出了一...原创 2018-11-30 15:33:04 · 432 阅读 · 0 评论 -
为什么你必须摒弃 Java ,全面转向 Kotlin 语言?
是时候开始玩一门现代的编程语言了!我想告诉你一个名为 Kotlin 的新的编程语言,以及为什么你要开始考虑使用它来开发你的下一个项目。我以前喜欢 Java ,但是去年我发现了 Kotlin ,只要有可能我就会用 Kotlin 来写代码。现在我实在无法想象有什么地方只有 Java 能做,而 Kotlin 不能的。Kotlin 是 JetBrains 开发的,这是一家开发了一整套 IDEs 的公...原创 2018-11-26 21:23:30 · 305 阅读 · 0 评论