自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

thinking-fish的博客

随便写写

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

原创 java线程详解01:Thread类详解

本文对Thread类的各个属性,方法进行详细介绍

2025-01-20 17:29:14 798

原创 Java中的volatile关键字

在Java编程中,volatile关键字扮演着重要的角色,尤其在处理多线程共享变量时。

2025-01-20 15:33:52 313

原创 基础篇:java线程创建

本文概述java创建线程的方法,同时介绍实际工作中最佳实践

2025-01-20 11:38:27 946

原创 基础篇:进程与线程基础

进程是指一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。它是操作系统中运行的应用程序,是资源分配的最小单位。从用户角度看,进程是程序的一次执行过程;从操作系统角度看,进程是分配CPU、内存、时间片等资源的基本单位。

2025-01-18 08:56:53 907

原创 分布式CAP理论介绍

介绍CAP理论,以及常用组件在CA、CP、AP上的取舍

2025-01-16 19:27:26 952

原创 Nginx反向代理架构介绍

Nginx的七层反向代理架构是一种强大的服务器架构模式,它位于用户和原始服务器之间,接收用户的请求并将其转发到一个或多个后端服务器,然后将从后端服务器获取的响应返回给用户,就好像这些内容都是由代理服务器本身直接提供的一样。以下是对Nginx七层反向代理架构的详细剖析:

2025-01-16 10:49:37 1292

原创 CDN 缓存策略

CDN(Content Delivery Network,内容分发网络)缓存策略是优化CDN性能、提高用户访问速度和降低源服务器负载的关键。以下是对CDN缓存策略的分析:

2025-01-15 17:10:36 880

原创 CDN基本概念

CDN(Content Delivery Network)即内容分发网络,其原理主要基于分布式节点技术和智能路由、负载均衡等技术,通过在全球不同地理位置部署服务器,将网站、应用、视频、音频等静态或动态资源内容分发到用户所在的最近节点,从而提高用户访问这些内容的速度和稳定性,降低网络拥塞和延迟。以下是CDN原理的详细解释:

2025-01-15 17:06:40 949

原创 DNS介绍(5):DNS 劫持及解决方案

DNS劫持是一种常见的网络攻击手段,但通过采取上述解决方案,用户可以有效地预防和应对这种攻击。同时,网络管理员也需要加强对网络的监控和管理,及时发现和解决DNS被劫持的问题。

2025-01-15 10:23:46 1231

原创 DNS介绍(4):产品选型

DNS(Domain Name System)产品选型是一个复杂的过程,需要考虑多个因素以确保选择的DNS产品能够满足企业的具体需求。以下是对DNS产品选型分析的详细探讨:

2025-01-15 10:19:18 630

原创 DNS介绍(3):应用场景

DNS(Domain Name System,域名系统)的应用场景非常广泛,它不仅在互联网的基础架构中扮演着关键角色,还在许多特定的场景中发挥着重要作用。以下是对DNS应用场景的详细分析:

2025-01-15 10:15:53 1130

原创 DNS介绍(2):DNS协议

DNS协议主要用于完成域名地址与IP地址之间的转换。域名是易于人类记忆的字符串,而IP地址则是网络上设备的唯一标识。DNS协议通过建立一个分布式数据库,将域名映射到相应的IP地址,使得用户可以通过输入域名来访问互联网上的资源。

2025-01-15 10:09:40 340

原创 DNS介绍(1):基本概念

DNS(Domain Name System,域名系统)协议是互联网的一项核心服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。以下是对DNS协议的详细分析:

2025-01-15 10:05:00 699

原创 注册中心及技术选型对比分析

注册中心是微服务架构中的核心组件之一,主要用于服务的管理和发现。

2025-01-14 16:24:26 757

原创 服务网关及技术选型对比分析

在选择服务网关技术时,需要根据企业的实际需求和场景进行综合考虑。对于使用Spring Cloud生态的企业来说,Spring Cloud Gateway是一个不错的选择;如果需要高度定制化和扩展性,可以考虑Kong;如果需要在容器化部署的微服务架构中使用,Traefik是一个值得考虑的选择;而Zuul则适合与Netflix的其他组件一起使用。此外,Nginx也是一个性能卓越、广泛使用的选择,但可能不太适合处理高级微服务方案。在实际应用中,还需要结合具体的业务场景、技术栈以及性能需求等因素进行权衡和决策。

2025-01-14 16:13:51 842

原创 LVS四层反向代理

对LVS四层反向代理架构的详细剖析

2025-01-14 15:22:09 716

原创 Linux下安装Redis基本步骤

redis基本安装,解决安装过程中常见问题

2024-10-29 11:13:52 614

原创 【kafka】主题topic

本文介绍kafka topic的相关操作,以及深入底层逻辑

2024-09-20 10:46:16 2860

原创 【kafka】基本概念

kafka基本概念:包括主题、分区、副本、以及详细介绍副本机制

2024-09-18 20:36:54 1450 1

原创 【kafka】生产者

如果生产者发送消息的速度超过发送到服务器的速度,则会导致生产者空间不足,这个时候KafkaProducer的send(​)方法调用要么被阻塞,要么抛出异常,这个取决于参数max.block.ms的配置,此参数的默认值为60000,即60秒。增大这个参数的值会增加消息的延迟,但是同时能提升一定的吞吐量。方法的返回值是一个Future类型的对象,那么完全可以用Java语言层面的技巧来丰富应用的实现,比如使用Future中的 get(long timeout,TimeUnit unit)方法实现可超时的阻塞。

2024-09-13 15:46:39 902 2

原创 软件架构原则:SOLID

SOLID设计原则概述

2024-06-14 15:14:04 1032

原创 【DIP】依赖倒置原则

依赖倒置原则(The Dependency Inversion Principle, DIP)主要想告诉我们的是,如果想要设计一个灵活的系统,在源代码层次的依赖关系中就应该多引用抽象类型,而非具体实现。按照DIP原则,对于Java这类静态类型的编程语言中,在使用use、import、include这些语句时应该只引用那些包含接口、抽象类或者其他抽象类型声明的源文件,不应该引用任何具体实现。当然,在实际的软件系统构造中,肯定会在所难免地遇到依赖具体的实现。

2024-06-04 19:41:57 1096

原创 【ISP】接口隔离原则

SRP约束了类职责的内聚性,而对于另一类抽象体——“接口”的设计也有相应的内聚性要求,这就是接口隔离原则(The Interface Segregation Principle, ISP)。ISP描述的是:使用多个专门的接口比使用单一的总接口要好。也就是一个接口应当简单地代表一个角色,而不是多个角色。如果系统涉及多个角色,那么每一个角色都应该由一个特定的接口代表。ISP的目的是为不同角色提供宽窄不一的接口,以对付不同的客户端。这种办法在服务行业中称为定制服务。也就是说,我们只提供给客户端需要的方法。

2024-06-04 15:27:23 368

原创 【SRP】单一职责原则

SRP(The Single Responsibility Principle)描述了一种设计要求:“对一个类而言,应该只有一类功能相关的职责。SRP经常被误解成:每个模块都应该只做一件事。这也是一个原则,指的是底层实现原则,例如把大函数拆解成功能单一的小函数。这并不是SRP的全部。功能内聚,是指模块内所有元素共同完成一个功能,缺一不可,模块不能再被分割,对于类设计来说,单个类也应保持高内聚,即达到功能内聚,也就是:“对一个类而言,应该只有一类功能相关的职责。

2024-06-03 19:56:03 1050

原创 【OCP】开闭原则

开闭原则(The Open-Close Principle, OCP)是Bertrand Meyer在1988年提出的,该设计原则认为:设计良好的计算机软件应该易于扩展,同时抗拒修改。什么样的设计才能应对需求的变更,且可以保持相对稳定呢?这就是开放—封闭原则(The Open-Close Principle, OCP)所要解答的问题。“开放”和“封闭”这两个互相矛盾的术语分别用于实现不同的目标。

2024-05-31 15:55:38 1030

原创 【LSP】里氏替换原则

1988年,Barbara Liskov在描述如何定义子类型时写下了这样一段话:这里需要的是一种可替换性:如果对于每个类型是S的对象o1都存在一个类型为T的对象o2,能使操作T类型的程序P在用o2替换o1时行为保持不变,我们就可以将S称为T的子类型。反过来讲:假设某个函数f(),它的参数是指向某个基类B的指针或者引用;与此同时,存在B的某个派生类D,如果把D的对象作为B类型传递给f(),就会导致f()出现错误的行为。那么此时D就违反了LSP;因为用D的对象替换B的对象后,f()的行为发生了变化。

2024-05-29 20:12:56 682

原创 静态内部类介绍与使用场景

java中 用static 修饰的类为静态类,静态类只能是内部类;内部静态类,是外部类的成员,可以访问外部类成员(包括私有成员),但因为有static约束,和静态方法类似,只能访问静态成员/方法,不能访问普通成员/方法//外部类 public class Outer {//静态成员 private static int static_parm_out;//普通成员 private int parm_out;} //内部静态类 static class InnerStatic {

2023-03-21 10:45:05 734 1

原创 Jupyte修改默认工作路径

Jupyte 默认工作路径并不是我们希望的地方,修改Jupyte默认工作路径需要1 找到Jupyte 配置路径在cmd命令行下输入:jupyter notebook --generate-config2 修改 jupyter_notebook_config.py在jupyter_notebook_config.py文件中查找 “notebook_dir”配置项,将其改为自己希望的工作路...

2020-02-19 18:20:39 231

原创 python mandelbrot

mandelbrot python代码实现 mandelbrotpython代码实现 mandelbrotimport numpy as npimport matplotlib.pyplot as pltdef mandelbrot(h, w, maxit = 20): """Returns an image of the Mandelbrot fractal of size (h...

2019-10-22 19:19:30 326

原创 Zookeeper设置监视点

Zookeeper的API中的getData、getChildren和exists均可选择在读取的znode 上设置监视点。使用监视点,我们可以使用Watcher接口在process(WatchedEvent event)中捕获event1. WatchEvent说明zk会话状态:KeeperState public void process(WatchedEvent watched...

2019-07-16 21:21:41 745

原创 超详细的Linux权限说明

1. 文件权限说明在linux执行命令“ll”或者“ls -l”时会列出当前路径下的索引文件、文件夹;其中前10位包含了类型、与权限信息如:其中第一位表示类型,余下9位表示3组权限2. 文件类型说明类型用一位字符表示,具体字符代表类型如下:类型字符说明-表示文件d表示目录l表示连接c表示字符设备 1b表示块设备2n表示网...

2019-07-11 14:22:53 1616

原创 Kafka常用命令(1):kafka-topics

Kafka常用命令之:kafka-topics创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入kafka 的命令都在kafka的安装目录下的bin目录下,其中kafka-topics.sh主要与Topic操作有关的命令可以通过命令...

2019-05-14 20:08:50 1974

原创 Kafuka查看版本的方法

kafka 查看版本方法:定位到kafka的安装目录,然后执行以下脚本find ./libs/ -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*'执行结果:运行结果:kafka_2.12-1.1.0-sources.jar,其中2.12表示Scala版本;1.1.0表示kafka版本!...

2019-05-13 14:27:57 3095

原创 什么是大数据?

“大数据”是一个术语,用来描述一种数据集,它及其庞大、复杂,以至于畅通的数据处理应用程序难以应对。术语“大数据”通常指的是应用预测分析、用户行为分析或者某些其他从数据中提取有价值信息的高级数据分析方法,并不是专指某特定规模的数据集。——维基百科大数据的概念按照维基百科的定义,主要从两个反面解释了“大数据”的概念:满足“大数据”首先要数据量巨大,巨大到什么程度哪?就是传统的数据处理程...

2019-04-11 21:32:09 838

Database .NET

一个直观的、轻量多数据库管理工具,支持excel、access、sqlite、mysql等; 无需安装直接运行.exe文件即可; 支持对本地或远程的数据库进行查询、修改等操作;

2024-10-30

空空如也

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

TA关注的人

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