java
Maitianshouwei
这个作者很懒,什么都没留下…
展开
-
Java并发编程之常用概念
本文转载自《奔跑的猪博客》可见性所谓的可见性,就是在多线程环境下,一个线程的改动能够被其他线程看见。通常在多线程环境下,每个线程都有自己的线程空间,线程创建的时候,会将主线程变量拷贝一份到线程空间中,线程中进行的更改会立即在线程空间中反映出来,但是对于其它线程并不能看见该线程做的改动。失效数据当一个线程对数据修改之后没有及时将修改同步到其他线程,这个数据就是失效的数据。同步此时需要进行同步,将线程空转载 2016-05-27 17:00:04 · 658 阅读 · 0 评论 -
Java内存模型以及线程安全
Java主要有5个存储区域,分别是方法区、堆区、Java栈、本地方法区、程序计数器。原创 2017-02-25 20:54:15 · 573 阅读 · 0 评论 -
Java简易RPC框架学习(一)
1、前言更多请前往个人博客随着web技术越发成熟,技术体系越发地完善。在小公司经常会看见一个项目就是全部,但是大公司的系统就不一样了,由于业务种类的繁多,业务量的巨大,大公司的项目通常会将一些常用到的功能组件化、服务化,就需要一个框架来管理。于是微服务架构的概念就出来了。微服务框架需要解决很多问题,例如服务注册、服务路由、服务调用等等。本系列专注于研究服务调用方面,通过拜读阿里开源框架du原创 2016-11-26 22:30:52 · 1764 阅读 · 0 评论 -
java pipeline并发模式
1、pipeline简介更多请关注我的个人博客。pipeline又称为管道,是一种在计算机普遍使用的技术。举个最普遍的例子,如下图所示cpu流水线,一个流水线分为4部分,每个部分可以独立工作,于是可以处理多个数据流。linux 管道也是一个常用的管道技术,其字符处理功能十分强大,在面试过程中常会被问到。在分布式处理领域,由于管道模式是数据驱动,而目前流行的Spark分布式处理平台也是数据驱原创 2016-11-26 16:27:21 · 9410 阅读 · 4 评论 -
Java简易RPC框架学习(三)---会话层
更多博客请关注。私自将这一层命名为会话层有些不厚道,在dubbo的rpc架构里面,这一层叫做信息交换层。这一层以Request、Response、为核心,封装请求响应模式,同步转异步。而且还随时监控着传输层Client端的连接情况。在我看来,这种管理请求响应的层也可以称为会话层。为了尊重dubbo中的定义,本层的门面类叫做Exchanger,即交换的意思。下面介绍到的代码都可以在我的Git原创 2016-12-04 19:37:46 · 1591 阅读 · 0 评论 -
Java简易RPC框架学习(二)---传输层
众做周知七层协议中的传输层的作用,这里的传输层的作用也类似,即封装了tcp,ip协议传输的实现,使用者不需要关系底层传输细节的实现,只需要调用接口来传输所需要的数据。为了实现这一层,可以使用最基本的套接字接口,java现有版本提供了OIO,NIO,BIO等技术,方便开发者创建自己的网络传输应用。但是,本文的重点不在于造轮子,没必要自己写网络传输系统。而且java的OIO(Old IO),和NIO(原创 2016-12-04 15:46:10 · 1637 阅读 · 0 评论 -
Java 异步回调
1、回调更多博客请关注。回调callback一种编程技术,通过将函数A传递给另外一个函数B,由函数B来调用函数A,这样的过程被称为回调。通常来说,函数B是已经存在的,而函数A可以自定义,这样就能够实现业务的多样化。回调在JavaScript的是非常常见的,例如下面一段代码:$.ajax({ url: "test.html", context: document.body, succ原创 2016-11-19 11:47:36 · 3649 阅读 · 0 评论 -
从零开始JAVA AOP
1、初识AOP更多文章请查看跟人博客。很久以前就听说了AOP编程,也知道字母上的解释是“面向切面的编程”,更久之前我也听过OOP“面向对象编程”。然而AOP不是OOP的代替,而是基于OOP 的完善,AOP只是一种编程风格。下面是一个OOP用烂了的例子,账户类封装了存钱和取钱的接口供外部类调用。但是现实中的账户存取操作远比这个复杂,需要有事务、日志、同步等操作。如果使用Java面原创 2016-11-14 12:56:29 · 528 阅读 · 0 评论 -
JAVA之CLASS、ClassLoader
1、CLASSJAVA是一门面向对象的语言,每当程序生成一个实例的时候就会在堆里面开辟相应的空间来保存实例数据,堆中不会保存函数接口等信息,那么这些信息保存在哪里?JAVA针对每一个类别都会有一个单独的CLASS实例来保存。JAVA的枚举、类别、接口(注解也是一种接口)、基本数据类型都对应一个CLASS。数组类型对应据数组元素类型CLASS。Class类包含了类的信息以及ClassLoad原创 2016-11-14 12:46:20 · 572 阅读 · 0 评论 -
Java并发编程之(二)管程
本博客转载自《奔跑的猪的博客》 本文中的代码可以在github上找到,有需要的请自行下载标题定义维基百科中定义管程为:在并发编程中,管程(monitor)为一个同步结构,具有线程互斥特性,以及能够根据某些条件来阻塞线程。根据定义,管程有三个要素:同步、互斥、条件。恰好在Java的Concurrent包中ReentrantLock具有上述所有特性,可以用来实现管程。管程是一个非常实用且常见的技术,可转载 2016-05-27 19:23:56 · 3387 阅读 · 0 评论 -
kafka基本特性简介
kafka是LinkedIn开发的用于日志数据处理的流式消息处理系统。官网上说kafka is a distributed、partitioned、replicated commit logservice.这句话充分体现了kafka的特性。kafka是首先是一个用于处理流式数据的日志处理系统,然后他是分布式的,他支持分区便于横向拓展,他具有冗余备份功能。目前kafka主要有三个方面的用途,分别是消息订阅与发布系统、消息存储、流式数据处理。本文主要围绕kafka的消息订阅与发布功能进行介绍。原创 2017-02-25 20:56:53 · 3610 阅读 · 0 评论