自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 分布式存储

分布式存储

2022-11-26 10:27:12 354

原创 分布式的各种解决方案

分布式解决方案

2022-09-26 23:46:16 721

原创 并发编程整体脉络

并发编程脉络

2022-06-24 16:46:52 121

原创 数据库设计——新零售

E-R图可以使用“亿图图示”绘制E-R图三要素1.实体 —用矩形表示2.属性 —用椭圆表示3.实体之间的联系 —用菱形表示E-R图的建立方法先确定实体和联系,再确定实体和联系的属性,最后在唯一标识符下面画上下划线。实体之间的联系1.一对一2.一对多多对多学生ID和课程ID是多对多的关系,可以建立一张关系表。............................................................

2022-04-22 21:19:31 4190

原创 java并发编程(慕课网)

1.多线程典型应用场景1.场景1:工作量太大,需要多人一块儿干,以缩短工期比如要完成书稿校对工作。显然一个人校对太慢了,那就多叫几个人吧!每个人分一个章节,同时进行校对,速度一下就上来了。如下图所示:如果程序需要重复执行一段逻辑,每次执行又互不影响,那么你可以考虑多线程,每个线程执行总量的一部分,最后再把每个线程执行的结果合并。2.场景2:实现分工,协作饭店一般有收银员、厨师、传菜员、清洁员。每个人各司其职,大家配合工作。每种角色的员工只关心自己的输入和输出,比如厨师的输入就是客户的点菜单

2022-03-31 17:12:08 635 1

原创 多线程与高并发(马士兵)

概况6大块内容:1.基本概念2.JUC同步工具3.同步容器4.线程池5.高频面试加分项6.Disruptor1.基本的概念 进程、线程 #### 1.创建线程的方式 1.new Thread().start() 2.new Thread(Runnable).start() 3.Executors.newCachedThreadPool()或者FutureTask + Callable #### 2.线程的3个方法 1.**sleep** 意思就是睡眠,当

2022-03-30 23:35:41 1413

原创 各种指标估算

在架构设计时,你是如何预估某个接口线上运行时的 QPS 范围呢?预估生产流量的3个办法:询问产品了解客户体量进行压测确定接口并发采用二八原则,将日常平均访问量*4,基本就是峰值 4. 做好监控和动态调整机制,如遇突发自动上调......

2022-03-29 11:10:55 113

原创 java避坑指南

java空指针和异常java空指针1.什么是空指针异常? java.lang.NullPointerException 空:内存地址 指针:引用 异常:运行时2.如何避免空指针?3.赋值时自动拆箱出现空指针1.现象:比如: Long a = null; long b = a; //拆箱会报java.lang.NullPointerException2.原理:invokevirtual #2 // Method java/la

2022-03-27 21:06:16 734

转载 23 种设计模式的通俗解释

01 工厂方法追 MM 少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是 MM 爱吃的东西,虽然口味有所不同,但不管你带 MM 去麦当劳或肯德基,只管向服务员说「来四个鸡翅」就行了。麦当劳和肯德基就是生产鸡翅的 Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。02 建造者模式MM 最爱听的就是「我爱你」这句话了,见到不同地方的 MM,要能够用她们的方

2022-03-25 10:08:58 99

原创 读写分离|分库分表

MyCat读写分离.分库分表分库分表概述1.互联网大数据时代,如何解决数据库性能瓶颈2.读多写少的情况,采用读写分离3.海量数据的情况,采用数据切分数据切分方式1: 垂直切分数据切分方式2: 水平切分4.实现读写分离和数据切分的两种模式:模式一:中间层代理(例如Mycat)模式二:客户端模式(例如Sharding-jdbc)如何选择垂直切分/水平切分建议:先选择垂直拆分再考虑水平拆分垂直拆分1.按照业务去切分2.每种业务一个数据库(比如:用户库,订单库,商品库)3.不同业务之间

2022-03-02 23:04:55 1103

原创 Mybatis使用技巧收录

1.利用MyBatis Generator 插件自动生成实体,Mapper接口,xml文件:帖子:https://zhuanlan.zhihu.com/p/361321386

2022-02-19 23:51:22 165

原创 分布式锁的解决方案

超卖:商品卖出数量超出库存数量原因:用户同时扣减库存解决方法1:1.扣减库存不在程序中进行,而是通过数据库2.向数据库传递库存增量,扣减1个库存,增量为-13.在数据库update语句计算库存,通过update行锁解决并发...

2022-02-08 22:16:36 691

原创 多线程与高并发(咕泡)

在java中如何使用多线程1.实现Runnable接口创建线程public class RunnableThreadExample implements Runnable{ @Override public void run() { System.out.println("RunnableThreadExample.run"); } public static void main(String[] args) { Thread threa

2022-02-06 13:37:35 350

原创 4.新连接接入

分析新连接接入以及绑定reactor线程,绑定到selector的过程新连接接入概述 1.Netty是在哪里检测新连接接入的? 2.新连接是怎样注册到NioEventLoop线程的?新连接检测processSelectedKey(key,channel)-----入口NioMessageUnsafe.read()doReadMessages()----while循环javaChannel().accept()NioSocketChannel的创建new NioSocketChanne

2022-01-16 17:18:56 100

原创 3.NioEventLoop

分析Netty reactor线程处理过程,包括事件监听,事件处理,常规任务处理和定时任务处理

2022-01-09 20:25:15 354

原创 2.Netty服务端启动

服务端启动的demo所有 Netty 服务端的启动类都可以采用如下代码结构进行开发。简单梳理一下流程:首先创建引导器;然后配置线程模型,通过引导器绑定业务逻辑处理器,并配置一些网络参数;最后绑定端口,就可以完成服务器的启动了。public class HttpServer { public void start(int port) throws Exception { EventLoopGroup bossGroup = new NioEventLoopGroup();

2021-12-30 23:15:39 1440

原创 1.Netty基本组件

Netty对于socket的抽象

2021-12-30 21:47:02 3321

空空如也

空空如也

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

TA关注的人

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