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

琦小虾的Binary

专栏成员
125
文章
218336
阅读量
46
订阅数
Lucene基本知识入门
Lucene 是一套用于全文检索和搜寻的开源程序库,提供了一个简单却强大的 API,能够做全文索引和搜寻。在 Java 开发环境里,Lucene 是一个成熟的免费开放源代码工具,它并不是现成的搜索引擎产品,但可以用来制作搜索引擎产品。Solr 和 ElasticSearch 都是基于 Lucene 开发的企业级的搜索引擎产品。 Lucene 的 API 来实现对索引的增(创建索引)、删(删除索引)、改(修改索引)、查(搜索数据)。
剑影啸清寒
2020-07-20
8330
Nginx技术总结之四——集群和负载均衡的算法与实现
负载均衡器可以是专用设备,也可以是在通用服务器上运行的应用程序。 分散请求到拥有相同内容或提供相同服务的服务器。 专用设备一般只有以太网接口,可以说是多层交换机的一种。 负载均衡器一般会被分配虚拟IP地址,所有来自客户端的请求都是针对虚拟IP地址完成的。负载均衡器通过负载均衡算法将来自客户端的请求转发到服务器的实际IP地址上。
剑影啸清寒
2020-07-20
6200
JVM技术总结之七——volatile关键字
Volatile 变量具有 synchronized 的可见性特性,但是不具备原子特性。它有两条特性:
剑影啸清寒
2020-07-20
5350
JVM技术总结之五——JVM逃逸分析
一个对象(或变量)在方法中处理完毕返回时,返回结果可能会被其他对象引用,或者全局引用,这种现象即为逃逸。或者可以说,一个对象指针被多个线程或方法引用时,该对象指针就是逃逸状态。
剑影啸清寒
2020-07-20
3380
JVM技术总结之三——类加载机制
Java 类的加载过程主要分为五步:加载、验证、准备、解析、初始化。其中验证、准备、解析可以合称为连接。此外,这五步的顺序并不是完全固定的,比如为了支持动态绑定,解析的过程可以放在初始化之后。类的加载过程如下图所示:
剑影啸清寒
2020-07-20
4570
JVM技术总结之一——JVM调优
Serial + Serial Old 收集器:两者都是串行收集器;Serial 收集器用于新生代的 Minor GC,单线程的 STW GC;Serial Old 收集器用于旧生代,单线程的 STW Full GC;
剑影啸清寒
2020-07-20
4350
Java并发技术总结之五——AQS
AQS (AbustactQueuedSynchronizer) 是 Java 提供的底层同步工具类,主要思想是用一个 int 类型的变量表示同步状态,以及一个双链表形式的同步队列,并提供了一系列的 CAS (Compare And Swap) 操作来管理这个同步状态。 AQS 的主要作用是为 Java 中的并发同步组件提供统一的底层支持,例如 ReentrantLock,CountDownLatch 就是基于 AQS 实现的,实现方法是通过继承 AQS 实现其模版方法,然后将子类作为同步组件的内部类。
剑影啸清寒
2020-07-15
3640
Java并发技术总结之二——ThreadLocal
ThreadLocal 用来保证规避多线程访问线程不安全的情况,每个线程访问自己的副本变量,这样就避免了对资源的抢占导致数据不一致的问题。
剑影啸清寒
2020-07-15
3300
Java并发技术总结之四——CAS
CAS (Compare And Swap),即比较并交换,是解决多线程并行情况下使用锁造成性能损耗的一种机制。在 JAVA 中,sun.misc.Unsafe 类提供了硬件级别的原子操作来实现 CAS。 java.util.concurrent 包下的大量类 (AtomicInteger, AtomicBoolean, AtomicLong, … )都使用了这个 Unsafe.java 类的 CAS 操作。至于 Unsafe.java 的具体实现这里就不讨论了。 CAS 本身是一种乐观锁的实现方式,在 Java 中的运用很多:
剑影啸清寒
2020-07-15
4460
数据结构技术知识总结之二——BTree
B-Tree 是 2-3 树的一种变形,可以设置度数 M,每个节点上最多可以有 M 个值;根据硬盘读取时的预读原理,磁盘读取时每次从磁盘上预读 page 容量(一般为 1024 字节)的整数倍,所以对于硬盘来说,可以将度设为 1024,这样就硬盘文件的索引就建立完毕,形成了一个 B-Tree 结构;
剑影啸清寒
2020-07-15
6990
Spring技术知识点总结之七——Spring的设计模式
接上篇《Spring技术知识点总结之六——Spring 事务传播等级》 七. SpringBean 的设计模式? 7.1 简单工厂(非23种设计模式中的一种) 参考地址:《【小家Spring】Spring的Bean定义注册中心BeanDefinitionRegistry详解》 实现方式:BeanFactory。 Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象,但是在传入参数后创建,还是传入参数前创建,这个要根据具体情况来定。 实质:由一个工厂
剑影啸清寒
2020-07-10
3520
Spring技术知识点总结之四——Spring Bean 的生命周期
接上篇《Spring技术知识点总结之三——Spring Bean 的注入过程》 四. Spring Bean 的生命周期 BeanFactory 中 Bean 的生命周期: 实例化:以 InstantiationAwareBeanPostProcessor 接口方法为包装,进行实例化过程。该接口主要功能有三个:实例化前预处理、实例化后预处理、设置属性值预处理; 实例化前预处理:InstantiationAwareBeanPostProcessor # postProcessBeforeInstanti
剑影啸清寒
2020-07-10
3230
Spring技术知识点总结之一——循环依赖
在 Spring 中获取一个 Bean,是通过获取 BeanDefinition 实现的:在定义 Bean 信息的 XML 文件中,BeanDefinitionReader 读取指定路径下的 XML 文件,获取 Bean 定义信息并封装成 BeanDefinition 对象,该实例对象包含依赖关系信息 dependsOn。通常依赖关系是在 XML 的 p:xxx-ref,或者通过类的 @Autowired 等手段实现的。
剑影啸清寒
2020-07-10
4380
Netty技术知识点总结
Netty 服务端与客户端都是由 Bootstrap 引导程序开始的,对于服务端,引导类是 ServerBootstrap,对于客户端,引导类是 Bootstrap。
剑影啸清寒
2020-07-10
9400
Dubbo技术知识总结之五——Dubbo远程调用
上篇《Dubbo技术知识总结之四——Dubbo集群容错》的七个步骤中,前四个步骤是 Cluster 层的工作。远程调用是后续步骤 5, 6, 7 的内容,同时也是 Cluster 层以下的工作。该部分对 Dubbo 远程调用的基础与实现进行总结,包括 Dubbo 协议,编解码器,Dubbo 线程模型。
剑影啸清寒
2020-07-09
1.3K0
Redis技术知识总结之七——Redis多路复用机制
redis 是一个单线程却性能非常好的内存数据库, 主要用来作为缓存系统。 redis 采用网络IO多路复用技术来保证在多连接的时候, 系统的高吞吐量。 为什么 Redis 中要使用 I/O 多路复用这种技术呢? 首先,Redis 是跑在单线程中的,所有的操作都是按照顺序线性执行的,但是由于读写操作等待用户输入或输出都是阻塞的,所以 I/O 操作在一般情况下往往不能直接返回,这会导致某一文件的 I/O 阻塞导致整个进程无法对其它客户提供服务,而 I/O 多路复用就是为了解决这个问题而出现的。 redis的io模型主要是基于epoll实现的,不过它也提供了 select和kqueue的实现,默认采用epoll。 那么epoll到底是个什么东西呢? 其实只是众多i/o多路复用技术当中的一种而已,但是相比其他io多路复用技术(select, poll等等)。
剑影啸清寒
2020-07-09
2.9K0
Redis技术知识总结之四——Redis内存优化
了解 redis 的内存模型,对优化 redis 内存占用有很大帮助。下面介绍几种优化场景。
剑影啸清寒
2020-07-09
5630
Redis技术知识总结之一——Redis 的数据结构
Redis 常用的数据类型主要有:String, List, Hash, Set, ZSet 五种,它们分别对应的底层数据结构有:
剑影啸清寒
2020-07-09
8120
JavaSE 基础学习之六 —— Java 的反射操作
万事万物都是对象。我们平常接触到的类,本身也是一种对象,它的类型是 Class,也可以说 Class 是类的类型,即类类型 (Class Type);任何一个类,都是 java.lang.Class 的一个实例对象。
剑影啸清寒
2019-05-26
4850
LeetCode Problem 3: Longest Substring Without Repeating Characters
Given a string, find the length of the longest substring without repeating characters.
剑影啸清寒
2019-05-26
3440
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档