自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CodeFlight

让代码飞一会儿...

  • 博客(82)
  • 收藏
  • 关注

原创 ElasticSearch 安装(单机版本)

此文档演示 ElasticSearch 的单机版本在 CentOS 7 环境下的安装方式以及相关的配置。

2023-11-16 08:47:58 627

原创 Yapi 容器化部署

浏览器打开 http://[your-ip-address]:3000,使用 username: admin@admin.comy 和 password: mfe.org 进行登陆。前提是你的环境已经安装了 Docker 服务。新建 Dockerfile。

2023-06-16 15:38:40 250

原创 Java 线程状态有哪些?

在线程的生命周期中,它需要经历初始状态、可运行状态、阻塞状态、等待状态、超时等待状态和终止状态

2023-04-19 14:16:47 840 2

原创 Java 线程池的拒绝策略

Java 线程池的拒绝策略一共有四种,分别为`AbortPolicy`,`CallerRunsPolicy`,`DiscardPolicy`,`DiscardOldestPolicy`。下面就来说明这四种策略的不同之处。

2023-04-18 21:04:04 2388

原创 Java 对象四种引用类型

在 Java 的对象世界里面,对象的引用有 4 类之分,分别是:强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)和虚引用(Phantom Reference)。

2023-04-18 14:29:41 979 1

原创 Java 堆外内存

在 Java 虚拟机中,分配对象基本上都是在堆上进行的,然而在有些情况下,缓存的数据量非常大时,使用磁盘或者分布式缓存就会比较合适,这时**堆外缓存**就是一个比较合适的选择。一般会认为 Java 进程启动后,除了分配的堆(heap)内存之外的内存都为堆外内存。堆外内存在没有引用时,也会被 Java 垃圾收集器进行回收。

2023-04-14 17:31:40 1312

原创 Redis 如何使用 RedisCluster 构建高可用集群架构?

Redis Cluster 提供 Redis 的水平扩展的能力,采用去中心化的架构,集群中的每个节点保存独立的数据以及整个集群的相关状态。由于每个节点都和集群中的其他节点进行交互,客户端只要链接其中一个节点,就能感知整个集群节点。

2023-04-11 22:57:19 511

原创 Redis 如何使用 Twemproxy 和 Sentinel 构建高可用集群架构?

使用 Sentinel 构建的主从复制架构,能够实现高可用,但是不能解决单个 Redis 节点的数据量过大的问题,如果单个 Redis 节点的数据量过大,主机内存过载,那么就需要使用 Redis 的集群架构来将数据进行分片处理,使其分布在不同的物理机上面,使其能够做到容量的扩展。

2023-04-10 16:55:18 714

原创 Redis 如何使用 Sentinel 构建主从复制的高可用架构?

Sentinel 服务是 Redis 的高可用架构方案,用来解决主从复制场景下,从节点无法自动提升为主节点的问题。

2023-04-08 18:14:02 351

原创 Redis 如何配置读写分离架构(主从复制)?

实际上就是 Redis 对数据除持久化之外的一种数据冗余备份机制。(能够在主节点出现故障时,通过其他手段让从节点快速提升为主节点提供服务以实现故障的恢复。)在读多写少的场景下,主从复制能够做到读写分离,提高 Redis 的负载均衡能力。

2023-04-08 13:40:48 1404

原创 如何使用 Python 搭建一个 NTP 服务器

使用 python 基础库构建一个简易的 ntp 服务器,用来对移动设备进行时间的校准。这里使用 android 移动设备作为 ntp 客户端来进行测试。在上述服务启动之后,可以通过如下命令来执行测试。库的使用,用来将整型数据进行包装。

2023-03-07 18:03:29 1039

原创 PythonCookbook 笔记:简单实现优先级队列

代码】PythonCookbook笔记简单实现优先级队列。

2022-07-24 19:59:19 194

原创 SpringBoot 同时上传多文件和传输 JSON 数据

文章目录SpringBoot 同时上传多文件和传输 JSON 数据代码逻辑执行请求SpringBoot 同时上传多文件和传输 JSON 数据核心是要使用 @RequestPart 注解代码逻辑public class Material { private Long id; private String name; private Integer status; private Integer isDel; private String rejectR

2022-02-25 10:53:58 2311

原创 AndroidStudio 调试 smali 代码

文章目录AndroidStudio 调试 smali 代码调试环境AndroidStudio 添加 smalidea 插件调整 smalidea 插件关联的文件类型反编译 app-release.apk回编 app-release.app重新签名 apk 和对齐重新安装 apk 到你的设备已调试的方式启动 app导入 smali 代码到 AndroidStudio在 smali 文件中设置断点并调试AndroidStudio 调试 smali 代码调试环境macOS Monterey 12.2An

2022-02-12 12:00:10 1797

原创 反编译 APK 的基本步骤

文章目录反编译 APK 的基本步骤1.编写一个简单的安卓 app2.将 release-app.apk 解压缩3.将 classes.dex 文件反编译为 jar 文件4.使用 jd-gui 可视化阅读 classes-dex2jar.jar 文件内容5.使用 apktool 反汇编 release-app.apk6.回编 apk7.重新签名 apk 和对齐8.重新安装 apk 到你的设备反编译 APK 的基本步骤本文简要说明一个 apk(未加固) 的反编译步骤以及所使用到的工具,下列工具在网上均可

2022-02-09 15:02:39 8031

原创 添加 frida-gadget 到安卓应用(无须 root)

文章目录添加 frida-gadget 到安卓应用(无须 root)1.使用 apktool 解开对应的 apk2.将 frida-gadget.so 添加到对应 cpu 架构下面3.注入 frida-gadget 字节码到 app 中4.添加网络权限5.回编 apk6.重新签名 apk 和对齐7.重新安装 apk 到你的设备8.和 frida-gadget 交互添加 frida-gadget 到安卓应用(无须 root)1.使用 apktool 解开对应的 apkapktool d myapp.ap

2022-01-21 09:43:33 7129

原创 系统架构之负载均衡

文章目录系统架构之负载均衡核心概念二层负载均衡三层负载均衡四层负载均衡七层负载均衡DNS + LVS + NGINX + REAL-SERVER 四层负载均衡负载均衡要素上游服务器配置负载均衡算法失败重试健康检查TCP检查HTTP 检查备份上游服务器不可用上游服务器长连接HTTP 反向代理HTTP 动态负载均衡Nginx 四层负载均衡系统架构之负载均衡7 层负载均衡,对应的是 http 的 7 层协议4 层负载均衡对应的是 tcp 的 4 层协议Nginx 现在也支持 4 层协议核心概念二

2021-10-10 16:03:38 924

原创 系统架构之模式

文章目录系统架构之模式分层分割分布式分布式分类集群缓存缓存种类CDN反向代理本地缓存分布式缓存异步采用异步好处冗余自动化应对策略安全策略系统架构之模式分层分层是企业应用系统中最常见的一种架构模式,将系统在横向维度上切分成几个部分,每个部分负责一部分相对比较单一的职责,然后通过上层对下层的依赖和调用组成一个完整的系统分割如果说分层是将软件在横向方面进行切分,那么分割就是在纵向方面对软件进行切分系统越大,功能越复杂,服务和数据处理的种类也越多,将这些不同的功能和服务分割开来,包装成高内

2021-10-07 09:30:15 612

原创 系统架构之高可用

文章目录系统架构之高可用系统可用性的度量与考核高可用的系统架构高可用的应用通过负载均衡进行无状态的失效转移应用服务器集群的 Session 管理Session 复制Session 绑定利用 Cookie 记录 SessionSession 服务器高可用的服务分级管理超时设置异步调用服务降级幂等性设计高可用的数据CAP 原理数据一致性数据强一致性数据用户一致数据最终一致数据备份数据热备份异步热备同步热备(ZooKeeper 应用)失效转移失效确认访问转移数据恢复高可用系统的软件质量保证系统发布自动化测试预发布

2021-09-27 11:04:26 954

原创 系统架构之可扩展

文章目录系统架构之可扩展构建可扩展的系统架构利用分布式消息队列降低系统耦合性分布式消息队列利用分布式服务打造可复用的业务平台Web Service 与企业级分布式服务大型系统分布式服务的需求与特点系统架构之可扩展扩展性(Extensibility)指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。表现在系统基础设施稳定不需要经常变更,应用之间较少依赖和耦合,对需求变更可以敏捷响应。它是系统架构设计层面的开闭原则,当系统增加新功能时,不需要对现有系统的结构和代码进行修改伸缩性(Scala

2021-09-26 09:25:57 1101

原创 系统架构之伸缩性

文章目录系统架构之伸缩性系统架构的伸缩性设计不同功能进行物理分离实现伸缩纵向分离横向分离单一功能通过集群规模实现伸缩应用服务器集群的伸缩性设计HTTP 重定向负载均衡DNS 域名解析负载均衡反向代理服务器IP 负载均衡数据链路层负载均衡负载均衡算法轮询(Round Robin, RR)加权轮询(Weighted Round Robin,WRR)随机(Random)最少连接(Least Connections)源地址散列(Source Hashing)分布式缓存集群的伸缩性设计分布式缓存的一致性 Hash 算

2021-09-24 13:49:14 791

原创 系统架构之高性能

文章目录系统架构之高性能如何发现性能瓶颈?不同视角下的系统性能用户视角的系统性能开发人员视角的系统性能运维人员视角的系统性能性能指标性能测试方法性能优化策略性能分析性能优化Web前端性能优化浏览器访问优化1.减少http请求2.使用浏览器缓存3.启用压缩4.CSS 放在页面最上面、JavaScript 放在页面最下面5.减少 Cookie 传输CDN 加速应用服务器性能优化缓存如何合理使用缓存?分布式缓存异步操作集群代码优化多线程解决线程安全的策略资源复用数据结构垃圾回收存储性能优化机械硬盘 vs. 固态硬

2021-09-22 10:09:03 815

原创 RESTful 架构

文章目录RESTRepresentational State TransferRepresentationalState TransferRESTful 架构RESTRepresentational State Transfer – 表现层状态转化对于 REST 虽然说是架构,但如果更深入一点,就想 HTTP 协议一样,可以看成一种规则或是协议REST 的根本是 HTTP 协议Representational State TransferRepresentational表现层:表现什么,应

2021-09-18 09:00:23 69

原创 六边形架构

文章目录六边形架构和分层架构的区别六边形分层领域层(Domain Layer)端口层(Ports Layer)适配器层(Adapters Layer)六边形架构六边形架构(Hexagonal Architecture),又称为端口和适配器架构风格,其中的“六”具体数字没有特殊的含义,仅仅表示一个“量级”的意思,六边形的定义只是方便更加形象的理解和分层架构的区别经典分层架构和六边形架构都是分层架构的一种,但是所发挥的作用会有些不同,经典分层架构更多的精力放在抽象的分离上,每个层的职责分的很明确,各个层

2021-09-17 09:02:46 890

原创 微服务架构

文章目录微服务架构单体应用本身带来的主要问题引入微服务架构微服务核心API Gateway基本服务管控内容可扩展的立方体 3D 模型微服务的不足微服务架构微服务架构强调的第一个重点就是业务系统需要彻底的组件化和服务化,原有的单个业务系统会拆分为多个可以独立开发、设计、运行和运维的小应用SOA 和微服务的区别:微服务不再强调传统 SOA 架构里面比较重的 ESB(企业服务总线 )SOA 的思想进入到单个业务系统内部实现真正的组件化单体应用本身带来的主要问题**系统复杂:**内部多个模块

2021-09-16 09:14:37 155

原创 Cron 表达式

文章目录Cron 表达式位置说明说明常用示例在线表达式示例Cron 表达式星号由左到右按顺序代表 : * * * * * * *格式: [秒] [分] [小时] [日] [月] [周] [年]位置说明位置说明可用值可用字符1秒0-59, - * /2分0-59, - * /3时0-23, - * /4日1-31, - * ? / L W C5月1-12, - * /6星期1-7, - * ? / L C #

2021-09-15 09:21:43 130

原创 Docker 常用指令

文章目录Docker 常用指令基础命令在 CentOS 7 中安装 Docker在ubuntu中安装Docker查看 docker 版本查看 docker 信息登陆 DockerHub查询镜像获取镜像查看镜像查看镜像历史查看镜像文件层差异创建容器[停止][启动][重启容器]删除容器查看容器日志查看容器中的进程从容器中拷贝查看运行中的容器查看历史容器查看最近启动容器监控容器查看容器端口提交容器构建容器删除镜像推送镜像查看网络创建网络添加容器到网络监控网络Docker 常用指令基础命令在 CentOS 7

2021-09-14 09:05:12 66

原创 Docker 笔记

文章目录Docker 笔记Docker 简介提供一个简单、轻量的建模方式职责的逻辑分离快速、高效的开发生命周期鼓励使用面向服务的架构Docker组件Docker镜像容器应用场景Docker Install查看内核Docker版本Docker 守护进程查看docker中容器的运行情况Docker 入门附着到容器上穿件守护式容器查看容器内的进程查看统计信息在容器内部运行进程自动重启容器Docker镜像基于构建缓存的Dockerfile模板Dockerfile指令CMDENTRYPOINTWORKDIRENVUS

2021-09-13 09:05:03 68

原创 CSS快速掌握

文章目录CSS 速记本单位相对长度绝对长度背景(background)background-sizebackground-imagebackground-originbackground-clip文本颜色文本对齐文本修饰文本大小写文本缩进字符间距单词间距空白处理垂直对齐文本换行文本溢出元素对齐技巧水平对齐元素水平居中对齐图片居中对齐左右对齐绝对定位方式float 方式垂直对齐使用 padding 对其中的元素进行垂直居中对齐水平&垂直居中使用 line-height 进行垂直居中使用 transfr

2021-09-12 08:15:09 330

原创 面向对象设计之设计模式(行为型篇)

文章目录面向对象设计之设计模式(行为型篇)责任链模式(Chain of Responsibility)优点使用场景命令模式(Command)优点适用场景解释器模式(Interpreter)优点适用场景迭代器模式(Iterator)优点适用场景备忘录模式(Memento)优点适用场景观察者模式(Observer)优点适用场景状态模式(State)优点适用场景策略模式(Strategy)优点适用场景模板方法模式(Template Method)优点适用场景访问者模式(Visitor)优点适用场景中介者模式(Me

2021-09-11 08:51:52 374

原创 面向对象设计之设计模式(结构型篇)

文章目录面向对象设计之设计模式(结构型篇)适配器模式(Adapter)优点缺点适用场景桥接模式(Bridge)优点缺点适用场景组合模式(Composite)优点缺点适用场景装饰模式(Decorator)优点缺点适用场景外观模式(Facade)优点缺点适用场景享元模式(Flyweight)优点缺点使用场景代理模式(Proxy)优点缺点使用场景面向对象设计之设计模式(结构型篇)主要用于如何组合已有的类和对象来获得更大的结构,它采用继承机制来组合接口或实现,以提供统一的外部视图或新的功能适配器模式(A

2021-09-10 08:53:03 560

原创 向对象设计之设计模式(创建型篇)

文章目录面向对象设计之设计模式(创建型篇)抽象工程模式(Abstract Factory)优点缺点适用场景生成器模式(Builder)优点缺点适用场景工厂方法模式(Factory Method)优点缺点适用场景原型模式(Prototype)优点缺点适用场景单例模式(Singleton)优点缺点适用场景面向对象设计之设计模式(创建型篇)把对象实例化过程进行抽象,通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息抽象工程模式(Abstract Factory)提供一个接口,用于创建

2021-09-09 09:21:04 185

原创 面向对象设计之设计原则

文章目录面向对象设计之设计原则面向对象设计的基础设计原则单一职责原则里氏代换原则依赖倒置原则接口隔离原则迪米特法则开闭原则其他原则封装变化,封装易变点Kiss 原则多用组合,少用继承面向对象设计之设计原则面向对象设计的基础抽象封装继承多态设计原则一切都是为了低耦合、高内聚的设计而努力面向对象有如下 6 个原则单一职责原则如果一个类有一个以上的职责,这些职责就耦合在了一起。这会导致脆弱的设计。当一个职责发生变化时,可能会影响其它的职责。另外,多个职责耦合在一起,

2021-09-09 09:13:46 65

原创 分布式与中间件

文章目录分布式与中间件NIOReactor原理Reactor 模式中的角色ReactorAcceptorHandler数据读压力越来越大Java 中间件的定义Java 代理静态代理动态代理数据拆分方式垂直拆分水平拆分垂直拆分带来如下影响水平拆分会带来如下影响数据访问层的设计如何对外提供数据访问层的功能对外提供给数据访问层的方式不同提供方式之间在合并查询场景下的对比按照数据层流程的数据看数据设计SQL解析阶段的处理规则处理阶段1.采用固定哈希算法作为规则2.一致性哈希算法带来的好处3.虚拟节点对一致性哈希的改

2021-09-08 09:14:14 173

原创 分布式 Java 应用基础

文章目录分布式 Java 应用基础框架远程调用方式大型分布式 Java 应用与 SOASOAESB分布式 Java 应用基础框架MinaNetty关键类以及调用方式远程调用方式RMI (Remote Method Invocation)远程过程调用是基于网络通信实现的RMI调用流程解析:1.RMI 服务器端通过启动 RMI 注册对象在一个端口上监听对外提供的接口,其实现以字符串的方式绑定到 RMI 注册对象上2.RMI 客户端通过 proxy 的方式代理了对服务器端接口的访问

2021-09-07 09:09:56 74

原创 如果你的 Java 应用把 CPU 100% 打满,该怎么办呢?

文章目录如果你的 Java 应用把 CPU 100% 打满,该怎么办呢?CPU 消耗过高分析上下文切换运行队列利用率定位引起 CPU 过高的代码如果你的 Java 应用把 CPU 100% 打满,该怎么办呢?JVM 调优,一般都是在负载压力测试情况下,对于单个节点对外提供服务出现瓶颈时,才会启用性能调优,而 JVM 调优只是其中的一部分。在进行 JVM 调优之前,我一般都会进行 CPU 消耗的分析、内存消耗的分析、磁盘 IO 的分析、网络 IO 的分析以及程序自身问题,在这些指标都正常的情况下,才会

2021-09-06 08:12:34 2241 2

原创 这些 JVM 的知识,足可以让你入门虚拟机调优了!

文章目录理解JVMJVM内部结构以及类加载机制JVM内部结构JVM类加载机制ClassLoader继承关系栈的体系结构JVM内存结构方法区堆本地方法栈PC寄存器和JVM方法栈内存管理内存分配(TLAB)内存回收引用计数器(SunJDK未采用)跟踪收集器复制(Copying)标记-清除(Mark-Sweep)标记-压缩(Mark-Compact)SunJDK中可用的GC对象的引用关系JVM内存状况查看方法和分析工具GC输出参数常用工具理解JVM理解JVM主要从以下三个方面进行:Java代码的执行

2021-09-05 08:17:05 88

原创 Java 集合类都在这里了,请带走!

文章目录Sun JDK集合包普通集合包ArrayListLinkedListArrayList vs. LinkedListVectorStackHashSetTreeSetHashMapTreeMap工具类CollectionsArrays并发集合包ConcurrentHashMapCopyOnWriteArrayListCopyOnWriteArraySetArrayBlockingQueueAtomicIntegerThreadPoolExecutorExecutors特殊的 Fork/Join 线程

2021-09-04 08:22:59 287 2

原创 FastDFS 的安装步骤

文章目录FastDFS 的安装步骤安装FastDFS (standalone)环境以及软件准备FastDFS 安装Nginx 安装启动测试集群安装 (cluster)配置Java 客户端使用引用依赖包Java Client Configapplication.ymlAPI概述FastDFS 的安装步骤安装FastDFS (standalone)环境以及软件准备ip: 192.168.13.33path: /tmp/fastdfs# 下载FastDFS安装包及Nginx模块插件mkdir /tm

2021-09-03 09:46:14 161

原创 FastDFS 是什么

文章目录FastDFSFastDFS 应用场景FastDFS 角色FastDFS 架构图FastDFS 文件标识上传与下载上传下载FastDFS 使用要点FastDFS下载恢复原始文件名FastDFS 从文件的使用技巧FastDFS 安装部署安装过后的FastDFS的结构FastDFS 监控FastDFSFastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。FastDFS 应用场景适合以文件

2021-09-03 09:38:34 3065

空空如也

空空如也

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

TA关注的人

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