git常用命令行 Git Tips安装卸载官方教程,在 Linux/Unix 系统中,通过工具在中安装 git,这种方式比较简单,便于升级卸载工具。 下面介绍在 CentOS 系统中,通过 yum 来安装 git Red Hat Enterprise Linux, Oracle Linux, CentOS, Scientific Linux, et al.RHEL and derivatives typ 2022-11-17 命令行
总结JVM参数使用手则 内存相关通过这些参数可以对JVM的内存分配做调整 Xms 英文解释:Initial heap size(in bytes) 中文释义:堆区初始值 使用方法:-Xms2g 或 -XX:InitialHeapSize=2048m Xmx 英文解释:Maximum heap size(in bytes) 中文释义:堆区最大值 使用方法:-Xmx2g 或 -XX:MaxHeap 2022-11-17 java
Netty 的 Channel、Promise、Pipeline 详解 Netty Demo 示例首先通过一个示例来分析,创建一个 NioServerSocketChannel 监听本机端口 11111 的 Socket 连接,将收到的消息原样返回;然后再创建一个 NioSocketChannel,发起对本机的 11111 端口的 Socket 连接,发送字符串 ”Netty rocks!“。预期能收到服务端返回的 “Netty rocks!” 响应。 Maven 依 2022-10-26 组件&中间件知识
Lucene、Elasticsearch、Kibana 入门教程和环境搭建 信息检索模型信息检索模型最重要的概念就是倒排索引,倒排索引是搜索引擎中常见的索引方法,用来存储在全文搜索下某个单词在一个文档中存储位置的映射。通过倒排索引,我们输入一个关键词,可以非常快地获取包含这个关键词的文档列表。 LuceneLucene 是一个基于 Java 的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。Lucene 目前是 Apache Ja 2022-07-03 组件&中间件知识
JVM G1 GC 的算法与实现 G1GC 是什么?G1GC(Garbage First Garbage Collection)是在 OpenJDK 7 中引入的 GC 算法,其最大的特点就是非常重视实时性。 一些基本概念实时性程序具有实时性,是指程序必须能在最后期限(deadline)之前完成,其中最后期限可以自由指定。实时性分为两种: 硬实时性(hard real-time):每次处理的时间都不能超过最后期限,比如医疗机器人 2022-03-16 java
Netty HashedWheelTimer 时间轮源码详解 背景HashedWheelTimer 本质是一种类似延迟任务队列的实现,适用于对时效性不高的,可快速执行的,大量这样的“小”任务,能够做到高性能,低消耗。 时间轮是一种非常惊艳的数据结构。其在 Linux 内核中使用广泛,是 Linux 内核定时器的实现方法和基础之一。Netty 内部基于时间轮实现了一个 HashedWheelTimer 来优化 I/O 超时的检测。 因为 Netty 2022-03-02 组件&中间件知识
Java Features from Java 8 to Java 17 文章原文链接:https://reflectoring.io/java-release-notes/#diamond-syntax-with-inner-anonymous-classes A lot has changed in Java from its beginnings in 1995 until today. Java 8 was a revolutionary release tha 2021-12-06 java
Java Stream 源码分析 前言Java 8 的 Stream 使得代码更加简洁易懂,本篇文章深入分析 Java Stream 的工作原理,并探讨 Steam 的性能问题。 Java 8 集合中的 Stream 相当于高级版的 Iterator,它可以通过 Lambda 表达式对集合进行各种非常便利、高效的聚合操作(Aggregate Operation),或者大批量数据操作 (Bulk Data Operation)。 2021-12-03 java
Java String 演进全解析 前言String 是我们使用最频繁的对象,使用不当会对内存、程序的性能造成影响,本篇文章全面介绍一下 Java 的 String 是如何演进的,以及使用 String 的注意事项。 下面的输出结果是什么?123456789@Testpublic void testString() { String str1 = "abc"; String str2 = n 2021-11-29 java
Java NIO、Channel、Selector 详解 Java NIO 有三大组件: Buffer Channel Selector BufferBuffer 是一个特定原始类型的容器。Buffer 是一个原始类型的线性的、有限序列,除了 Buffer 存储的内容外,关键属性还包括:capacity, limit 和 position。 capacity:Buffer 包含的元素的数量,capacity 永远不会为负,也不会改变。 limit: 2021-10-14 java