自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

转载 漫画:什么是架构师

于是,小灰去向大黄请教 这是有关未来的故事:从前,有一个赶路的人路过一片工地,看到三个年轻人在工地上搬砖。于是,他问其中一个人: 于是,他又问了第二个人: 于是,他又问了第三个人: 十年之后~曾经说自己在建造城市的年轻人,成为了市长。曾经说自己在搬砖的年轻人,成为了砖厂老板。曾经说自己在搭建教堂的年轻人,最...

2018-08-25 10:57:14 231

原创 程序员如何解决与产品经理的冲突?

前阵子因为一个跟随主题变色的手机壳需求,让程序员和产品经理大打出手的视频火爆了网络,不得不说,能够让世人普遍觉得内向的程序员也也有被逼急了的时候,事后小编想了很久,产品经理和程序员基本上就是两个对立的阶段,有人详细的把产品经理和程序员的关系形象的比喻为“婆媳关系”,产品经理这个“婆婆”巴不得程序员这个媳妇把所有自己受过的“苦”都受一遍,其实本是同根生,相煎何太急啊,多少产品经理不是从程序员熬过来的...

2018-09-07 17:47:13 2037

原创 SQL语句编写的那些坑,你踩了几个?

前言金九银十,又到了一年的程序员跳槽季,最近总有一些朋友在问数据库的问题,说面试的时候总是被问到,虽然知道一些,但是要完整的表达还是欠缺的,想了想与其一个一个解答,不如做个数据库优化问题集锦,供所有的有这个方面需要的朋友参考。 SQL语句编写的那些坑,你踩了几个? 一些SQL优化建议首先要强调一点:一个SQL语句要尽量简单,不要嵌套太多层。有的开发者喜欢用多层嵌套语句,如果你是大学...

2018-09-05 16:41:33 546

原创 SQL语句编写的那些坑,你踩了几个?

前言 金九银十,又到了一年的程序员跳槽季,最近总有一些朋友在问数据库的问题,说面试的时候总是被问到,虽然知道一些,但是要完整的表达还是欠缺的,想了想与其一个一个解答,不如做个数据库优化问题集锦,供所有的有这个方面需要的朋友参考。 一些SQL优化建议 首先要强调一点:一个SQL语句要尽量简单,不要嵌套太多层。有的开发者喜欢用多层嵌套语句,如果你是大学生尚可用来玩一玩,真正到企业级应用了,...

2018-09-05 15:52:09 240

原创 除了霸王洗发水,还能怎么拯救程序员的发际线?

程序员的工作除了写代码就是优化代码,加班加出来的锃亮的秃顶,才是工作颁发的最佳码农勋章。 除了章光101和霸王生发剂,有没有更好的办法从根本上解决这个问题呢?答案是,有。为了使开发更加轻松和高效,现在市面上涌现出了越来越多的高效编程工具,多多使用工具可以节省工作时间提升工作效率,以下12款工具是“拯救程序员发际线联盟”(扣群:860170416,众多高级架构师等你找到组织)吐血整理,包含...

2018-09-04 19:46:17 2050

原创 阿里Java高级面试题,你离阿里巴巴还有多远?

支付宝笔试面试cookie 和 session 的区别cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。1、cookie数据存放在客户的浏览器上,session数据放在服务器上。2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。3、session...

2018-08-29 17:29:24 209

原创 你的项目应该如何正确分层?

1.背景 说起应用分层,大部分人都会认为这个不是很简单嘛 就controller,service, mapper三层。看起来简单,很多人其实并没有把他们职责划分开,在很多代码中,controller做的逻辑比service还多,service往往当成透传了,这其实是很多人开发代码都没有注意到的地方,反正功能也能用,至于放哪无所谓呗。这样往往造成后面代码无法复用,层级关系混乱,对后续代码的维护非常...

2018-08-28 17:35:58 396

转载 简单的this,麻烦的this

周末的Hello World咖啡馆总是热闹非凡,门上贴着通知:java架构交流群:860170416,我们的目标是星辰大海。Java , Python, Ruby, JavaScript围坐在一起,一边喝咖啡,一边海阔天空。C老头儿则待在一旁,冷眼旁观。聊着聊着,这话题不知怎么着转移到了“this”上来了。Java 说: “唉!你们不知道吧,对于一个初学Java的人来说,this ...

2018-08-27 21:38:49 174

原创 小白科普:分布式和集群

1、分布式小明的公司有3个系统: 系统A、系统B和系统C ,这三个系统所做的业务不同,被部署在3个独立的机器上运行, 他们之间互相调用(当然是跨域网络的), 通力合作完成公司的业务流程。将不同的业务分布在不同的地方, 这就构成了一个分布式的系统,现在问题来了, 系统A是整个分布式系统的“脸面”, 用户直接访问,用户量访问大的时候要么是速度巨慢,要么直接挂掉, 怎么办? 由于系统A只...

2018-08-27 17:24:51 336

原创 企业微服务架构转型-关键诉求

微服务架构这个概念出来也有2-3年的时间了,从最开始在互联网企业的广泛应用,到现在越来越多的企业开始关注和希望尝试使用微服务架构。 对于企业从传统IT架构到微服务架构的转型,绝对不是盲目的跟风互联网企业,而是企业的业务规范,企业的信息化水平和IT成熟度发展到一定阶段后的比如诉求,那么这些关键的诉求究竟有哪些?从系统规划建设期到IT管控治理和运维期 首先可以看到当企业的信息...

2018-08-13 14:58:00 1875

原创 企业微服务架构切入点

企业在自身IT成熟度还没有达到一定水平的时候,应该谨慎对待微服务架构,其核心原因就是由于架构微服务化后会导致开发,集成,乃至后期的运维管控的复杂度呈指数级提升。即使企业本身有组件化和服务化的思想,但是也没有能够彻底构建微服务架构的能力。 正如很多企业连基础主数据都没有管理,也没有建设集成的研发,生产相关的PLM,MES,CIM等核心系统,就开始谈要一步迈入工业4.0和智能制造是一样的道理...

2018-08-13 14:54:00 463

转载 微服务架构的基础框架选择:Spring Cloud还是Dubbo?

最近一段时间不论互联网还是传统行业,凡是涉及信息技术范畴的圈子几乎都在讨论 微服务架构 。近期也看到各大技术社区开始组织一些沙龙和论坛来分享Spring Cloud的相关实施经验,这对于最近正在整理Spring Cloud相关套件内容与实例应用的我而言,还是有不少激励的。目前,Spring Cloud在国内的知名度并不高,在前阵子的求职过程中,与一些互联网公司的架构师、技术VP或者CTO在交流...

2018-08-13 14:46:53 232

原创 如何为Kafka集群选择合适的Topics/Partitions数量

这是许多kafka使用者经常会问到的一个问题。本文的目的是介绍与本问题相关的一些重要决策因素,并提供一些简单的计算公式。 越多的分区可以提供更高的吞吐量首先我们需要明白以下事实:在kafka中,单个patition是kafka并行操作的最小单元。在producer和broker端,向每一个分区写入数据是可以完全并行化的,此时,可以通过加大硬件资源的利用率来提升系统的吞吐量,例如对数据进行压缩...

2018-08-13 14:39:55 220

转载 kafka 源码分析 3 : Producer

ProducerProducer是生产者的接口定义常用的方法有public Future<RecordMetadata> send(ProducerRecord<K, V> record);public Future<RecordMetadata> send(ProducerRecord<K, V> record, Callback ...

2018-08-13 14:33:20 236

原创 Kafka 流数据 SQL 引擎 -- KSQL

KSQL 是什么?KSQL 是一个 Kafka 的 SQL 引擎,可以让我们在流数据上持续执行 SQL 查询例如,有一个用户点击流的topic,和一个可持续更新的用户信息表,使用 KSQL 对点击流数据、用户表进行建模,并把二者连接起来,之后 KSQL 会持续查询这个topic的数据流,并放入表中KSQL 是开源的、分布式的,具有高可靠、可扩展、实时的特性KSQL 支持强大的流处理...

2018-08-13 14:23:07 2974

转载 Kafka:大数据开发最火的核心技术

大数据时代来临,如果你还不知道Kafka那你就真的out了!据统计,有三分之一的世界财富500强企业正在使用Kafka,包括所有TOP10旅游公司,7家TOP10银行,8家TOP10保险公司,9家TOP10电信公司等等。LinkedIn,Microsoft和Netflix每天都用Kafka处理万亿级的信息。Kafka主要应用于实时信息流的大数据收集或者实时分析(或者两者兼有)。Kafka既可以...

2018-08-13 14:20:01 765

转载 Kafka 是否可以用做长期数据存储?

问题“把 Kafka 作为长期存储有问题吗?” 这是一个非常常见的问题,我们知道,只要把数据保留时间设置为“永久”,或者开启日志压缩,数据就会被一直保存把数据长期存储在 Kafka,这个做法并不疯狂,很多人已经在这么用,并且 Kafka 的设计中也涵盖了这种用法,下面是一些实际应用的场景 应用场景(1)你有一个应用,使用了事件模式,并需要对变更日志进行存储,理论上可以使用很多系统来存...

2018-08-13 14:08:59 2522

转载 kafka解决了什么问题?

个人认为, Kafka与Redis PUB/SUB之间最大的区别在于Kafka是一个完整的系统,而Redis PUB/SUB只是一个套件(utility)——没有冒犯Redis的意思,毕竟它的主要功能并不是PUB/SUB。先说Redis吧,它首先是一个内存数据库,其提供的PUB/SUB功能把消息保存在内存中(基于channel),因此如果你的消息的持久性需求并不高且后端应用的消费能力超强的话,使用...

2018-08-13 14:05:49 864

转载 JAVA核心技术学习笔记 | 备考

掌握Java核心技术是学习和掌握好Java技术的关键,下边分17个点对这些Java核心技术进行讲解。 1.Java中没有多继承,而是用接口来代替多继承 2.运行一个已经编译的程序时,Java解释器总是从指定类的main方法中的代码开始执行,因此,执行代码中必须有一个main函数。 3.Java是典型的强类型语言,即...

2018-08-11 13:55:23 226

原创 Java EE 适合大学生学吗?

1 你是否选择了IT?很多大学生在最初选择专业的时候,也很重视热门的专业选择,但是出于种种原因,比如分数不够,当初选择专业的时候没能够选择计算机专业,但是当下IT行业发展的越来越好,很多大学生都想进入IT行业,成为IT高级人才。大学生想要进入IT行业,是可以理解的,但是IT行业专业性很强,不是谁都可以进入的,想进入IT行业的大学生,要正确的认识自己,到底自己适不适合IT行业,这样日后工作...

2018-08-11 13:53:43 397 1

原创 Java语言的十一大特点

1 Java语言是简单的   Java 语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑 的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。 2 Java语言是一个面向对象的   Java 语言提供类、...

2018-08-11 13:41:22 459

转载 Java编程代码性能优化总结

代码优化的目标是:1、减小代码的体积2、提高代码运行的效率 代码优化细节: 1、尽量指定类、方法的final修饰符带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为...

2018-08-11 13:37:41 361 1

原创 java基础精彩集锦

  1、请解释Java语言的跨平台特性  解析:虽然不知道什么是跨平台也可以使用Java语言进行编程,但是对于一个Java编程员来说,理解跨平台特性能够更深入掌握Java语言,所以企业中往往要求应聘者至少理解这个特性。  参考答案:Java的跨平台特性也被称为可移植性、平台无关性,或者一次编写处处运行。他的意思就是如果用Java语言编写一个应用,那么就可以在不同平台上运行,而不需要为不同平...

2018-08-11 11:23:06 173

转载 Java锁细节整理

本文简介:锁是在开发的过程无法避免的问题。也是面试常问的问题。 本文比较详细的解决了java中的锁,记住是锁。一、JDK8存在的锁synchronizedStampedLockReentrantLockReentrantReadWriteLockPS: 下面内容测试的结果不是十分正确。第一,测试的jdk是1.6,而不是1.8.测试的没有关闭UseBiasedLocking(...

2018-08-11 11:20:12 229

原创 java 与 python 的并发争论

有一天,java遇到了python兄弟,调侃道:“我听一位刚学python的老伙计道,你这并发包很不好用呀。”“怎么不好用了,我有Threading模块,只要创建一个Thread实例,调用start()就可以了,而且我的线程是真正的Posix Thread,这可是操作系统级的呀。”python道。java道:“这年头,许多语言用的都是内核线程,谁还用模拟线程,用户线程呀,你这个特性也没什么...

2018-08-11 11:11:49 1248

原创 Java第一,C第二、Python第三:Apache 2018 年度报告

近日,Apache发布年度财务报告,报告显示,ASF社区如今已经发展到300多个项目,拥有超过6000多个代码提交者,并且实现了50万美元的收益,对于一个开源捐赠的基金会来说,这是非常不错的成绩自1999年以来,Apache已成为世界上最大的开源基金会,拥有300多个免费提供的企业级项目。世界各地的提交者已经合作开展了各种领域的项目,从人工智能,大数据,物联网到DevOps,云计算和框架。本次...

2018-08-11 11:10:37 320

原创 Java程序员应该掌握哪些东西?

Java是热门的语言之一,TIOBE编程语排名Java排名第二,仅在C语言之后。Java可以用来开发web应用和桌面应用,更重要的是Java具有跨平台性:write once, run everywhere。Java相对其他语言来说,更容易学习。如果你想成为一名Java程序员,根据个人经验,认为你至少应该对下面的这些内容非常熟练,才能在Java开发上游刃有余。Java基础部分:OOP概...

2018-08-11 11:07:47 257

转载 从构建分布式秒杀系统聊聊限流特技

一.前言俗话说的好,冰冻三尺非一日之寒,滴水穿石非一日之功,罗马也不是一天就建成的。两周前秒杀案例初步成型,分享到了中国最大的同性交友网站-码云。同时也收到了不少小伙伴的建议和投诉。我从不认为分布式、集群、秒杀这些就应该是大厂的专利,在互联网的今天无论什么时候都要时刻武装自己,只有这样,也许你的春天就在明天。在开发秒杀系统案例的过程中,前面主要分享了队列、缓存、锁和分布式锁以及静态化等等。...

2018-08-11 11:07:10 380

转载 MySQL的索引是什么?怎么优化?

摘要: 索引对大数据的查询速度的提升是非常大的,Explain可以帮你分析SQL语句是否用到相关索引。索引类似大学图书馆建书目索引,可以提高数据检索的效率,降低数据库的IO成本。MySQL在300万条记录左右性能开始逐渐下降,虽然官方文档说500~800w记录,所以大数据量建立索引是非常有必要的。MySQL提供了Explain,用于显示SQL执行的详细信息,可以进行索引的优化。一、导致SQ...

2018-08-10 19:07:28 122

转载 GitHub 的 MySQL 高可用性实践分享

GitHub 使用 MySQL 作为所有非 git 仓库数据的主要存储, 它的可用性对 GitHub 的访问操作至关重要。GitHub 站点本身、GitHub 的 API、身份验证等等都需要进行数据库访问。我们运行着多个 MySQL 集群来为不同的服务和任务提供支持。我们的集群使用经典的主从配置, 主集群中的某个节点能够接受写入。其余的从集群节点异步同步来自主服务器的更改, 并提供数据的读取服务。...

2018-08-10 18:59:32 182

转载 Java面试,你应该准备这些知识

马老师说过,员工的离职原因很多,只有两点最真实:钱,没给到位 心,受委屈了 当然,我当初是想换个平台,换个方向,想清楚为什么要跳槽,如果真的要跳槽,想要拿到一个理想的offer,除了运气,基本功也要足够的扎实,希望下面的面试经验能给你们能够提供一些帮助。项目经验面试官在一开始会让你进行自我介绍,主要是想让你介绍一下自己做过的一些项目,看看你对这些项目的了解程度,因为很多人简历上写的...

2018-08-10 18:56:08 1537

转载 新手快速搭建MySql服务「神器」

前言如今各种云服务厂商搞活动,云服务器也是便宜的一批,最近不少小伙伴有在问,云服务器如何安装MySql?回想自己曾在win下安装的痛楚以及Linux出现的各种问题,决定把Docker神器分享给大家。描述MySQL 5.6 SQL数据库服务器Docker镜像,此容器映像包含用于OpenShift的MySQL 5.6 SQL数据库服务器和一般用法。用户可以选择RHEL和基于CentOS的图...

2018-08-10 18:48:40 180

原创 架构之路企业级NFS网络文件共享服务

前言任何强大的单一服务器都满足不了大型网站持续增长的业务需求,网站发展到一定程序,应用服务器就要跟文件存储分离,创建文件服务器分摊应用服务器的压力。文件服务器是为网络上各工作站提供完整数据、文件、目录等信息共享,对网络文件实行统一管理的服务器。常见的文件服务器实现方式有以下这么几种:NFS 远程映射、分布式文件系统FastDFS、第三方对象存储 OSS以及自己使用代码手撸一个等等,今天主要...

2018-08-10 18:44:18 245

原创 从构建分布式秒杀系统聊聊分布式锁

前言最近懒成一坨屎,学不动系列一波接一波,大多还都是底层原理相关的。上周末抽时间重读了周志明大湿的 JVM 高效并发部分,每读一遍都有不同的感悟。路漫漫,借此,把前段时间搞着玩的秒杀案例中的分布式锁深入了解一下。 案例介绍在尝试了解分布式锁之前,大家可以想象一下,什么场景下会使用分布式锁?单机应用架构中,秒杀案例使用ReentrantLcok或者synchronized来达到秒杀商品...

2018-08-10 18:40:13 279

原创 为什么不推荐大家去外包公司

其实大家心里都像明镜一样地明白“低技术含量的外包没有前途”,好多人都认为外包没有技术,其实这种思想不对,国外有大量的高端技术外包业务等着我们干,但是反问一句“你们能干吗?”。现在大部分的公司都是平均每个项目开发4个月,干完就再转一个组再做别的项目,从Java .NET C C++ 到有些人可能没有听说过的RPG,一个有着7年开发经验的外包人员可以说自已会十几种开发语言做过几十个case,但是却...

2018-08-10 17:16:54 4094

转载 GitHub 的 MySQL 高可用性实践分享

GitHub 使用 MySQL 作为所有非 git 仓库数据的主要存储, 它的可用性对 GitHub 的访问操作至关重要。GitHub 站点本身、GitHub 的 API、身份验证等等都需要进行数据库访问。我们运行着多个 MySQL 集群来为不同的服务和任务提供支持。我们的集群使用经典的主从配置, 主集群中的某个节点能够接受写入。其余的从集群节点异步同步来自主服务器的更改, 并提供数据的读取服务。...

2018-08-10 17:08:07 200

转载 1 年工作经验的 Java 程序员面试经历

op3 大厂中的一个,面试了2轮: 第一轮面试:说下 Java 内存模型的组成和各部分的作用Java 类的加载机制说下几个线程池的类别和特点以及实现原理链表和 ArrayList 的区别Android 的消息机制Android 中需要更新 UI 需要做什么操作?TCP 握手挥手过程……基本上都答上了,还有几个多线程的问题具体的不太记得了第二轮面试:只...

2018-08-10 17:05:31 2174

转载 分布式之redis复习精讲

引言 为什么写这篇文章?博主的《分布式之消息队列复习精讲》得到了大家的好评,内心诚惶诚恐,想着再出一篇关于复习精讲的文章。但是还是要说明一下,复习精讲的文章偏面试准备,真正在开发过程中,还是脚踏实地,一步一个脚印,不要投机取巧。考虑到绝大部分写业务的程序员,在实际开发中使用redis的时候,只会setvalue和getvalue两个操作,对redis整体缺乏一个认知。又恰逢博主某个同事下...

2018-08-10 17:00:24 150

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除