240 发简信
IP属地:湖北
  • 120
    Dubbo的基本使用与高级应用

    本篇是Dubbo的使用篇,为后续的源码分析打基础。 1. 最简单的使用 开篇用一个最简单的例子,来介绍如何用Dubbo搭建一个简单的例子。 本例包括: 注册中心(用Zooke...

  • Dubbo介绍

    笔者初识Dubbo的时候,只知道它是一个RPC框架,那么什么是RPC呢? 1. RPC是什么 维基百科是这么定义RPC的: 在分布式计算,远程过程调⽤(英语:Remote P...

  • JVM调优总结

    本篇从以下几个方面,对JVM调优进行总结 1. YoungGC 频繁 如果线上频繁YoungGC,应该如何解决呢?想有整体思路的话,不防先用反推法,先看原理。 1.1 触发时...

  • SpringAOP源码

    1. 入口 SpringAOP的使用中有这么一个注解@EnableAspectJAutoProxy,按照Spring源码的一贯套路,进入这个注解看一下源码。重点关注这一行。 ...

  • SpringAOP使用

    目前 Spring AOP 一共有三种配置方式。 Spring 1.2 基于接口的配置:最早的 Spring AOP是完全基于几个接口的。 Spring 2.0 schema...

  • 120
    SpringAOP概念

    1. AOP概念 1.1 定义 AOP全称为Aspet-Oriented Programming,中文名字为面向切面编程。使用AOP,我们可以对类似日志和安全等系统需求进行模...

  • 120
    Spring解决循环依赖(上)

    本篇先尝试自己实现一个解决循环依赖的方案,下篇分析Spring是如何解决的。 1. 什么是循环依赖? 所谓的循环依赖是指,A 依赖 B,B 又依赖 A,它们之间形成了循环依赖...

  • LeetCode刷题分类之双指针28.实现 strStr()

    28. 实现 strStr() 题目 实现strStr()函数。 给定一个haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needl...

  • 120
    链表

    1. 定义 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在...

  • LeetCode刷题分类之双指针141.环形链表

    141. 环形链表 题目 给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos...

  • LeetCode刷题分类之双指针206.反转链表

    206. 反转链表 题目 反转一个单链表。 示例: 思路 我们可以申请两个指针,第一个指针叫 pre,最初是指向 null 的。 第二个指针 cur 指向 head,然后不断...

  • 系统管理及IPC资源管理

    1. 系统管理 1.1 查询系统版本 查看Linux系统版本: 查看Unix系统版本: 1.2 查询硬件信息 查看CPU使用情况: 查询CPU信息: 查看CPU的核的个数: ...

  • 用户管理工具

    1. 用户 1.1 添加用户 该命令为用户创建相应的帐号和用户目录/home/username; 1.2 设置密码 用户添加之后,设置密码: 1.3 删除用户 不带选项使用 ...

  • 网络工具

    1. 查询网络服务和端口 netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接...

  • 性能监控

    在使用操作系统的过程中,我们经常需要查看当前的性能如何,需要了解CPU、内存和硬盘的使用情况; 本节介绍的这几个工具能满足日常工作要求; 1. 监控CPU 查看CPU使用率 ...

  • 进程管理工具

    使用进程管理工具,我们可以查询程序当前的运行状态,或终止一个进程; 任何进程都与文件关联;我们会用到lsof工具(list opened files),作用是列举系统中已经被...

  • 磁盘管理

    日程磁盘管理中,我们最常用的有查看当前磁盘使用情况,查看当前目录所占大小,以及打包压缩与解压缩; 1.查看磁盘空间 查看磁盘空间利用大小: -h: human缩写,以易读的方...

  • 学会使用命令帮助

    1. 学会使用命令帮助 1.1 概述 在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档; linux系统内置的帮助文档很详细,...

  • 设计原则之迪米特法则

    1. 定义 每个模块只应该了解那些与它关系密切的模块的有限知识。或者说,每个模块只和自己的朋友“说话”,不和陌生人“说话”。即:不该有直接依赖关系的类之间,不要有依赖;有依赖...

  • 设计原则之接口隔离原则

    1. 定义 客户端不应该被强迫依赖它不需要的接口。其中的“客户端”,可以理解为接口的调用者或者使用者。 在这条原则中,我们可以把“接口”理解为下面三种东西: 一组 API 接...