首页
学习
活动
专区
工具
TVP
发布

琦小虾的Binary

专栏成员
125
文章
221997
阅读量
46
订阅数
Linux 语法——cat
cat 是一个文本文件查看和连接工具,用于查看一个文件的内容。cat 使用比较简单,就是 cat 后面直接接文件 名。 比如:
剑影啸清寒
2021-12-08
5.2K0
Lucene基本知识入门
Lucene 是一套用于全文检索和搜寻的开源程序库,提供了一个简单却强大的 API,能够做全文索引和搜寻。在 Java 开发环境里,Lucene 是一个成熟的免费开放源代码工具,它并不是现成的搜索引擎产品,但可以用来制作搜索引擎产品。Solr 和 ElasticSearch 都是基于 Lucene 开发的企业级的搜索引擎产品。 Lucene 的 API 来实现对索引的增(创建索引)、删(删除索引)、改(修改索引)、查(搜索数据)。
剑影啸清寒
2020-07-20
8480
ElasticSearch基本总结
ES=elaticsearch简写, Elasticsearch是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。
剑影啸清寒
2020-07-20
6680
Nginx技术总结之四——集群和负载均衡的算法与实现
负载均衡器可以是专用设备,也可以是在通用服务器上运行的应用程序。 分散请求到拥有相同内容或提供相同服务的服务器。 专用设备一般只有以太网接口,可以说是多层交换机的一种。 负载均衡器一般会被分配虚拟IP地址,所有来自客户端的请求都是针对虚拟IP地址完成的。负载均衡器通过负载均衡算法将来自客户端的请求转发到服务器的实际IP地址上。
剑影啸清寒
2020-07-20
6400
Nginx技术总结之三——Nginx多进程IO模型
首先,对于每个 worker 进程来说,独立的进程不需要加锁,所以省掉了锁带来的开销,同时在编程以及问题查找时,也会方便很多。 其次,采用独立的进程,可以让互相之间不会影响,一个进程退出后,其它进程还在工作,服务不会中断,master 进程则很快启动新的 worker 进程。当然,worker 进程的异常退出,肯定是程序漏洞导致异常退出,这样会导致当前 worker 上的所有请求失败,不过不会影响到所有请求,所以降低了风险。
剑影啸清寒
2020-07-20
1.2K0
Nginx技术总结之二——Nginx进程模型
master 进程主要用来管理 worker 进程,包含:接收来自外界的信号,向各 worker 进程发送信号,监控 worker 进程的运行状态,当异常情况下 worker 进程退出后,会自动重新启动新的 worker 进程。 master 进程充当整个进程组与用户的交互接口,同时对进程进行监护。它不需要处理网络事件,不负责业务的执行,只会通过管理 worker 进程来实现重启服务、平滑升级、更换日志文件、配置文件实时生效等功能。 我们要控制 Nginx,只需要通过 kill 向 master 进程发送信号就行了。比如 kill -HUP pid,我们一般用这个信号来重启 Nginx,或重新加载配置。因为是从容地重启,因此服务是不中断的。master 进程在接收到 HUP 信号后是怎么做的呢?首先 master 进程在接到信号后,会先重新加载配置文件,然后再启动新的 worker 进程,并向所有老的 worker 进程发送信号,告诉他们可以光荣退休了。新的 worker 在启动后,就开始接收新的请求,而老的 worker 在收到来自 master 的信号后,就不再接收新的请求,并且在当前进程中的所有未处理完的请求处理完成后,再退出。
剑影啸清寒
2020-07-20
1.9K0
Nginx技术总结之一——Nginx模块与工作原理
Nginx 由内核和模块组成。其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个 location block(location 是 Nginx 配置中的一个指令,用于 URL 匹配),而在这个 location 中所配置的每个指令,将会启动不同的模块去完成相应的工作。 Nginx 的模块从结构上分为核心模块、基础模块和第三方模块:
剑影啸清寒
2020-07-20
9871
JVM技术总结之七——volatile关键字
Volatile 变量具有 synchronized 的可见性特性,但是不具备原子特性。它有两条特性:
剑影啸清寒
2020-07-20
5460
JVM技术总结之六——JVM的锁优化
由于需要限制不同的程序之间的访问能力,防止他们获取别的程序的内存数据,或者获取外围设备的数据,CPU 划分出两个权限等级:用户态和内核态。
剑影啸清寒
2020-07-20
5720
JVM技术总结之五——JVM逃逸分析
一个对象(或变量)在方法中处理完毕返回时,返回结果可能会被其他对象引用,或者全局引用,这种现象即为逃逸。或者可以说,一个对象指针被多个线程或方法引用时,该对象指针就是逃逸状态。
剑影啸清寒
2020-07-20
3450
JVM技术总结之四——JVM内存结构
每个线程由多个栈帧构成,每个栈帧包含线程中该方法的处理信息。栈帧由四部分组成:局部变量表、操作数栈、动态链接、方法返回地址。
剑影啸清寒
2020-07-20
4170
JVM技术总结之三——类加载机制
Java 类的加载过程主要分为五步:加载、验证、准备、解析、初始化。其中验证、准备、解析可以合称为连接。此外,这五步的顺序并不是完全固定的,比如为了支持动态绑定,解析的过程可以放在初始化之后。类的加载过程如下图所示:
剑影啸清寒
2020-07-20
4630
JVM技术总结之二——GC机制
GC 的机制是什么?垃圾回收器的基本原理是什么?是否可以立即回收内存?怎么样主动的通知 JVM 进行垃圾回收?
剑影啸清寒
2020-07-20
4250
JVM技术总结之一——JVM调优
Serial + Serial Old 收集器:两者都是串行收集器;Serial 收集器用于新生代的 Minor GC,单线程的 STW GC;Serial Old 收集器用于旧生代,单线程的 STW Full GC;
剑影啸清寒
2020-07-20
4400
Java并发技术总结之六——Java锁分类
《[死磕 java同步系列之ReentrantLock源码解析(一)——公平锁、非公平锁]》)
剑影啸清寒
2020-07-15
3670
Java并发技术总结之五——AQS
AQS (AbustactQueuedSynchronizer) 是 Java 提供的底层同步工具类,主要思想是用一个 int 类型的变量表示同步状态,以及一个双链表形式的同步队列,并提供了一系列的 CAS (Compare And Swap) 操作来管理这个同步状态。 AQS 的主要作用是为 Java 中的并发同步组件提供统一的底层支持,例如 ReentrantLock,CountDownLatch 就是基于 AQS 实现的,实现方法是通过继承 AQS 实现其模版方法,然后将子类作为同步组件的内部类。
剑影啸清寒
2020-07-15
3730
ZooKeeper 技术知识总结之一——Leader选举算法
在3.4.0后的Zookeeper的版本只保留了TCP版本的FastLeaderElection选举算法。当一台机器进入Leader选举时,当前集群可能会处于以下两种状态:
剑影啸清寒
2020-07-15
6550
ZooKeeper 技术知识总结之二——ZK 惊群与脑裂
ZooKeeper 的节点通常可以作为分布式锁来使用。比如可以多个服务对同时竞争申请一个节点 “/test/lock”,创建成功的服务获取到这个锁,其他没创建成功的监听这个锁,等到这个锁释放后再重新申请该锁。这样就实现了简单的分布式锁。 但同时在大量锁的情况下会有**“惊群”**的问题。“惊群”就是在一个节点删除的时候,大量对这个节点的删除动作有订阅Watcher的线程会进行回调,这对Zk集群是十分不利的。所以需要避免这种现象的发生。
剑影啸清寒
2020-07-15
1.8K0
Java并发技术总结之一——Java线程池
注:1, 2, 3 步骤在 ThreadPoolExecutor # execute(Runnable command) 方法中;
剑影啸清寒
2020-07-15
4460
Java并发技术总结之二——ThreadLocal
ThreadLocal 用来保证规避多线程访问线程不安全的情况,每个线程访问自己的副本变量,这样就避免了对资源的抢占导致数据不一致的问题。
剑影啸清寒
2020-07-15
3350
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档