宇宙湾

厚积薄发

介绍 Linux 相关的命令、Shell 编程、实用技巧、优化实战和系统架构相关知识。

阅读全文 »

Welcome

 Welcome to My Blog!

博客介绍

 吾生有涯而学无涯,以有涯而逐无涯(有点断章取义,不过追寻知识的热情是必要的)

大事件纪实

宇宙湾 - 大事件纪实
2014Nov01st

混沌初开

建站第一天

2015Jan01st

模糊的记忆

Hexo 框架 / next 主题 / 七牛图床 / Gulp 压缩 / 静态资源 CDN / 支持 MathJax

2017Apr10th

多说关闭

评论系统切换为 Disqus

2017Apr22nd

Order by Update

文章以最后更新时间倒排展示(避免养成隔一段时间水一篇的坏习惯)

2017May25th

Aliyun 备案

苏 ICP

2017Oct10th

全站 HTTPS

TrustAsia 域名证书

2017Nov15th

Coding.net

静态页面从 github.io 切换为 coding.net(香港服务器)

2017Nov19th

不蒜子 502

页面统计切换为 Lean Cloud,之前的 PV / UV 统计无奈清零

2017Nov20th

DDoS 攻击解除

回归不蒜子

2018May29th

Gitment

延迟加载 Gitment

2019Apr20th

回归 Github Page

Github Page 开始支持 HTTPS

2019Apr21st

全站 CDN

阿里云 DCDN

2019Apr27th

简繁切换

支持简体与繁体切换

2019May01st

支持 Gitalk

Gitment 验证存在跨域问题,而 Gitalk 可以无缝迁移

2019May02nd

支持 DaoVoice

可以匿名留言,在线沟通

2019May11th

暂闭 DaoVoice

出于其服务稳定性的考量,暂时关闭

2019May11th

设计 Logo

新 Logo 寓意着浩瀚宇宙中的一处安心的港湾

2020Jan01st

源站迁移

全站迁移至阿里云 OSS,代替 Github Page 作为源站

2020Feb09th

镜像网站

搭建镜像网站 yuzhouwan.github.io

2023Mar18th

GPT 加持

使用 GPT-4 模型进行网站优化

阅读全文 »

介绍 Maven 工具的实用技巧,以及如何解决一些常见的问题,包括本地缓存、下载、编译、语法、依赖和相关插件等问题。

阅读全文 »

ElasticSearch 是什么?

 ElasticSearch™ 是一款基于 Lucene 的搜索引擎,不但稳定、可靠、快速,同时具备良好的水平扩展能力

特性

  • 功能丰富,且开箱即用
  • 横向可扩展性
  • 分片机制更好地解决热点问题
  • 多副本有效保证了高可用
  • 精确的熔断器机制
  • 社区庞大,生态完善

主要概念

Cluster 集群

 在一个分布式系统里面,可以通过多个 ElasticSearch 节点组成一个集群。集群中会动态选举出一个主节点,保证了 ElasticSearch 集群不存在单点故障
 在同一子网内,只需要将进程设置为相同的集群名,ElasticSearch 就会把这些集群名相同的进程自动组成一个集群。集群中各节点间的通讯和数据负载均衡,全部都由 ElasticSearch 自动管理

Node 节点

 每一个 ElasticSearch 进程称为一个 Node 节点。在测试环境中,可以在一台服务器上运行多个 ElasticSearch 进程;但生产环境中,则建议每台服务器只运行一个 ElasticSearch 进程

Index 索引

 ElasticSearch 中的索引是文档数据存储的地方,相当于是传统关系数据库中的 DataBase 概念。更多逻辑上的对应关系,如下表所示:

Relational DB HBase ElasticSearch 说明
Database NameSpace Template 一组索引的模板配置
Table Table Index 索引
Row RowKey Document 文档,和 Lucene 概念一致
Column + Value Cell Field 如果将文档理解为 JSON,那么 Field 就是字段和值
- - Term 检索的基本单位,相当于是文本中的一个词
- - Token Term 内容、类型,以及 Term 在文本中的起始及偏移
目前最新的 ElasticSearch 7.x 版本里面已经废弃了 Type 的概念
阅读全文 »

什么是 JVM?

 A Java Virtual Machine(JVM)is an abstract computing machine that enables a computer to run a Java program.

为什么要有 JVM?

跨平台性

 JVM 的存在,使得 Java 程序 能够轻易地在多平台上移植,基本上脱离了对硬件的依赖性(这也满足了 David Parnas 的 “信息隐藏” 准则)

多语言性

 因为底层 JIT 编译优化、高效 GC、JUC 对多线程并发编程的支持,以及社区中海量成熟的库 等优点,使得很多语言都开发出可运行在 JVM 上的版本

 同时,多语言混合编程成为一种趋势,在需要快速开发、灵活部署 和 针对特定问题的 DSL 等场景下,选择恰当的 JVM-hosted language,可以最大化原有代码的价值

 那么,在日常的开发过程中,究竟应该如何运用 JVM 的知识,来逐步提高实际编程水平呢? 上下而求索后,找到了以下几个层面作为出发点

阅读全文 »