自定义博客皮肤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)
  • 资源 (1)
  • 收藏
  • 关注

原创 领域驱动模型之ERP单品模块架构设计

模块划分领域对象 用户根据持有的单据类型ID,去可用的单据流程池中查找单据流程池,拿到流程池之后,需要确定最终单据管理的操作是什么,相比原始业务对象,领域对象具有了行为资源库 一些基础的数据库交互操作,数据库与Elasticsearch缓存同步等操作,相比传统的VO,由资源库屏蔽了敏感的直接对底层访问,相比以前vo,具有更高的内聚,低耦合防腐层 在一个上下文中,有时需要对...

2018-07-10 23:44:40 627

原创 Kafka线程模型

reactor模式可能这个模式很多人听起来会比较陌生,其实也很容易理解,类似观察者模式的,java NIO中提供了实现reactor模式的API,javaNIO工作流程如图 首先,selector创建serversocketChannel对象,并注册op_accept事件,serversocketChannel负责监听收到客户端连接请求,请求来了后,selector监听到op_acce...

2018-04-13 00:42:43 1810

原创 浅谈高可用架构中NIO的重要性

一个功能引发的思考今天同事开发了一个文件读写的模块,发现读写性能异常的低,他的做法是单线程纯IO操作,频繁的打开关闭IO流,读写。 于是乎他问我这个应该怎么做,我给他讲解到这种做法的低效,建议他批量的一次性写入,频繁直接操作IO性能当然是无法接受的。再谈IO操作的演变BIO:传统的cs端架构,都是一个请求提交,后台一个专门的线程负责接受这个请求,分配给新的线程去处理。这种做法的缺...

2018-04-11 00:36:00 593

原创 基于zookeeper分布式锁的实现

架构图如图所示 1. 首先创建持久化节点loker,每次获取锁,就去loker下创建临时顺序节点,锁用完后删除节点。 2. 每次创建节点后需要判断节点的是不是最小的,所以需要先排序所以节点,拿到比自己大的那个节点 3. 使用锁过程中,释放出现问题,则通过session_time_out来控制锁自动释放 4. 拿到比自己大的节点后监听exsit的watch被触发,注:一个节点只会监听比他...

2018-03-22 11:34:07 259

原创 kafka重复消费解决方案

重复消费场景:1.消费端消费能力比较低,处理消息速度慢2.根据kafka消费特性,消费者在每个partion上的位置都是一个整数,即消费下一条消息的偏移量。这个状态可以定期检查点,使得消息的确认变得非常的方便,消费者可以倒退回旧的偏移量,重新消费。3.消息处理完之后提交下一个消费的offset,而在session-time-out前,消息还没有处理完,但是已经超时被kafka视为消费失败...

2018-03-22 00:30:49 12571

原创 Note Of Deep JVM(3)_垃圾收集算法

标记清除算法分标记-清除两个阶段,首先标记出所有需要回收的对象,然后批量回收对象。 这种算法有两个不足点: 1>效率 标记和清除的过程效率不高 2>空间 回收后产生大量不连续的内存碎片,在分配比较大的对象时,可能会导致内存不足,而不得不提前执行一次GC操作复制算法将内存按照容量划分成两个大小相同的块,每次只使用其中一块,当其中一块用完了,就将还存活着的对象赋值到另外一块上,

2017-11-25 00:08:15 150

原创 Note of deep JVM(2)_hotspot JVM

对象创建当JVM遇到一条new指令,首先会检查这个指令参数能否在常量池中定位到一个类的符号引用,并检查这个引用代表的类是否已被加载,解析,初始化过。如果没有,则先执行上述过程。然后虚拟机将为新生对象分配内存,对象所需的内存空间在加载完成后即可完全确定。一般来说,分配的方式有两种1.指针碰撞 java堆中内存绝对规整,从指针向空闲内存移动与对象大小相等的距离2.空闲列表 虚拟机维护

2017-11-12 21:08:55 135

原创 Note of deep JVM(1)

JVM运行时数据区JVM的多线程就是通过线程轮流切换分配处理器执行时间的方式来实现的。1.程序计数器可以看做是当前线程所执行的字节码的行号指示器,在概念模型中,字节码解释器工作时就是通过这个值来选取下一条需要执行的字节码指令,分支,循环,跳转,异常处理,线程恢复等基础功能。如果执行的是JAVA方法,计数器记录的是正在执行的虚拟机字节码指令地址,如果是Native方法,则计数器值为空。无OutOfM

2017-11-10 15:06:00 181

原创 《计算机网络-自顶向下方法》学习总结-1

最近回炉重造开始重新学习计算机网络,一个阿里的程序员给我推荐了这本,读了下,感觉不错,写一下自己的总结。整体架构应用层我们可以把整个互联网协议理解为一个分了多个层的协议簇,这些协议都遵循一个原则:可逆(即可解析),从最上层的应用层开始讲起,大概就是平时我们做开发所接触到的,各种协议。这些协议依赖于下面的四层,即:传输层,网络层,数据链路层,物理层,操作系统为我们封装了底下的四层。我们做一个客户端

2017-09-27 00:34:31 3640

原创 DUBBO SPI部分源码浅析

private static final Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension();这里先上核心代码。 在分析dubbo源码时,我们发现每个config类里面都有这段代码。 首先,protocal类带有spi注解,我们可以确认,默认使用的DUBBO-P

2017-09-12 23:33:04 446

原创 java对象序列化,RMI

java对象序列化反序列化,rmi远程调用

2017-09-10 00:33:29 328

原创 JAVA虚拟机读写其他进程数据

简要代码package com.solace.test;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * Created by solace on 2017/9/9. */public class ReadOtherProcessData {

2017-09-09 23:58:59 325

原创 MYSQL免安装版无法启动终极解决方法

1注册服务是否指定my.ini2my.ini中basedata路径是否正确,版本是否支持innodb3.之前安装过mysql安装版,导致注册表混乱,检查注册表中的service MYSQL服务中的imagexxx属性,看是否是对的检查完这些,绝对是没问题的

2017-09-06 11:59:49 417

原创 AtomicInteger研究

概念AtomicInteger:java中无锁的线程安全整数,提供原子操作。由于++i和i++操作线程不安全,在使用的时候,难免会使用synchronized来保证线程安全。使用AtomicInteger可以通过一种线程安全的加减操作接口。底层实现通过硬件提供的原子操作指令实现。 关于处理器的原子操作,有如下三种加锁方式。 1:处理器自动保证基本内存操作的原子性 处理器保证从系统内存中读取或者

2017-08-25 00:15:58 426

转载 学习ThreadLocal

1.Whats this? ThreadLocal是在jdk1.2发行的一个用于维护变量的工具类,详情:JAVA.LANG.THREADLOCAL.使用这个工具类可以简洁编写多线程程序。2.总体介绍使用ThreadLocal维护变量时,每个使用变量的线程将会提供独立的副本。从线程的角度来看,目标变量就像是本地变量。ThreadLocal提供了以下接口:1.void set(Object

2017-08-14 00:28:37 153

原创 JAVA类加载器学习

1.类加载过程首先加载过程大体分为3步,即装载,链接,初始化。装载:加载类的二进制数据 链接:分为三部分。 (1)验证:确保加载类正确,防止恶意class文件 (2)准备:为静态变量分配内存,初始化默认值 (3)解析:为类中的符号引用转化为直接引用 初始化:为静态变量赋值。2.类的初始化初始化时间点有: (1)创建实例 (2)访问静态变量,或对该静态变量赋值 (3)访问静态方法 (

2017-08-11 23:47:03 186

原创 初入csdn,以后多多跟大家分享交流技术!

大数据开发一枚,一年经验,做过java web,安卓,BI工具(用的c++builder).

2017-03-31 22:26:10 331

ODAC DELPHI XE2直接安装

ODAC DELPHI XE2直接安装

2016-10-31

空空如也

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

TA关注的人

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