半岛铁板
码龄10年
关注
提问 私信
  • 博客:129,382
    问答:797
    130,179
    总访问量
  • 116
    原创
  • 638,803
    排名
  • 51
    粉丝
  • 0
    铁粉

个人简介:努力的人总会得到帮助

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2014-11-19
博客简介:

大脸猫的博客

查看详细资料
个人成就
  • 获得52次点赞
  • 内容获得20次评论
  • 获得133次收藏
  • 代码片获得121次分享
创作历程
  • 9篇
    2020年
  • 162篇
    2019年
成就勋章
TA的专栏
  • Dubbo源码
    18篇
  • HTTP协议
    11篇
  • 运维
    22篇
  • 单点登录
    7篇
  • 随笔情感
    4篇
  • SpringCloud
    13篇
  • Elasticsearch
    25篇
  • Java杂记
    40篇
  • Spring源码
    30篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 搜索
    elasticsearch
  • 服务器
    linux
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

349人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

对象的创建过程

类的生命周期Java中对象的创建就是在堆上分配内存空间的过程,此处说的对象创建仅限于new关键字创建的普通Java对象,不包括数组对象的创建。对象创建过程1.检测类是否被加载当虚拟机执行到new时,会先去常量池中查找这个类的符号引用。如果能找到符号引用,说明此类已经被加载到方法区(方法区存储虚拟机已经加载的类的信息),可以继续执行;如果找不到符号引用,就会使用类加载器执行类的加载过程,类加载完成后继续执行。2.对象内存分配类加载完成以后,虚拟机就开始为对象分配内存,此时所需内存.
转载
发布博客 2020.05.28 ·
368 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Curator——Service Discovery

JAR包:Curator Service Discovery在Maven Central中以其独立的软件包提供:curator-x-discovery什么是Discovery Service在SOA /分布式系统中,服务需要相互查找。 即网络服务可能需要找到缓存服务,等等。DNS可以用于此目的,但是对于不断变化的服务而言,它的灵活性还远远不够。 服务发现系统提供了以下机制:可用服务的注册 查找特定服务的单个实例 服务实例更改通知Curator Service DiscoveryS
翻译
发布博客 2020.05.23 ·
1208 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Netty中ByteBuf的copy、duplicate、slice方法对比

敬请期待~
原创
发布博客 2020.04.06 ·
5573 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

RabbitMQ知识点整理汇总

RabbitMQ的工作机制:首先要知道RabbitMQ的三种角色:生产者、消费者、消息服务器生产者:消息的创建者,负责创建和推送消息到消息服务器 消费者:消息的接收方,接受消息并处理消息 消息服务器:其实RabbitMQ本身,不会产生和消费消息,相当于一个中转站,将生产者的消息路由给消费者RabbitMQ的一些角色ConnectionFactory:连接管理,应用程序或消费方与R...
原创
发布博客 2020.02.14 ·
972 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

《Redis入门指南》笔记二

本篇幅讲解Redis的进阶知识
原创
发布博客 2020.01.17 ·
261 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

《Redis入门指南》笔记一

本篇幅主要涉及Redis的配置、基础命令、四种数据类型的操作命令Redis是Remote Dictionary Server远程字典服务器的缩写,它以字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容。到目前为止Redis支持的键值数据类型如下1.字符串 2.散列类型 3.列表类型 4.集合类型 5.有序集合类型Redis命令返回值1.状态回复:状态回复(sta...
原创
发布博客 2020.01.17 ·
323 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

AtomicIntegerFieldUpdater与AtomicInteger使用引发的思考

在阅读《实战Java高并发程序设计》一书的4.4.7让普通变量也享受原子操作:AtomicIntegerFieldUpdater使用的demo代码如下:/** * @author 周宁 * @Date 2020-01-03 14:01 */public class AtomicIntegerFieldUpdaterDemo { public static class Can...
原创
发布博客 2020.01.07 ·
1942 阅读 ·
5 点赞 ·
2 评论 ·
5 收藏

ConcurrentLinkedQueue、LinkedBlockingQueue 、ArrayBlockingQueue之间的区别和联系

非阻塞队列ConcurrentLinkedQueue:可以看做是一个线程安全的LinkedList,适用于许多线程共享访问一个公共集合,是一个基于链接节点的无界线程安全队列,它采用先进先出的规则对节点进行排序,当我们添加一个元素的时候,它会添加到队列的尾部;当我们获取一个元素时,它会返回队列头部的元素。它采用了“wait-free”算法(即CAS算法)来实现。常用方法:boolean...
原创
发布博客 2020.01.03 ·
1103 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Thread的suspend()、resume()与LockSupport的park()、unpark()

Thread的suspend()、resume()方法suspend()方法挂起线程、resume()方法继续执行,如果一个线程调用suspend()方法后,可以通过resume()继续线程的执行。但是jdk已将这俩方法标位@Deprecated,因为使用suspend()方法在使线程暂停但并不会释放线程占用的资源,直到对应线程调用了resume()方法。被挂起的线程才可以继续执行。从而阻塞在...
原创
发布博客 2020.01.02 ·
1129 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

《从零蛋开始学习MySQL》笔记

MySql数据类型Enum类型和SET类型假如我们有一列是性别只能填男或者女,如果使用Int或者varchar非常尴尬,我们提出了一个叫ENUM的类型,也称为枚举类型,它的格式如:ENUM('str1', 'str2', 'str3' ⋯)它表示在给定的字符串列表里选择一个。比如我们的性别一列可以定义成ENUM('男', '女')类型。这个的意思就是性别一列只能在'男'或者'女'这两个字符串之...
原创
发布博客 2019.12.30 ·
984 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

2019年度总结

回顾20191.通过阅读《Netty 入门与实战:仿写微信 IM 即时通讯系统》、《Netty实战》、《Netty权威指南》对Netty进行了学习,并且用Netty实现了个分段下载服务器,又写了个简单的RPC项目。勉强算入门了吧。2.跟着官网教程学了ElasticSearch,给公司搭建了ELK日志环境。3.阅读《Java并发编程的艺术》《实战Java高并发程序设计》将零散的多线程知识...
原创
发布博客 2019.12.11 ·
562 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Dubbo源码学习19

本篇幅分析Dubbo接收到消费方发起的请求进行服务调用逻辑。在Dubbo源码学习18篇幅消费方发起的服务调用后,会将本次请求调用的有关参数方法、入参、附件参数attachments等信息通过网络通信框架Netty发送到服务端,在传输的过程中,服务消费方的请求有关参数会先经过Codec进行编码,服务提供者会对请求调用有关的参数通过Codec进行解码,但是这些不是我们本篇幅的重点所以直接略过。...
原创
发布博客 2019.12.10 ·
362 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

使用Swagger测试发布的Dubbo服务之dubbo-swagger

源码地址:https://github.com/SpringStudent/dubbo-swagger源码地址:https://gitee.com/bigfacecat-zhouning/dubbo-swaggerdemo地址:https://github.com/SpringStudent/dubbo-swagger-demo
原创
发布博客 2019.12.02 ·
548 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Dubbo源码学习18

服务的远程调用过程---消费方发起调用请求继Dubbo源码学习17,我们知道对于消费方发起的方法调用是通过代理对象的方法调用实现的,代理对象方法调用的入口为InvokerInvocationHandler.invoker(Object proxy, Method method, Object[] args)public class InvokerInvocationHandler...
原创
发布博客 2019.11.22 ·
360 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Dubbo源码学习17

本篇幅分析Dubbo创建代理对象流程,我们在刚开始分析服务引用章节,提到了最终Dubbo会根据invoker使用proxyFactory创建代理对象,本篇幅主要目的就是为了分析proxyFactory.getProxy(invoker);ReferenceConfig.createProxy(Map<String,String> map)@SuppressWarnings...
原创
发布博客 2019.11.21 ·
391 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Dubbo源码学习16

Dubbo 提供了4种负载均衡实现,分别是基于权重随机算法的 RandomLoadBalance、基于最少活跃调用数算法的 LeastActiveLoadBalance、基于 hash 一致性的 ConsistentHashLoadBalance,以及基于加权轮询算法的 RoundRobinLoadBalance。不难看出所有负载均衡类均继承自AbstractLoadBalance,A...
原创
发布博客 2019.11.21 ·
227 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Dubbo源码学习15

本篇幅分析Dubbo的集群Cluster以及ClusterInvoker的实现。为了避免单点故障,现在的应用通常至少会部署在两台服务器上。对于一些负载比较高的服务,会部署更多的服务器。这样,在同一环境下的服务提供者数量会大于1。对于服务消费者来说,同一环境下出现了多个服务提供者。这时会出现一个问题,服务消费者需要决定选择哪个服务提供者进行调用。另外服务调用失败时的处理措施也是需要考虑的,是重试呢...
原创
发布博客 2019.11.19 ·
269 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Dubbo源码学习14

本篇幅主要分析DubboProtocol.refer方法创建invokerDubboProtocol.refer(Class<T> serviceType, URL url)@Override public <T> Invoker<T> refer(Class<T> serviceType, URL url) throws Rp...
原创
发布博客 2019.11.14 ·
316 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Dubbo源码学习13

本篇幅分析Dubbo的配置规则Configurators和路由规则Routers的使用以及源码实现Configurators覆盖规则是Dubbo设计的在无需重启应用的情况下,动态调整RPC调用行为的一种能力。向注册中心写入动态配置覆盖规则。该功能通常由监控中心或治理中心的页面完成。RegistryFactory registryFactory = ExtensionLoader....
原创
发布博客 2019.11.13 ·
313 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Dubbo源码学习12

该篇幅分析RegistryDirectory.subscribe(URL url)方法RegistryDirectory.subscribe(URL url)public void subscribe(URL url) { //consumer://169.254.22.149/com.alibaba.dubbo.study.day01.xml.service.Ech...
原创
发布博客 2019.11.12 ·
810 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多