04 2018 档案
摘要:前言 最近在一次面试中,讨论了一个这样的问题:主键和索引有什么区别?当时我的回答是这样的:“主键就是加了唯一性约束的聚集索引。” “你确定你所说的是对的?” 面试官反问到。 “应该是对的。” 我不加思索地回答道。 “你回去后研究一下这个问题吧。” 难道我真的错了? 第一次尝试 当问题出现时,请用事实
阅读全文
摘要:SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱。 1.1 什么是索引? SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间 下面举
阅读全文
摘要:hashmap的扩容因子是0.75 原因 参考:HashMap默认加载因子为什么选择0.75?(阿里) 1. HashMap概述 HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。
阅读全文
摘要:hashmap的扩容因子是0.75 原因 参考:HashMap默认加载因子为什么选择0.75?(阿里) Hashtable 是一个很常见的数据结构类型,前段时间阿里的面试官说只要搞懂了HashTable,hashMap,HashSet,treeMap,treeSet这几个数据结构,阿里的数据结构面试
阅读全文
摘要:哎,虽然自己最熟的是Java,但很多Java基础知识都不知道,比如transient关键字以前都没用到过,所以不知道它的作用是什么,今天做笔试题时发现有一题是关于这个的,于是花个时间整理下transient关键字的使用,涨下姿势~~~好了,废话不多说,下面开始: 1. transient的作用及使用
阅读全文
摘要:hashmap的扩容因子是0.75 原因 参考:HashMap默认加载因子为什么选择0.75?(阿里) 阿里的人问 数组的时间复杂度是多少,链表的是多少,hashmap的时间复杂度是多少。。。。。 后来才知道,时间复杂度是要区分 增删改查的。。。。主要看查询的时间复杂度; 1、数组 查询的时间复杂度
阅读全文
摘要:hashmap的扩容因子是0.75 原因 参考:HashMap默认加载因子为什么选择0.75?(阿里) HashMap专题:HashMap的实现原理--链表散列 HashTable专题:Hashtable数据存储结构-遍历规则,Hash类型的复杂度为啥都是O(1)-源码分析 hashmap的扩容因子
阅读全文
摘要:>>:带符号右移。正数右移高位补0,负数右移高位补1。比如: 4 >> 1,结果是2;-4 >> 1,结果是-2。-2 >> 1,结果是-1。 >>>:无符号右移。无论是正数还是负数,高位通通补0。 对于正数而言,>>和>>>没区别。 对于负数而言,-2 >>> 1,结果是2147483647(In
阅读全文
摘要:thread的run 和start的区别参考:多线程-Thread的run()与start()的区别 一、Thread的几个重要方法: 我们先了解一下Thread的几个重要方法。 a、start()方法,开始执行该线程;b、stop()方法,强制结束该线程执行;c、join方法,等待该线程结束。d、
阅读全文
摘要:集群: redis 和memcached都支持集群 数据类型 Redis支持的数据类型要丰富得多,Redis不仅仅支持简单的k/v类型的数据,同时还提供String,List,Set,Hash,Sorted Set,pub/sub,Transactions数据结构的存储。其中Set是HashMap实
阅读全文
摘要:RPC(Remote Procedure Call)是远程调用,是一种思想,也是一种协议规范。简单地说就是能使应用像调用本地方法一样的调用远程的过程或服务,可以应用在分布式服务、分布式计算、远程服务调用等许多场景。 rpc 的实现方式多样化:如http,webservice,rmi 此外业界有很多开
阅读全文
摘要:Linux 查看端口占用情况 Linux 查看端口占用情况可以使用 lsof 和 netstat 命令。 lsof lsof(list open files)是一个列出当前系统打开文件的工具。 lsof 查看端口占用语法格式: lsof -i:端口号 实例 查看服务器 8000 端口的占用情况: #
阅读全文
摘要:Java是面向对象的,Object是所有对象的超类(不是继承,也不是实现接口) Object类是所有Java类的祖先。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。 如果你 什么是Object类 编辑 什么是Object类 Object类是所有Java类的祖先。每个类
阅读全文
摘要:总结: 1) start: 用start方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码。通过调用Thread类的start()方法来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行, 然后通过此Thread类调用方法run()来完成其运行
阅读全文
摘要:只有runnable到running时才会占用cpu时间片,其他都会出让cpu时间片。线程的资源有不少,但应该包含CPU资源和锁资源这两类。sleep(long mills):让出CPU资源,但是不会释放锁资源。wait():让出CPU资源和锁资源。 1. Thread.sleep(long) 和T
阅读全文
摘要:SOA (面向服务的架构) 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行
阅读全文
摘要:IaaS(Infrastructure as a Service),即基础设施即服务。 消费者通过Internet 可以从完善的计算机基础设施获得服务。这类服务称为基础设施即服务。基于 Internet 的服务(如存储和数据库)是 IaaS的一部分。Internet上其他类型的服务包括平台即服务(P
阅读全文
摘要:PaaS是Platform-as-a-Service的缩写,意思是平台即服务。 把服务器平台作为一种服务提供的商业模式。通过网络进行程序提供的服务称之为SaaS(Software as a Service),而云计算时代相应的服务器平台或者开发环境作为服务进行提供就成为了PaaS(Platform
阅读全文
摘要:SaaS是Software-as-a-Service(软件即服务)的简称,随着互联网技术的发展和应用软件的成熟, 在21世纪开始兴起的一种完全创新的软件应用模式。它与“on-demand software”(按需软件),the application service provider(ASP,应用服
阅读全文
摘要:相信现在已经有很多小伙伴已经或者准备使用springcloud微服务了,接下来为大家搭建一个微服务框架,后期可以自己进行扩展。会提供一个小案例: 服务提供者和服务消费者 ,消费者会调用提供者的服务,新建的项目都是用springboot,附源码下载,推荐使用coding地址下载,因为可以切换分支,后期
阅读全文
摘要:什么是微服务 微服务的概念源于2014年3月Martin Fowler所写的一篇文章“Microservices”。 微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟
阅读全文
摘要:我们为什么要使用Spring Cloud? 两个需要好好看看: Spring Boot Spring Clude Spring Cloud是一个集成了众多开源的框架,利用Spring Boot的开发便利性实现了服务治理、服务注册与发现、负载均衡、数据监控,REST API发布方式等,基本囊括了分布式
阅读全文
摘要:介绍一下神兽: 服务发现——Netflix Eureka 客服端负载均衡——Netflix Ribbon 断路器——Netflix Hystrix 服务网关——Netflix Zuul 分布式配置——Spring Cloud Config 他们的关系:Spring Cloud 架构 五大神兽的功能
阅读全文
摘要:什么是微服务 微服务的概念源于2014年3月Martin Fowler所写的一篇文章“Microservices”。 微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟
阅读全文
摘要:一、kafka 简介 今社会各种应用系统诸如商业、社交、搜索、浏览等像信息工厂一样不断的生产出各种信息,在大数据时代,我们面临如下几个挑战: 以上几个挑战形成了一个业务需求模型,即生产者生产(produce)各种信息,消费者消费(consume)(处理分析)这些信息,而在生产者与消费者之间,需要一个
阅读全文
摘要:ETL工具之Kettle将一个数据库中的数据提取到另外一个数据库中: 1.打开ETL文件夹,双击Spoon.bat启动Kettle 2.资源库选择,诺无则选择取消 3.选择关闭 4.新建一个转换 5.配置所需数据库 6.将需要进行提取的数据表,用表输入得到 7.选择源数据所在数据库及表,sql语句可
阅读全文
摘要:每次面试,互联网的面试官,经常问我有没有用过ETL,每次我都懵逼,说没用过,觉得是多么高大上的东东,数据仓储 今天查了一下,我晕,自己天天用的Kettle就是最典型的ETL, 可以实现不同数据库之间的数据抽取,转换,只需要你有相应的数据库driver即可 查了一下资料记录一下: ETL,是英文 Ex
阅读全文
摘要:最近阿里的面试官问我Docker是做什么用的,我记得之前360和美团,京东的都问过,但是一直没时间看,最近有时间了,系统的学习了一下Docker,在此做一下记录,方便各位看官学习交流 后来去面试,他们问我 如果现在有5台服务器 同时部署docker 你会如何处理,我当时说一台台部署,那哥们听完脸色铁
阅读全文
摘要:Java探针参考:Java探针技术在应用安全领域的新突破 最近面试阿里,面试官先是问我类加载的流程,然后问了个问题,能否在加载类的时候,对字节码进行修改 我懵逼了,答曰不知道,面试官说可以的,使用Java探针技术,能够实现 我查了一下关于探针技术的知识: 2. 基于javaAgent和Java字节码
阅读全文
摘要:Java 是动态编译,跟C++静态编译不同,这就是JIT编译器的原因(Just In Time) HotSpot会把这些部门动态地编译成机器码,Native code, 并对机器码进行优化, 静态编译器通常很难准确 预知程序运行过程中究竟什么部分最需要优化。静态编译器虽然可以把Java 全部编译成N
阅读全文
摘要:一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ 典型的:Kafka==》发布订阅系统
阅读全文
摘要:一、JMS是个什么鬼 1、百度百科解释:JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MO
阅读全文
摘要:ehcache详细解读 Ehcache是第一个引入缓存数据持久化存储的开源java缓存框架,缓存的数据可以在机器重启后从磁盘上重新获得根据需要将缓存刷到磁盘 ehcache是现在最流行的纯java开源框架,配置简单,结构清晰,功能强大,最初知道它,是从hibernate的缓存开始的。网上中文的ehc
阅读全文
摘要:大部分情况下用ehcache在本地,分布式用redis和memcache,各有各的好处,现在企业都是应用很多种中间件供俺们码农选择。 EHchace 请参考:ehcache详细解读 redis与memcache参考:redis 特点 分布式部署; Redis 优势以及性能问题 一、什么是缓存1、Ca
阅读全文
摘要:区别: public:可以被所有其他类所访问 private:只能被自己访问和修改 protected:自身、子类及同一个包中类可以访问 default:同一包中的类可以访问,声明时没有加修饰符,认为是friendly。 打个比方: PUBLIC相当于外人可以调用.private相当于只家庭内可以调
阅读全文
摘要:反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。 反向代理(Reverse Proxy)方式是指以代理服务
阅读全文
摘要:内容分发网络 (互联网技术) CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输得更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能
阅读全文
摘要:分布式架构的演进 系统架构演化历程-初始阶段架构初始阶段 的小型系统 应用程序、数据库、文件等所有的资源都在一台服务器上通俗称为LAMP特征:应用程序、数据库、文件等所有的资源都在一台服务器上。描述:通常服务器操作系统使用Linux,应用程序使用PHP开发,然后部署在Apache上,数据库使用MyS
阅读全文
摘要:还有一篇可以看看:随笔分类 - 备战阿里 他妈 辛辛苦苦准备了2个月,真正的去阿里面试的时候,简直就是打脸大会啊,面试官的问题都听不明白,回答更是天方夜谭。。。。。。 以下是本人 2019年面试阿里的题目: 自我介绍环节: 问题1:上来就讲细节,其实对方根本听不懂,应该先介绍项目背景,如果对方感兴趣
阅读全文