ant
文章平均质量分 79
zhuguanghalo
这个作者很懒,什么都没留下…
展开
-
Spring Cloud Stream如何处理消息重复消费?
最近收到好几个类似的问题:使用Spring Cloud Stream操作RabbitMQ或Kafka的时候,出现消息重复消费的问题。通过沟通与排查下来主要还是用户对消费组的认识不够。其实,在之前的博文以及《Spring Cloud微服务实战》一书中都有提到关于消费组的概念以及作用。那么什么是消费组呢?为什么要用消费组?它解决什么问题呢?摘录一段之前博文的内容,来解答这些疑问:通常在生产环境,我...原创 2019-05-27 20:24:55 · 417 阅读 · 0 评论 -
JavaScript 为什么要有 Symbol 类型?
Symbols 是 ES6 引入了一个新的数据类型 ,它为 JS 带来了一些好处,尤其是对象属性时。 但是,它们能为我们做些字符串不能做的事情呢?在深入探讨 Symbol 之前,让我们先看看一些 JavaScript 特性,许多开发人员可能不知道这些特性。背景js 中的数据类型总体来说分为两种,他们分别是:值类型 和 引用类型值类型(基本类型):数值型(Number),字符类型(Strin...原创 2019-04-01 19:18:10 · 1426 阅读 · 1 评论 -
2019BATJ面试题汇总详解:MyBatis+MySQL+Spring+Redis+多线程
这里为大家分享一些面试的一手资料,供大家迎接接下来的金三银四跳槽季SpringSpring 概述什么是spring?使用Spring框架的好处是什么?Spring由哪些模块组成?解释AOP模块Spring配置文件什么是Spring IOC 容器?依赖注入什么是Spring的依赖注入?有哪些不同类型的IOC(依赖注入)方式?哪种依赖注入方式你建议使用,构造器注入,还是 S...原创 2019-04-10 15:45:30 · 192 阅读 · 1 评论 -
2019天猫面试题(含总结):线程池+并发编程+分布式设计+中间件
引言过年之后相信有一部分的人,早已磨刀霍霍向大厂。势必要大展拳脚,必将在大厂内创出一片天地。但是,想必大家都知道:最近几年的最严重的互联网寒冬来临,各位兄弟都会说“江湖再见”。耳边总是充刺着流言蜚语,这个地方裁员了,这个地方缩减HC。弄得人心慌慌。年后将是一片血雨腥风,程序界的江湖将在这一天精彩斑斓。但我们要知道,寒冬之中,什么是最珍贵,就让鄙人告诉你:人才。只要有过硬的技术和装备,在逆风直下...原创 2019-03-31 17:11:17 · 240 阅读 · 0 评论 -
Java代理的几种方式
什么是代理什么是代理呢,其实很好理解,就是不直接访问目标,而是通过一个中间层来访问,就好像下面这样:Java的静态代理举个例子,如果我们一些水果,比如:香蕉、苹果等,写成Java代码,大概是下面这个样子://Fruit.java/**水果的接口*/public interface Fruit {/**获取水果的名字*/public String getName(...原创 2019-01-02 17:12:57 · 638 阅读 · 0 评论 -
Python、Java 薪资最高,C# 垫底:分析什么编程语言最赚钱!
本文主要用Python爬取拉勾网不同编程语言职位信息,包括Python岗、Java岗、C++岗、PHP岗、C#岗位(5岗),再用R语言对影响薪资的因素进行分析。由于拉勾网的职位信息只显示30页,一页15个职位信息,如果单独爬取一个城市的岗位信息,只有几页是匹配的信息,信息量太小,分析没有说服力。因此,本文爬取拉勾网全国职位信息。主要包括三部分内容:爬取拉勾网5岗职位信息,以Python岗为例;...原创 2018-12-26 12:02:43 · 678 阅读 · 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 · 374 阅读 · 0 评论 -
过年回家,程序员最怕的 5 件事
时间过得真快啊,一月接一月,一年又一年。程序猿工作繁忙,每天游离于代码之间,似乎已经忘记了时间的流淌。话说又要回去过年了,作者是心有余悸的。已经习惯在大城市生活的一线码农,早已不能融入故乡那种风气的生活。但又要面对许多你需要面对的事情,比如以下几件。一、借钱笔者无时不刻接受到亲朋好友的借钱。这不还没回去过年,一亲戚就要借钱盖房,同时得知他买了辆车。车是刚需吗?不买车就有钱盖房,就不用麻烦别...原创 2018-12-19 11:40:55 · 2478 阅读 · 0 评论 -
恕我直言,在座的各位根本不会写 Java!
导语自 2013 年毕业后,今年已经是我工作的第 4 个年头了,总在做 Java 相关的工作,终于有时间坐下来,写一篇关于 Java 写法的一篇文章,来探讨一下如果你真的是一个 Java 程序员,那你真的会写 Java 吗?笔者是一个务实的程序员,故本文绝非扯淡文章,文中内容都是干货,望读者看后,能有所收获。文章核心其实,本不想把标题写的那么恐怖,只是发现很多人干了几年 Java 以后,都...原创 2018-12-29 15:22:08 · 591 阅读 · 1 评论 -
Java程序员卧底从阿里、京东、美团面试回来,这些面试题你会吗?
面试,难还是不难?最终结果好还是不好?取决于面试者的底蕴(气场+技能)、心态和认知以及沟通技巧。而一些主流的大型互联网公司面试(阿里巴巴、京东、美团、滴滴)更是需要你在面试时展现出自己的能力,从而获得面试官的欣赏和肯定。而程序员在应聘时更是需要经历层层面试。俗话说,磨刀不误砍柴工,做好面试前的准备工作可以帮助大家更好的应对面试官的问题以及面试中的突发情况。那么我们一起来看看大型互联网公司的面试题...原创 2018-12-24 11:35:22 · 303 阅读 · 0 评论 -
推荐几个IDEA插件,Java开发者撸码利器。
这里只是推荐一下好用的插件,具体的使用方法不一一详细介绍。JRebel for IntelliJ一款热部署插件,只要不是修改了项目的配置文件,用它都可以实现热部署。收费的,破解比较麻烦。不过功能确实很强大。算是开发必备神器了。热部署快捷键是control+F9/command+F9。.ignoregit提交时过滤掉不需要提交的文件,很方便,有些本地文件是不需要提交到Git上的。Camel...转载 2018-12-29 11:51:37 · 309 阅读 · 0 评论 -
一个阿里工作4年java程序员的从业心得,写给还在迷茫的朋友
工作第一年,往往是什么都充满新鲜感,什么都学习,冲劲十足的一年;WEB行业知识更新特别快,今天一个框架的新版本,明天又是另一个新框架,有时往往根据项目的需要来不断学习新东西;所以,很多时候感觉,自己用过的东西真多呀!但是真正深入研究的东西却不多。面试,是跳槽后第一个需要面对的问题;而且不同公司面试的着重点不同;但是却有一个共同点:Java基础是必考的。工作第一年,可能问你String对象创建的理...原创 2018-12-18 11:25:06 · 474 阅读 · 0 评论 -
阿里程序员的一场自嗨,坑了全世界的程序员
12月25号,一觉醒来,打开公司开发的系统,发现系统的样式大变样原来长这样的按钮突然全部变成了这样还没搞清楚怎么回事,客户那边打电话过来,质问我们是不是系统中毒了?项目经理赶紧叫前后端去检查。眼下快到年下了,出大问题年终奖可是会泡汤的,程序员不敢怠慢,赶紧赶去看了一眼,然后前端得出结论,呵呵,都是阿里程序员搞的鬼。原来为了迎合欧美最大的节日–圣诞节,阿里的开源项目ant-design出...原创 2018-12-28 14:31:05 · 1697 阅读 · 0 评论 -
不要996!程序员创建955.WLB不加班公司名单,GitHub周榜第二
一个人的一生应该怎样度过?现在程序员们开始认真思考这个问题。GitHub 的每周趋势榜上,996.ICU 已雄踞第一,第二则是这个项目的反向 Repo:WLB所谓 955,就是每天 9 点上班,下午 5 点下班,每周工作 5 天时间。而 WLB,就是 Work-Life Balance 即工作生活平衡。WLB,主要用来统计哪些公司不加班。咱们接下来看看,到底哪些公司能让程序员们...原创 2019-04-11 16:40:32 · 891 阅读 · 0 评论 -
一位程序员爸爸抵制编程教育:“我不会教孩子学编程”
看点 5G技术、人工智能、虚拟现实,越来越多的新词汇冲刷着我们的认知。“未来已来,编程为王。”在大众看来,编程似乎与读写一样,成为接轨未来的必备技能。然而,美国程序员爸爸Joe Morgon却表示并不会让自己的孩子学习编程。他指出,编程与读写在重要性上并不对等,而且简单的学习编程语法并不能培养孩子解决问题的能力。更重要的是,当我们强迫孩子跟着死板的流程去学习编程,只会抹杀他们的好奇心。昨天,我在...原创 2019-04-09 15:36:25 · 1104 阅读 · 2 评论 -
2019值得关注的数据可视化工具TOP5
数据可视化在数据分析过程中的扮演着非常重要的角色。对于数据科学家或数据分析师来说,以更直观、便于查看、甚至更吸引人的视觉效果来呈现数据是很重要的。数据可视化是一个有效的市场工具,通过这种方式,从海量数据中挖掘的知识与信息就可以一种简单的方式直观地进行展示,目前数据分析师或数据科学家们以图形格式来进行数据展示的方法有很多。为什么数据可视化很重要?根据人类大脑的处理方式,看到电子表格和使用图表的...原创 2019-04-17 14:47:23 · 430 阅读 · 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 · 796 阅读 · 0 评论 -
彻底搞懂synchronized(从偏向锁到重量级锁)
接触过线程安全的同学想必都使用过synchronized这个关键字,在java同步代码快中,synchronized的使用方式无非有两个:通过对一个对象进行加锁来实现同步,如下面代码。synchronized(lockObject){ //代码}对一个方法进行synchronized声明,进而对一个方法进行加锁来实现同步。如下面代码public synchornized void ...原创 2019-05-17 11:53:12 · 721 阅读 · 1 评论 -
Cookie、Session和Token
前言Web诞生之初,功能比较单一:允许Internet上任意一个用户都可以从许多文档服务计算机的数据库中搜索和获取文档。服务器不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 即请求加响应,服务器不用记住是谁刚刚发了HTTP请求, 每个请求对服务器来说都是全新的。随着交互式Web应用的兴起,网站有了登录的需求,如在线购物网站,社交网站等等。这就面临一个问题,服务器...原创 2019-05-12 19:28:24 · 247 阅读 · 0 评论 -
你需要了解的网络协议
网络协议有哪些?应用层:HTTP、FTP、SSH、SMTP表示层会话层传输层:TCP、UDP网络层:IP数据链路层物理层HTTP的工作流程如下 :HTTP是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。地址解析HTTP协议是通过标准URL来请求指...原创 2019-05-16 11:30:05 · 499 阅读 · 0 评论 -
聚集索引、非聚集索引、覆盖索引的工作原理分析总结!
「数据库」和「数据库索引」这两个东西是在服务器端开发领域应用最为广泛的两个概念,熟练使用数据库和数据库索引是开发人员在行业内生存的必备技能。使用索引很简单,只要能写创建表的语句,就肯定能写创建索引的语句,要知道这个世界上是不存在不会创建表的服务器端程序员的。然而, 会使用索引是一回事, 而深入理解索引原理又能恰到好处使用索引又是另一回事,这完全是两个天差地别的境界(我自己也还没有达到这层境界)。...原创 2019-05-21 14:13:25 · 382 阅读 · 0 评论 -
数据库连接池
什么是数据库连接池呢?数据库连接池(Connection Pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地分配池中的连接进行申请、使用、释放。由于数据库连接的创建和断开是一个耗时性的操作,同时对数据库会造成安全隐患。因此,在程序初始化时集中创建多个连接,并将其集中管理供程序使用,可以保证较快的数据读写速度且提高系统的安全可靠性。连接池是创建和管理一个...原创 2019-05-15 19:03:58 · 633 阅读 · 0 评论 -
Zookeeper与paxos算法
一、 zookeeper是什么官方说辞:Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。好抽象,我们改变一下方式,先看看它都提供了哪些功能,然后再看看使用它的这些功能能做点什么。二、 zookee...原创 2019-05-19 17:18:25 · 454 阅读 · 0 评论 -
面试必问的JVM应该怎么学(面试题含答案)
java虚拟机的基本结构如图:1)类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中可能还会存放运行时常量池信息,包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)。2)java堆在虚拟机启动的时候建立,它是java程序最主要的内存工作区域。几乎所有的java对象实例都存放在java堆中...原创 2019-05-14 16:50:32 · 334 阅读 · 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 · 289 阅读 · 0 评论 -
12 款超实用的 Win10 UWP 应用分享
Grover Podcast商店最佳播客应用!纯净简洁,体验很棒。支持手动添加播客源、在线浏览搜索频道、资源下载、OPML 备份文件导入/导出等。ACG播放器功能很强大的一款视频播放器,效果酷炫,支持艺术字母、音效视效增强,可自由定制界面样式和手势操作。疯狂番茄 - 番茄工作法 + 任务管理很完善的番茄钟工具,正如其名字里说的那样,结合和番茄钟和任务管理,相当于 todo-list...原创 2019-05-13 19:13:47 · 7168 阅读 · 0 评论 -
消息中间件面试题:如何保证消息不被重复消费
面试题剖析回答这个问题,首先你别听到重复消息这个事儿,就一无所知吧,你先大概说一说可能会有哪些重复消费的问题。首先,比如 RabbitMQ、RocketMQ、Kafka,都有可能会出现消息重复消费的问题,正常。因为这问题通常不是 MQ 自己保证的,是由我们开发来保证的。挑一个 Kafka 来举个例子,说说怎么重复消费吧。Kafka 实际上有个 offset 的概念,就是每个消息写进去,都有一...原创 2019-04-23 20:25:23 · 645 阅读 · 0 评论 -
Java 程序员都应该去使用一下这款强大的国产工具类库 Java技术进阶 2
这不是标题党,今天给大家推荐一个很棒的国产工具类库:Hutool。可能有很多朋友已经知道这个类库了,甚至在已经在使用了,如果你还没有使用过,那不妨去尝试一下,我们项目组目前也在用这个。这篇文章来简单介绍一下这个类库。官网地址:https://www.hutool.cn/Hutool是Hu + tool的自造词,前者是作者致敬他的“前任公司”,后者为工具之意,谐音“糊涂”,寓意追求“万事都作糊涂...原创 2018-12-28 11:30:42 · 508 阅读 · 0 评论 -
Java永久代去哪儿了
在Java虚拟机(以下简称JVM)中,类包含其对应的元数据,比如类的层级信息,方法数据和方法信息(如字节码,栈和变量大小),运行时常量池,已确定的符号引用和虚方法表。在过去(当自定义类加载器使用不普遍的时候),类几乎是“静态的”并且很少被卸载和回收,因此类也可以被看成“永久的”。另外由于类作为JVM实现的一部分,它们不由程序来创建,因为它们也被认为是“非堆”的内存。在JDK8之前的HotSp...原创 2018-12-11 11:34:46 · 135 阅读 · 0 评论 -
了解下Java的代码注释
Java的代码注释作用:1)、解释程序中某些部分的作用和功能,提高程序的可读性。2)、可以使用注释暂时屏蔽某些语句,在程序调试时使用。欢迎工作一到五年的Java工程师朋友们加入Java技术交流:611481448群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zoo...原创 2018-11-28 16:26:22 · 412 阅读 · 0 评论 -
JAVA要死了吗?不!我来告诉你为什么!
我们看到“Java 死了吗?” 这个问题,年年都被抛出来,然而至今为止,从所有的第三方统计来看,Java 不仅活的很好,还在保持增长。虽然不断有新的语言面世,TIOBE 仍将 Java 评选为 2015 年度最热门语言,目前显示它相比 2014 年,用户增加了 5%,高于其他所有编程语言。不仅如此, PYPL Index(一个基于谷歌搜索中教程搜索频度对语言进行评估的站点)的数据显示, Jav...原创 2018-11-27 21:15:46 · 794 阅读 · 0 评论 -
Java之父的高龄码农路 硅谷公司的年龄歧视
硅谷常自喻为自由和开放,可近年来对那些年长的科技从业者却越来越不友好。不久前,61 岁的 Java 之父詹姆斯·高斯林在 Facebook 上发表了他所遭遇的年龄歧视。詹姆斯·高斯林作为 Java 之父的特殊身份姑且可以让他在硅谷谋求到一份不错的职务,但其他普通的年长从业者可不是那么好过。他们的焦虑和歧视,促使他们从外貌、思想和履历上进行“年轻化”,甚至有部分人通过整容手段来让自己看起来更年...原创 2018-12-02 21:34:14 · 5919 阅读 · 1 评论 -
关于程序员交女朋友的那点事儿
A与B(程序员)聊天A:“我的老婆对我很好,每天都陪我熬夜完成工作!”B:“我的老婆也一样。”A:“我的老婆在我累了的时候可以给我讲笑话!”B:“我的老婆也会给我讲笑话。”A:“我的老婆在我有需求的时候可以让我很销魂!”B:“我老婆也可以帮我。”A:“哦?这么说来你的老婆也很温柔很漂亮咯?”B:“……”夜晚,B怀抱着自己的笔记本躺进被子,轻声地对本子说:“晚安,亲爱的!”我是一...原创 2018-12-04 21:19:16 · 613 阅读 · 1 评论 -
Java 最困扰你的那些事
啊哈Reddit(某知名国外在线问答社区),没了你我们还能在哪里从鱼目混珠的网络中提炼真正的精华?就在这杂乱无章的论坛中,的的确确存在着这样一些精辟的讨论。比如有个叫Shambloroni的兄弟发起了一个引起广泛共鸣的话题(收到了150个回复和投票)。话题的开始是他在吐槽 Java 有哪些方面最让他感到厌烦,同时他又向其他程序猿征集关于编写Java时令人蛋疼(伤感……)的故事。下面我列出了一...原创 2018-11-30 15:33:04 · 436 阅读 · 0 评论 -
为什么你必须摒弃 Java ,全面转向 Kotlin 语言?
是时候开始玩一门现代的编程语言了!我想告诉你一个名为 Kotlin 的新的编程语言,以及为什么你要开始考虑使用它来开发你的下一个项目。我以前喜欢 Java ,但是去年我发现了 Kotlin ,只要有可能我就会用 Kotlin 来写代码。现在我实在无法想象有什么地方只有 Java 能做,而 Kotlin 不能的。Kotlin 是 JetBrains 开发的,这是一家开发了一整套 IDEs 的公...原创 2018-11-26 21:23:30 · 311 阅读 · 0 评论 -
Java编程也要从娃娃抓起
因为市面上没有教孩子编程的教程书,于是本文作者自己编了一本。InfoQ的用户朋友们有没有教自己孩子编程的呢?我司倒是有一个教自家跳小苹果的孩子学C语言的。十二年前,我的小儿子Dave出现在我的办公室,手里拿着Java教程。Dave让我教他编程,这样他就能自己写游戏了。那时候我已经写了几本关于Java的书,还同时教几门计算机编程课,但那都是面向成人的;Amazon上没有任何适合用来教孩子编程的书...原创 2018-11-29 19:51:54 · 3136 阅读 · 0 评论 -
专访阿里巴巴毕玄:异地多活数据中心项目的来龙去脉
大数据时代,数据中心的异地容灾变得非常重要。在去年双十一之前,阿里巴巴上线了数据中心异地双活项目。InfoQ就该项目采访了阿里巴巴的林昊(花名毕玄)。毕玄是阿里巴巴技术保障部的研究员,负责性能容量架构。数据中心异地多活项目就是他主导的。InfoQ:首先请介绍一下数据中心异地多活这个项目。**毕玄:**这个项目在我们内部的另外一个名字叫做单元化,双活是它的第二个阶段,多活是第三个阶段。所以我...原创 2018-11-25 20:43:05 · 3101 阅读 · 0 评论 -
Java : 一个帝国的诞生
1、C语言帝国的统治现在是公元1995年, C语言帝国已经统治了我们20多年, 实在是太久了。1972年, 随着C语言的诞生和Unix的问世, 帝国迅速建立统治, 从北美到欧洲, 从欧洲到亚洲, 无数程序员臣服在他的脚下。帝国给我们提供了极好的福利:贴近硬件, 运行极快, 效率极高。使用这些福利, 程序员们用C 开发了很多系统级软件,操作系统, 编译器, 数据库,网络系统…但是帝国也给我...转载 2018-11-22 17:11:08 · 320 阅读 · 1 评论 -
屡被下“病危通知”的Java,为何现在仍活得很好?
很早之前就有人大放厥词“Java已死”,但是时至今日,Java仍在IT技术中占据很重要的地位。Wayne Citrin将在这篇文章中为你解析为什么Java还存活于世,并且在未来也将活得很好,不会轻易Go Die。2010年,一位名叫Mike Gualtieri的分析师发表了一篇博客文章,声称“对于企业开发者来说,Java已是死路一条”,文章论据有力,很快就引起了轰动。但是,在七年后的今天,Jav...原创 2018-11-23 16:19:40 · 242 阅读 · 0 评论 -
Java进阶部分的总结,你们都学会了吗?
一直说学Java,做Java开发,其实并没有做一个系统的总结。那么做一个Java开发,或者是高级Java开发、架构师,到底要会哪些东西,哪些原理,先简单做一个总结,也希望能监督自己按这个路线一直的学习和总结下去。基础知识:Java反射:Field、TypeJava代理:proxy、cglibJava线程:Thread、Runnable、ExecutorService、Callable、Fu...原创 2018-11-21 21:33:42 · 358 阅读 · 0 评论