自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ETH开发 JSONRPC

因为时间的原因,暂时没有对异常信息记性整理 package com.bib.wallet.utils; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.springframework.stereotype.Service; import java.io.IOEx...

2019-09-27 11:14:25 716

原创 Netty简介

简介 Netty是一款高性能、高扩展性的异步事件网络应用程序框架,它极大地简化了TCP和UDP客户端和服务器开发等网络编程 Netty重要的四个内容 Reactor线程模型:一种高性能的多线程程序设计思路 Netty中自己的Channel概念:增强的通道概念 ChannelPepline职责链设计模式:事件处理机制 内存管理:增强的ByteBuf缓冲区 Netty整体结构图 图片来自...

2019-09-27 15:52:55 215

原创 NIO非阻塞网络编程三大核心理念

NIO三大核心组件: 1. Buffer缓冲区 2. Channel通道 3. Selector选择器 Buffer缓冲区 缓冲区本质上是一个可以写入数据的内存块(类似于数组),然后可以再次读取。此内存块包含在NIO Buffer对象中,改对象提供了一组方法,可以更轻松的使用内存块。 相比较直接对数组的操作,BufferAPI更容易操作和管理 使用Buffer进行数据写入与读取,需要进行如下...

2019-06-20 17:27:48 408

原创 BIO阻塞式编程

阻塞IO的含义 1. 阻塞(blocking)IO:资源不可用时,IO请求一直阻塞,知道反馈结果(有数据或者超时)。 2. 非阻塞(non-blocking)IO:资源不可用时,IO请求离开返回,返回数据标识资源不可用。 3. 同步(synchronous)IO:应用组社发送或接受说句状态,知道数据成功传输或返回失败。 4. 异步(asynchronous)IO:应用发送或接受数据后立刻返回,实...

2019-06-20 15:13:23 350

原创 TCP/UDP协议

OSI网络七层 各层的主要功能 低三层:(目的:屏蔽底层网络的复杂性) 1. 物理层:使原始比特流能在物理介质上传输。 2. 数据链路层:通过校验、确认和反馈中法等手段,行程稳定的数据链路。 3. 网路层:进行路由选择和流量控制。(IP协议) 传输层:提供可靠的端口到端口的数据传输服务(TCP/UDP协议)。 高三层: 1. 会话层:负责建立、管理和终止进行之间的会话和数据交换。 2. 表示层...

2019-06-20 13:26:03 85

原创 RIBBON

当服务提供则有多个实例的情况下,服务消费者根据什么规则选择其中一个实例进行调用?

2019-06-04 10:42:38 161

原创 EUREKA 整理的部分源码

无服务注册中心 接口调用者通过nginx或ipvs等中间件等调用接口服务,并对接口服务集群做负载均衡策略,若针对服务内部之间的调用,若接口实例下线,nginx等并不能感知到,故针对于这样的调用方式,在服务之间并不合理。 无服务注册中心存在的问题 接口服务实例下线,nginx并不能感知服务已经下线。需要感知服务的健康情况 接口调用方,大规模迁移,修改nginx等配置文件相对繁琐。增删服务时,注册中...

2019-05-31 16:01:30 360

原创 线程通信

通信方式 要想实现多个线程之间的协同,如:线程执行的先后顺序、获取某个线程执行的结果等等。涉及到线程之间相互通信,分为以下四类: 文件共享 网络共享 共享变量 jdk提供的线程协调API API细分为:suspend/resume、wait/notify、park/unpark 文件共享 线程1将数据写入到文件系统中,线程2从文件系统中读取数据,进行数据交互,称为文件共享 网络共享...

2019-05-29 22:14:51 75

原创 线程封闭

线程封闭的概念 多线程在访问共享可变数据时,涉及到线程间数据同步的问题。并不是所有的时候,都要用到共享数据。所以,线程封闭的概念就提出来了。 数据都被封闭在各自的线程之中,就不需要同步,这种通过将数据封闭在线程而避免使用同步技术成为线程封闭。 线程封闭的具体的提现有:ThreadLocal、局部变量。 ThreadLocal ThreadLocal是java中一种特殊的变量。 它是一个线程级别变量...

2019-05-27 10:11:29 71

原创 内存屏障和CPU缓存

为了提高程序运行的性能,现在CPU在很多方面对程序进行了优化 例如:CPU高速缓存。竟可能的避免处理器访问主内存的时间开销,处理器大多会利用缓存(cache)以提高性能。 CPU缓存分为三级: Cache(一级缓存)是CPU的第一层高速缓存,分为数据缓存和指令缓存。一般服务器CPU的L1缓存的容量通常在32-4096KB(L1)。 由于一级高速缓存容量的限制,为了再次提高CPU的运算速度,在C...

2019-05-25 14:04:08 118

原创 线程中止

stop 中止线程,并且清除监控器的信息,但可能导致线程安全问题。JDK不建议使用 Destroy:JDK未实现该方法 interrupt:优雅的方式中断线程 标志位:正确的线程中止 利用Demo演示线程中止状态 package com.study.basejava.a1_thread_status; /** * 示例3 - 线程stop强制性中止,破坏线程安全的示例 */ public...

2019-05-24 13:28:45 86

原创 线程状态

线程状态 6个状态定义:java.lang.Thread.State New:尚未启动的线程状态 。 Runnable:可运行线程的状态,等待CPU调度。 Blocked:线程阻塞等待监视器锁定的状态。处于synchronize同步代码块或方法中被阻塞。 Waiting:等待线程的线程状态。下列不带超市的方式: Object.wait、Thread.join、LockSupport.part T...

2019-05-23 21:13:15 100

空空如也

空空如也

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

TA关注的人

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