自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tom有cat

积跬步,以至千里

  • 博客(13)
  • 资源 (3)
  • 收藏
  • 关注

原创 Netty框架学习02-TCP粘包/拆包解决之道

粘包,拆包说明TCP是个流的协议,就是没有界限的一串数据。他底层不了解业务数据的具体含义,他的数据数据传输的划分是根据TCP的缓冲区的实际情况进行包的划分,所以在业务上认为,一个完整的包可能会被TCP拆成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这就是所谓 的TCP粘包拆包。下面做出详细的说明。 ...

2019-11-25 14:15:46 305

原创 Netty框架学习01-Netty服务端开发和Netty客户端开发

环境准备依赖: <!-- https://mvnrepository.com/artifact/io.netty/netty-all --> <dependency> <groupId>io.netty</groupId> <artifactId>netty-all...

2019-11-22 16:24:07 541

原创 nio学习03-NIO的非阻塞式网络通信-NIO核心Selector

IO,NIO对比 传统的IO流都是阻塞式的。也就是,当一个线程调用read()和write()方法时,该线程被阻塞,直到有一些数据被读取或者写入,该线程在此期间不能执行其他任务。因此,在完成网络通信进行IO操作时,由于线程会阻塞,所以服务器端必须为每个客户端都提供一个独立的线程进行处理,当服务器端需要处理大量客户端时,性能急剧下降。 nio是非阻塞模式的。当线程从某通道进...

2019-11-20 15:16:07 218

原创 nio学习02-通道Channel

1.Channel来看一下Channel的接口package java.nio.channels;import java.io.IOException;import java.io.Closeable;public interface Channel extends Closeable { public boolean isOpen(); pu...

2019-11-20 11:22:39 8911

原创 nio学习01-缓冲区

1.概念缓冲区是包在一个对象内的基本数据元素数组。Buffer类似相比一个简单的数组优点是它将关于数据的数据内容和信息包含在一个单一的对象中。Buffer类似及它专有的子类定义了一个用于处理缓冲区的api。他的本质是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成nio对象,并提供了一组方法,用来方便访问这块内存jdk中的Buffer抽象类如下图:2.缓冲区...

2019-11-18 19:19:34 224

原创 RPC原理的学习

文章摘自dubbo官方文档的博客。http://dubbo.apache.org/zh-cn/blog/rpc-introduction.html什么是RPC? RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B...

2019-11-18 15:50:18 163

原创 EMQ服务器学习2 mqtt和springboot的整合实现消息推送和发送

注:本次demo参考博客https://blog.csdn.net/zhangxing52077/article/details/80568244并在原文的基础上进行了改造,以及加上一些自己对代码设计方面的一些理解。代码放在了github上 地址:https://github.com/wws11/springboot-mqttdemoEMQ服务器为我们提供了一个控制面板界面,在本地访问...

2019-11-16 13:41:28 3388 4

原创 EMQ服务器学习1 mqtt的基础理论知识

最近有时间,研究了一下mqtt消息推送的技术,这个技术在我们的项目中也用到了,但是对于其原理不是很理解,花时间学习了一下。EMQ官方地址:https://www.emqx.io1.mqtt服务器的安装服务器下载地址:https://github.com/emqx/emqx/releases或者emqx.io注意:mq服务器有企业版和broker版本,选择broker版本进行下载。...

2019-11-16 11:33:49 848

原创 Java 代码优化 -避免创建不必要的对象

《effective Java 》书中第六条写道避免创建不必要的对象,再次做一个总结总结如下几点:1.避免创建不必要的对象,比如字符串的创建不使用new方式2.通过静态工厂方法可以创建不必要的对象3.对象的复用 如果一些对象可以被复用看下面 的一个例子有下面一个正则校验数据的格式static boolean isRomanNumeral(String s) { ...

2019-11-11 17:09:40 652

原创 Java8的骚操作,获取lambda对象属性值

实现效果通过传入一个lambda表达式获取这个字段的属性名得到的结果:name实现方式:定义一个Function类型的接口实现序列化代码如下:package com.soecode.lyf.demo.test.java8.reflect;import java.beans.Introspector;import java.io.Serializable;imp...

2019-11-11 11:35:39 7689

转载 Java 序列化 机制writeReplace的方法探究

如果一个序列化类中含有Object writeReplace()方法,那么实际序列化的对象将是作为writeReplace方法返回值的对象,而且序列化过程的依据是实际被序列化对象的序列化实现。People定义了writeReplace方法,并且自定义了writeObject/readObject方法。package com.soecode.lyf.demo.test.io;impor...

2019-11-11 11:28:48 5638

原创 java8 函接式口学习-Predicate,Consumer,Supplier

Predicate这个接口可以用于做一些过滤操作,它的源码如下:@FunctionalInterfacepublic interface Predicate<T> { boolean test(T t); default Predicate<T> and(Predicate<? super T> other) ...

2019-11-09 16:04:07 538

原创 java8 函接式口学习-Function

参考博客地址:https://blog.csdn.net/y_k_y/article/details/84632889Function<T,R> :抽象方法:Rapply(T t):传入一个参数,返回想要的结果。默认方法:为了下面能更好地解释,这里先假设有两个Function实例:f1,f2default <V...

2019-11-09 15:03:18 334

redis 的bitmap点赞功能的应用源码.zip

使用redis实现用户的点赞统计,具体内容,博客里有,链接https://blog.csdn.net/qq_35410620/article/details/105738425

2020-05-07

effective java 第三版.pdf

effective java 第三版pdf,最新的版本,java8的一些特性都有系统的概述,很不错,需要的下载

2019-12-14

elasticsearch-6.7.2.zip

elasticsearch6.7.2zip安装包,提供给有需要的人,

2019-07-25

空空如也

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

TA关注的人

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