Java
xuyuanpeng01
Stay hunger.Stay foollish
展开
-
PRC原理分析:从一个简单的DEMO开始
项目结构如下一、service是服务层实现了如下接口:HelloServices 代码如下:package consumer.service;public interface HelloServices { String sayHi(String name);}HelloServiceImpl 代码如下:public class HelloServiceImpl i...原创 2019-01-18 13:54:32 · 6227 阅读 · 0 评论 -
重温JVM(一)虚拟机内存
一 、前言JVM是什么,我想诸位肯定都清楚。好吧,我还是简答说一下JVM即Java虚拟机(够简单吧 233333)。虽然说,所有抛开操作系统,讲虚拟机的内容,都是耍流氓。但是,贫僧不修善果,就爱杀人放火,就爱耍流氓。好吧,扯远了。言归正传,JVM这是第三遍重温了。第一遍读时,还是在飞机上读的,就记得飞机上的阳光很刺眼,肚子很难受,从书中汲取的知识很少。第二遍读时,是在做地铁时看完的。地铁很...原创 2019-06-24 09:43:23 · 209 阅读 · 0 评论 -
重温JVM(二)JVM内存模型
一、前言上文讲过了虚拟机的内存划分,即,我们将内存分为线程共享和线程私有。线程共享的即java堆,和方法区。java堆大家可能都不会陌生;而方法区中包含了常量池,他也被称为永久代。通常方法区也会被叫做非堆,但是在逻辑上,他却是java堆的一部分,而且有些虚拟机会将方法区直接与java堆合并。线程私有的就是虚拟机栈了,而虚拟机栈,本地方法栈,以及程序计数器。这里我们就不展开讨论了。上面我就简...原创 2019-06-26 18:33:06 · 195 阅读 · 0 评论 -
java线程启动原理分析
一、前言不知道哪位古人说:人生三大境界。第一境界是:看山是山看水是水;第二境界是看山不是山看水不是水;第三境界:看山还是山看水还是水。其实我想对于任何一门技术的学习都是这样。形而上下者为之器,形而上者为之道。一直很喜欢自己大一的高数老师,老师是老教授了,他讲数学,会引申到建筑学,计算机科学,以及哲学再到生活中的常识。也能从其他学科、日常生活中,提取出数学的概念。我想,这就是形而上者了。不胜...原创 2019-05-17 18:13:59 · 428 阅读 · 4 评论 -
与RabbitMQ的第一次亲密接触
一、前言首先说一下RabbitMQ,为什么叫RabbitMQ呢?嘿嘿嘿,我想大部分人没想过这个问题,Rabbit兔子,作者是想表示可以兔子繁殖起来异常的疯狂,就像分布式系统一样。说到兔子疯狂繁殖,让我想到了高中时代做过的很多数学题和生物题。说完命名问题,那为何要有RabbitMQ呢?他用来解决什么问题?适用于何种场景?如何使用?这就是本文要讨论的问题,但由于作者也并未深入的了解,很多地方都...原创 2019-05-17 16:33:29 · 258 阅读 · 0 评论 -
高并发处理,从Java8新特性说起
一、前言随着公司业务的扩展和用户的增加,我们的网关接口不得不面对高并发的场景。如何处理高并发请求呢?除了在系统架构上,分库分表、分布集群,异步处理等处理方式。本文来聊一聊,通过Java语言本身,来进行高并发场景的优化。二、核心思路如图所示1、多客户端同时向服务器发起请求。2、服务器将获取到的请求,添加到请求队列。3、由一个定时任务(比如10ms执行一次),获取队列的全部元素,并将之...原创 2019-05-16 10:28:29 · 778 阅读 · 2 评论 -
在SpringBoot使用AOP
一、AOP是什么AOP(Aspect-Oriented Programming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需 要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合...原创 2019-04-28 17:55:57 · 181 阅读 · 0 评论 -
与NIO的第一次亲密接触
前言随着互联网的不断发展,用户群体越发庞大。从互联网初入中国,国内的上网用户不过数万,而上网也只能简单的进行邮件,浏览新闻。到现在几乎每个人都可以通过互联网进行社交,娱乐,学习。中间不但有社会经济的发展,java技术也随之不断发展,究竟是科学技术的发展促使了社会的发展,还是社会经济的发展促使了科学技术?这个问题我想大家应该都知道一句话:科学技术是第一生产力。随着用户全体的庞大,对于网络通信的...原创 2019-04-08 17:13:42 · 408 阅读 · 0 评论 -
基于Netty的RPC实现
前言这个demo,主要是展示了RPC与Netty在一起所产生的一种奇妙的化学反应,与传统的,阻塞的通信不同,基于Netty的PRC框架,可以实现,两个服务之前,异步的方法调用。其实这篇文章的关键词已经给出来了,即:两个服务之前,异步的,方法调用。一、RPC是什么如果不清楚RPC是什么,推荐阅读我的博客《PRC原理分析:从一个简单的DEMO开始》https://blog.csdn.net/...原创 2019-04-10 18:28:11 · 6501 阅读 · 4 评论 -
java8之stream【一】steam的说明以及创建
一、Steam说明Steam与IO无任何关系。Java 8 中的Steam是对集合 (Collection) 对象功能的增强, 他专注于对集合对象进行各种非常便利,高效的聚合操作(aggregate operation), 或者大批量数据操作 (bulk data operation).Steam API借助于同样新出现的Lambda 表达式, 极大的提高编程效率和程序可读性. 同时他提供穿...原创 2019-03-20 15:22:50 · 5488 阅读 · 2 评论 -
Java8特性之'::' 关键字
Java8中提供了::,使我们可以直接访问类的构造函数,静态函数,对象函数。首选我们构造一个类Productpublic class Product { private long id; private String name; private BigDecimal price; public Product(){} public Product(...原创 2019-02-19 11:21:16 · 3094 阅读 · 0 评论 -
Tomcat原理初探(一)
一、前言Tomcat是什么?如果是问现在的小孩子,他会一脸问号的看着你。如果你问80、90后,他会邪魅一笑,汤姆猫嘛,我还是杰瑞呢 =_=。emmmmm,直接开始正文吧。发现现在自己越来越直接了,没前戏,直接进入正戏。二、Tomcat是什么Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和...原创 2019-06-28 09:37:42 · 472 阅读 · 0 评论