logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

雪花算法解决时钟回拨问题

SnowFlake算法据国家大气研究中心的查尔斯·奈特称,一般的雪花大约由10^19个水分子组成。在雪花形成过程中,会形成不同的结构分支,所以说大自然中不存在两片完全一样的雪花,每一片雪花都拥有自己漂亮独特的形状。雪花算法表示生成的id如雪花般独一无二。snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。其核心思想是:使用41bit作为毫秒数,10bit作为机器

慢sql熔断方案--饿了么数据库中间件DAL

代理层(DAL),最直观的需求是能做分库分表,能做读写分离,还可以做资源隔离、连接数隔离、连接的管理等,更重要的是还能对数据库进行相应的保护。外卖业务大多数人都是在中午下单,所以 11 点左右是饿了么的业务高峰。为了缓解数据库压力,我们会通过 DAL 层做削峰处理,当流量过大时我们会让用户消息做排队的处理,由此缓解对数据库的瞬间冲击。如果流量特别大的时候还可以做限流、熔断等处理。还有黑白名单机制,

Java虚拟机结构

一、JVM主要的结构如下:二、各个区域功能介绍1)、方法区(Method Area):        (1)用于存储虚拟机加载的类信息、常量、静态变量等,是各个线程共享的内存区域;        (2)默认最小值为16MB,最大值为64MB,可以通过-XX:PermSize 和 -XX:MaxPermSize 参数限制方法区的大小;        (3)方法区中还有一部分是运行时常量池,主要用来存

Java内存区域

本文主要依据《深入理解Java虚拟机》这本书写的,有批评和建议请留言!       Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范(Java SE 7版)》的规定,Java虚拟机所管理的内存将会包括以下几个

JNI 开发流程

开发流程JNI 全称是 Java Native Interface(Java 本地接口)单词首字母的缩写,本地接口就是指用 C 和 C++ 开发的接口。由于 JNI 是 JVM 规范中的一部份,因此可以将我们写的 JNI 程序在任何实现了 JNI 规范的 Java 虚拟机中运行。同时,这个特性使我们可以复用以前用 C/C++ 写的大量代码。开发 JNI 程序会受到系统环境的限制,因为用 C/C++

Java锁消除和锁粗化

转载自:Java锁消除非商业转载,可联系本人删除概述锁消除是Java虚拟机在JIT编译是,通过对运行上下文的扫描,去除不可能存在共享资源竞争的锁,通过锁消除,可以节省毫无意义的请求锁时间。实验看如下代码:package com.winwill.lock;/*** @author qifuguang* @date 15/6/5 14:11*/public class TestLoc...

Linux mmap

mmap基础概念1.mmap内存映射原理mmap是一种内存映射文件的方法,即将一个文件或者其他对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对应关系;实现这样的映射关系后,进程就可以采用指针的方式读写操作这一块内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必调用read,write等系统调用函数,相反,内核空间堆这段区域的修改也直接反应到

金融风控领域的 DDD 与中台思考

风控领域作为金融核心领域之一,对金融业务发展有着至关重要的作用。风控直译就是风险控制,其核心是对风险与成本的平衡。风控业务开展离不开风控系统的支持,本文就风控系统如何规划架构与演进,以及对领域驱动设计的思想和风控中台战略的思考。风控与 DDD领域驱动设计(DDD)作为微服务拆分的指导思想随着微服务化火起来,但其过于抽象难懂,网上方法论众多,而案例较少。本文尝试对风控领域如何按 DDD 思想设计给出

注入器/injector

注入器/injector注入器是AngularJS框架实现和应用开发的关键,这是一个DI/IoC容器的实现。AngularJS将功能分成了不同类型的组件分别实现,这些组件有一个统称 - 供给者/provider, 下图中列出了AngularJS几个常用的内置服务:AngularJS的组件之间不可以互相直接调用,一个组件必须通过注入器才 可以调用另一个组件。这样的好处是组

YARN源码解析之NodeManager中的ContainerExecutor

在NodeManager中,有三种运行Container的方式,它们分别是:DefaultContainerExecutorLinuxContainerExecutorDockerContainerExecutor从它们的名字中,我们就能看得出来,默认情况下,一定使用的是DefaultContainerExecutor。而一般情况下,DefaultContainerExecuto...

    共 37 条
  • 1
  • 2
  • 3
  • 4
  • 请选择