摘要:最近看了一本书,《复盘》中有提到一句话,印象深刻: 一个人想要在生命中有所成绩,有两个途径,看书(向他人学习),复盘 (向自己学习)。 以下是我一个月前看到,美团云鹏大大的归纳的十条原则,深感经典,复制于此并置顶,希望自己能时时回顾这十条经验,向他人学习并变成自己的做事原则和风格。 分享给大家,希望
阅读全文
lotus贵有恒何必三更眠五更起 最无益只怕一日曝十日寒 |
|
09 2018 档案
摘要:最近看了一本书,《复盘》中有提到一句话,印象深刻: 一个人想要在生命中有所成绩,有两个途径,看书(向他人学习),复盘 (向自己学习)。 以下是我一个月前看到,美团云鹏大大的归纳的十条原则,深感经典,复制于此并置顶,希望自己能时时回顾这十条经验,向他人学习并变成自己的做事原则和风格。 分享给大家,希望
阅读全文
摘要:自己想了一下怎么实现,就写了,没有深究是否合理.更多处理没有写下去,例如收件人不在线,应该保存在数据库,等下一次连接的时候刷新map,再把数据发送过去,图片发送也没有做,也没有用json格式 socket很奇怪,我用客户端连接上了服务器,没有发送消息的情况下,断开电脑网络,是不会出现问题,然后在把电
阅读全文
摘要:一、IM简要概述 IM InstantMessaging(即时通讯,实时传讯)的缩写是IM,互动百科大致解释是一种可以让使用者在网络上建立某种私人聊天(chatroom)的实时通讯服务。 大部分的即时通讯服务提供了状态信息的特性──显示联络人名单,联络人是否在线及能否与联络人交谈。 IM可简单理解为
阅读全文
摘要:即时通讯(Instant Messenger,简称IM)软件多是基于TCP/IP和UDP进行通讯的,TCP/IP和UDP都是建立在更低层的IP协议上的两种通讯传输协议。前 者是以数据流的形式,将传输数据经分割、打包后,通过两台机器之间建立起的虚电路,进行连续的、双向的、严格保证数据正确性的文件传输协
阅读全文
摘要:1. 浅谈即时通讯 https://www.cnblogs.com/shoshana-kong/p/9724963.html 2. im即时通讯 https://www.cnblogs.com/shoshana-kong/p/9724945.html 3. java socket 模拟im 即时通讯
阅读全文
摘要:即时通讯(Instant Messaging,后简称im)消息的可靠投递 一、报文类型 im的客户端与服务器通过发送报文(也就是网络包)来完成消息的传递 报文分为: 请求报文(request,后简称为为R) 客户端主动发送给服务器的报文 应答报文(acknowledge,后简称为A) 服务器被动应答
阅读全文
摘要:(图片已修复)在Git如日中天的今天,不懂git都不好意思跟人说自己是程序猿。你是不是早就跃跃欲试了,只是苦于没有借口(契机)。 好吧,机会就在今天。 给我20分钟,是的,只要20分钟, 让你快速用上git。 我们废话不多说,直接来干货。 我们将会介绍以下几点: 一, 什么是git 二,使用git的
阅读全文
摘要:序号 项 1 凡事提前10分钟 凡事提前10分钟,会让你有充裕的时间应对可能的突发事件,更加从容。 试着把起床闹钟提前10分钟,你就会发现你出门不必急匆匆,早饭也可慢慢享用,一整天的状态也更精神抖擞。 2 工作前梳理,工作后整理 工作之前,把一天要做的事按重要和紧急列出一个四象限,先完成重要且紧急的
阅读全文
摘要:可以说是很多本厚厚的职场经验书籍的精华部分,掌握了这30条可以说是天下无敌了,但真要掌握这30条经验可不是什么容易的事情,他们都是环环相 扣的,一条做不好可能有些能做好的项目就会落空,耐下性子,看看你都能做到么? 1.无论发生什么事情,都要首先想到自己是不是做错了。如果自己没错(那是不可能的),那么
阅读全文
该文被密码保护。
摘要:1.session 和 cookie的区别 2.hashmap的数据结构,hashmap初始值如果 new时指定为10,则实际创建了多少的空间? 3.锁有哪些分类,项目中用到了哪些锁 4.电商减库存-库存系统的设计,比如减库存的场景 5.工作流标准? mark:lazada
阅读全文
摘要:1.直接暴露在外网,安全方面是如何做到的?接口间安全是如何处理的? 2.JDK7,JDK8有什么变化呢? 3.进程和线程的区别,java哪些地方必须使用进程? 4.error和exception的区别? 5.concurrentHashMap与hashMap区别? mark:zhongan
阅读全文
摘要:1.java数字倒置实现方式 2.用户有多种支付方式,假如每种方式通过远程服务获得可用性,请设计接口以最短响应时间获得尽可能多的可用支付方式列表 3.用户在交易下单购买时包括了A,B,C三种产品,个数不限,A,B,C各自的单价是unitPrice,由于存在一定的满减或者加价的购买行为,最终的付款的总
阅读全文
摘要:平时总会有一些经典的问题,需要不断积累总结并回顾。以下为目录,并会持续性更新.......
阅读全文
摘要:库存是电商系统的核心环节,如何做到不少卖,不超卖是库存关心的核心业务问题。业务量大时带来的问题是如何更快速的处理库存计算。 此处以最简模式来讨论库存设计。 以下内容只做分析,不能直接套用,欢迎各位同道前来交流指正 库存模型:sku,num。 sku是标示商品的唯一编号,num是商品的数量。 订单处理
阅读全文
摘要:1.电商系统了解 什么是SPU、SKU、SKC、ARPU https://www.cnblogs.com/shoshana-kong/p/9656460.html 2.电商系统整体框架 3. 库存扣减 4.秒杀系统设计
阅读全文
摘要:首先,搞清楚商品与单品的区别。例如,iphone是一个单品,但是在淘宝上当很多商家同时出售这个产品的时候,iphone就是一个商品了。 商品:淘宝叫item,京东叫product,商品特指与商家有关的商品,每个商品有一个商家编码,每个商品下面有多个颜色,款式,可以有多个SKU。 SPU = Stan
阅读全文
摘要:业务复杂、数据量大、并发量大的业务场景下,典型的互联网架构,一般会分为这么几层: 调用层,一般是处于端上的browser或者APP 站点层,一般是拼装html或者json返回的web-server层 服务层,一般是提供RPC调用接口的service层 数据层,提供固化数据存储的db 对于库存业务,一
阅读全文
摘要:1.什么是springboot 用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件) 创建独立的spring引用程序 main方法运行 嵌入的Tomcat 无需部署war文件 简化maven配置 自动配置spring添加对应功能starter自
阅读全文
摘要:一、SpringBoot入门 今天在慕课网中看见了Spring Boot这么一个教程,这个Spring Boot作为JavaWeb的学习者肯定至少会听过,但我是不知道他是什么玩意。 只是大概了解过他是用起来很方便,不用什么配置的。于是我就花了点时间去跟着学习了。 视频地址:http://www.im
阅读全文
摘要:1.什么是Spring Boot? 多年来,随着新功能的增加,spring变得越来越复杂。只需访问https://spring.io/projects页面,我们就会看到可以在我们的应用程序中使用的所有Spring项目的不同功能。 如果必须启动一个新的Spring项目,我们必须添加构建路径或添加Mav
阅读全文
摘要:Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一名 Spring Boot 的专家。 问题一 Spring Boot、Spring MVC 和 Spring 有什么区别? SpringFrame SpringFramework 最重要的特征是依赖注入。所有 Sprin
阅读全文
摘要:1.spring cloud简单示例 2.spring cloud快速入门 3.spring cloud 常用 4.spring cloud 原理 5.spring cloud 源码分析 6.spring cloud 常见问题
阅读全文
摘要:Spring Boot 概述 Build Anything with Spring Boot:Spring Boot is the starting point for building all Spring-based applications. Spring Boot is designed t
阅读全文
摘要:一:为什么使用springBoot: 有利于开发(整合框架,例如整合了springMVC,Mybatis等框架); 启动无需配置tomcat(java应用程序运行,实际以jar包运行),内置tomcat); 减少xml配置,主要通过配置properties文件 二:搭建springBoot: 1,创
阅读全文
摘要:1.spring boot 简单示例 一个简单的springboot 例子 https://www.cnblogs.com/shoshana-kong/p/9641696.html 2. spring boot 简单入门 spring boot 快速入门 https://www.cnblogs.co
阅读全文
摘要:相关文章目录: Java线程池ThreadPoolExecutor使用和分析(一) Java线程池ThreadPoolExecutor使用和分析(二) - execute()原理 Java线程池ThreadPoolExecutor使用和分析(三) - 终止线程池原理 线程池是可以控制线程创建、释放,
阅读全文
摘要:1
阅读全文
摘要:1
阅读全文
摘要:一、源码分析(基于JDK1.6) ThreadExecutorPool是使用最多的线程池组件,了解它的原始资料最好是从从设计者(Doug Lea)的口中知道它的来龙去脉。在Jdk1.6中,ThreadPoolExecutor直接继承了AbstractExecutorService,并层级实现了Exe
阅读全文
摘要:JDK提供的四种线程池 一、线程池什么时候用,有什么好处? “线程池”顾名思义,就是存放线程的池子,这个池子可以存放多少线程取决于采用哪种线程池,取决于有多少并发线程,有多少计算机的硬件资源。使用线程池最直接的好处就是:线程可以重复利用、减少创建和销毁线程所带来的系统资源的开销,提升性能(节省线程创
阅读全文
摘要:分区:对业务透明,分区只不过把存放数据的文件分成了许多小块,例如mysql中的一张表对应三个文件.MYD,MYI,frm。 根据一定的规则把数据文件(MYD)和索引文件(MYI)进行了分割,分区后的表呢,还是一张表。分区可以把表分到不同的硬盘上,但不能分配到不同服务器上。 优点:数据不存在多个副本,
阅读全文
摘要:1.什么是resize: resize就是重新计算容量;当我们不断的向HashMap对象里不停的添加元素时,HashMap对象内部的数组就会出现无法装载更多的元素,这是对象就需要扩大数组的长度,以便能装入更多的元素;当然Java里的数组是无法自动扩容的,方法是使用一个新的数组代替已有的容量小的数组;
阅读全文
摘要:ArrayList 概述 动态扩容 一 初始化 首先有三种方式来初始化: 默认的构造器,将会以默认的大小来初始化内部的数组 用一个ICollection对象来构造,并将该集合的元素添加到ArrayList 用指定的大小来初始化内部的数组 后两种方式都可以理解,通过创造对象,或指定大小来初始化内部数据
阅读全文
摘要:作为Java开发者,我们每天创建很多对象,但我们通常使用依赖管理系统,比如Spring去创建对象。然而这里有很多创建对象的方法,我们会在这篇文章中学到。 Java中有5种创建对象的方式,下面给出它们的例子还有它们的字节码 使用new关键字 } → 调用了构造函数 使用Class类的newInstan
阅读全文
摘要:概述:单例(Singleton)模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点。这就提出了一个问题:如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?客户程序在调用某一个类时,它是不会考虑这个类是否只能有一个实例等问题的,所以,这应该是类设计者的责任,而不是类使用者的责任。 从
阅读全文
摘要:单例模式:是一种常用的软件设计模式,在它的核心结构中值包含一个被称为单例的特殊类。一个类只有一个实例,即一个类只有一个对象实例。 对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;售票时,一共有100张票,可有有多个窗口同时售票,但需要保
阅读全文
摘要:单例模式属于创建型模式的一种,创建型模式是一类最常用的设计模式,在软件开发中应用非常广泛。创建型模式将对象的创建和使用分离,在使用对象时无需关心对象的创建细节,从而降低系统的耦合度,让设计方案更易于修改和扩展。每一个创建型模式都在视图回答3个问题:3W -> 创建什么(What)、由谁创建(Who)
阅读全文
摘要:红包功能的设计实现是一个很有趣的话题,主要的功能是P个人抢总金额M的N个红包,满足先抢的N个人能抢到红包。如果这是一个leetcode的算法题目难度应该是easy,只要保证Ni抢到的金额区间在[0.01,2倍剩余金额平均值)就能ac。将算法带入到真实的工程实现,问题就要复杂得多,如果达到微信的量级,
阅读全文
摘要:目录 1 秒杀业务分析2 秒杀技术挑战3 秒杀架构原则4 秒杀架构设计5 大并发带来的挑战6 作弊的手段:进攻与防守7 高并发下的数据安全8 总结 1 秒杀业务分析 正常电子商务流程(1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货 秒杀业务的特性(1)低廉价
阅读全文
摘要:问题的提出 在计算机科学领域,分布式一致性是一个相当重要且被广泛探索与论证问题,首先来看三种业务场景。 1、火车站售票 假如说我们的终端用户是一位经常坐火车的旅行家,通常他是去车站的售票处购买车 票,然后拿着车票去检票口,再坐上火车,开始一段美好的旅行 一切似乎都是那么和谐。想象一下,如果他选择的目
阅读全文
摘要:知识点总结 1.常见的查询算法:顺序查找,二分查找,二叉排序树查找,哈希散列查找,分块查找。 2.B树(平衡多路搜索树)原理:由二叉树引申出来的,如果要提高查询速度,那么就要降低树的深度。要降低树的深度,很自然的方法就是采用多叉树 3.B+树:B树的变动, 转:https://blog.csdn.n
阅读全文
摘要:分布式锁的三种实现方式 知识点汇总 1.为什么要使用分布式锁:因为在多用户访问共享变量时,如果是单机的情况,可以利用java提供的并发控制机制sychronized和retrantLock这两种即可实现,但是在集群环境下,不同的服务器有不同的JVM,那么JAVA的并发控制则失效,因此需要使用分布式锁
阅读全文
摘要:https://www.cnblogs.com/rjzheng/p/9597810.html
阅读全文
摘要:说起分布式的概念,首当其冲就是CAP理论,即满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)。但是CAP理论告诉我们,任何系统只能满足其中两个,所以都要求去做取舍。那么人们常说的一般都是,需要牺牲一致性来保证系统的高可用性
阅读全文
摘要:Zookeeper使用了一种称为Zab(Zookeeper Atomic Broadcast)的协议作为其一致性复制的核心,据其作者说这是一种新发算法,其特点是充分考虑了Yahoo的具体情况:高吞吐量、低延迟、健壮、简单,但不过分要求其扩展性。下面将展示一些该协议的核心内容: 另,本文仅讨论Zook
阅读全文
摘要:import java.util.ArrayList;import java.util.List; public class SortList { public static List<Integer> sort(List<Integer> list1 , List<Integer> list2){
阅读全文
|