一.如何定义架构师 Java架构师,首先要是一个Java程序员,熟练使用各种框架,并知道它们实现的原理.jvm虚拟机原理.调优,懂得jvm能让你写出性能更好的代码;池技术,什么对象池,怎么解决并发量.连接池,线程池. Java反射技术,写框架必备的技术,但是有严重的性能问题,替代方案Java字节码技术:nio,没什么好说的,值得注意的是”直接内存”的特点,使用场景;java多线程同步异步;java各种集合对象的实现原理,了解这些可以让你在解决问题时选择合适的数据结构,高效的解决问题,比如hash…
    近期看到一个知乎里非常热闹的讨论.当中讨论到科研能力与project能力,我有非常多感想. 想说说大学CS方向的一些东西.     我不是计算机专业的,如今大二本科工科在读.     我接触编程起先是由于必修课有一门C语言要学.课结束之后还是一直写些零零散散的代码,逐渐触及非常多软件领域的知识,诸如linux使用,android开发--折腾了许久,逐渐发现这个行当里有非常多让刚開始学习的人,尤其是在校生,非常迷惑的地方.     作为业余编程爱好者,没人要求我学习那一大堆计算机或者软件专…
| 故事背景 职场如战场!Sum带领三个小队友用了两周,成功把代理功能给干出来了.如果说产品经理是最魔鬼的指挥官,那测试就是最魔鬼的教官.这两周,让Sum深深领略了什么是X市的日出. 不过话又说回来,战斗时光是酸苦且甘甜的,每每回忆,嘴角都会泛起流糖般的微笑,那是年轻时月亮的背影,那是年轻时初升太阳的轮廓. 不知道其他热爱程序的人是不是这样想的,但Sum是这么认为的. Sum依旧按部就班. 这日Sum早早到公司了,8点,太阳才刚微热.晨雾还未散去,站在落地窗向外看,世界就像打开馒头蒸笼般冒着热腾…
| 故事背景 话说有一回,X市X公司的产品经理Douni兴致冲冲的跑来和Sum(Sum,X市X公司资历8年程序猿,技能:深思.熟虑.心细.深究.技术过敏.口头禅:嗯,容我想想.坚信:只要赚钱的业务,我都可以让一枚程序猿完成,如果不行,那就再加一枚.)说:“最近公司的B2C业务不景气,需要开发代理功能,我们产品部正在开产品研讨会,要不要一起来参加.”,Sum摸了一把下巴,嘴角露出一丝诡异的笑容,目光沿着45度角向产品经理投射过去,说:“容我,想想.”.话音未落,已被Douni抬离卡座,电光火石间仿…
每个程序员.或者说每个工作者都应该有自己的职业规划,如果你不是富二代,不是官二代,也没有职业规划,希望你可以思考一下自己的将来.今天我给大家分享的是一篇来自阿里大牛对五年工作经验程序员的职业建议,希望对你们有启发. 第一阶段: Java程序员 Java初级程序员 第一阶段我认为对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人.这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本上的内容迈向真正的企业级开发. 第二阶段: Java中级程序员 企业标准程序员 第二阶段—又是…
标识(ID / Identifier)是无处不在的,生成标识的主体是人,那么它就是一个命名过程,如果是计算机,那么它就是一个生成过程.如何保证分布式系统下,并行生成标识的唯一与标识的命名空间有着密不可分的关系.在世界里,「潜意识下的命名空间里,相对的唯一标识」是普遍存在的,例如: 每个人出生的时候,就获得了一个「相对的唯一标识」--姓名. 城市的道路,都基本上采用了唯一的命名(当然这也需要一个 过程 ). 显然,对于每个标识,都需要有一个命名空间(namespace),来保证其相对唯一性. 可以…
一.前言 在解决分布式系统中负载均衡的问题时候可以使用Hash算法让固定的一部分请求落到同一台服务器上,这样每台服务器固定处理一部分请求(并维护这些请求的信息),起到负载均衡的作用. 但是普通的余数hash(hash(比如用户id)%服务器机器数)算法伸缩性很差,当新增或者下线服务器机器时候,用户id与服务器的映射关系会大量失效.一致性hash则利用hash环对其进行了改进. 二.一致性Hash概述 为了能直观的理解一致性hash原理,这里结合一个简单的例子来讲解,假设有4台服务器,地址为ip1…
什么是常量 用final修饰的成员变量表示常量,值一旦给定就无法改变! final修饰的变量有三种:静态变量.实例变量和局部变量,分别表示三种类型的常量. Class文件中的常量池 在Class文件结构中,最头的4个字节用于存储魔数Magic Number,用于确定一个文件是否能被JVM接受,再接着4个字节用于存储版本号,前2个字节存储次版本号,后2个存储主版本号,再接着是用于存放常量的常量池,由于常量的数量是不固定的,所以常量池的入口放置一个U2类型的数据(constant_pool_coun…
转自:https://baijiahao.baidu.com/s?id=1600174787011483381&wfr=spider&for=pc 微服务架构是互联网很热门的话题,是互联网技术发展的必然结果.它提倡将单一应用程序划分成一组小的服务,服务之间互相协调.互相配合,为用户提供最终价值.虽然微服务架构没有公认的技术标准和规范或者草案,但业界已经有一些很有影响力的开源微服务架构框架提供了微服务的关键思路,例如Dubbo和Spring Cloud.各大互联网公司也有自研的微服务框架,但…