GithubHelp home page GithubHelp logo

dunwu / blog Goto Github PK

View Code? Open in Web Editor NEW
821.0 821.0 229.0 78.09 MB

:dart: 钝悟的博客

Home Page: https://dunwu.github.io/blog/

License: Creative Commons Attribution Share Alike 4.0 International

JavaScript 15.17% Shell 84.83%
blog hexo technology

blog's Introduction

logo

star fork build code style

blog

💧 Blog 是一个十年 Java 程序员的博客。

Java

Java 面试总结 💯

JavaSE

  • Java 正则从入门到精通 - 关键词:PatternMatcher捕获与非捕获反向引用零宽断言贪婪与懒惰元字符DFANFA
  • Java 编码和加密 - 关键词:Base64消息摘要数字签名对称加密非对称加密MD5SHAHMACAESDESDESedeRSA
  • Java 国际化 - 关键词:LocaleResourceBundleNumberFormatDateFormatMessageFormat
  • Java JDK8 - 关键词:StreamlambdaOptional@FunctionalInterface
  • Java SPI - 关键词:SPIClassLoader

img

img

  • Java IO 模型 - 关键词:InputStreamOutputStreamReaderWriter阻塞
  • Java NIO - 关键词:ChannelBufferSelector非阻塞多路复用
  • Java 序列化 - 关键词:SerializableserialVersionUIDtransientExternalizablewriteObjectreadObject
  • Java 网络编程 - 关键词:SocketServerSocketDatagramPacketDatagramSocket
  • Java IO 工具类 - 关键词:FileRandomAccessFileSystemScanner

img

img

JavaEE

JavaWeb

Java 服务器

Tomcat 和 Jetty 都是 Java 比较流行的轻量级服务器。

Nginx 是目前最流行的反向代理服务器,也常用于负载均衡。

Java 软件

Java 构建

Java 项目需要通过 构建工具 来管理项目依赖,完成编译、打包、发布、生成 JavaDoc 等任务。

  • 目前最主流的构建工具是 Maven,它的功能非常强大。
  • Gradle 号称是要替代 Maven 等构件工具,它的版本管理确实简洁,但是需要学习 Groovy,学习成本比 Maven 高。
  • Ant 功能比 Maven 和 Gradle 要弱,现代 Java 项目基本不用了,但也有一些传统的 Java 项目还在使用。

Java IDE

自从有了 IDE,写代码从此就告别了刀耕火种的蛮荒时代。

  • Eclipse 是久负盛名的开源 Java IDE,我的学生时代一直使用它写 Java。
  • 曾经抗拒从转 Intellij Idea ,但后来发现真香,不得不说,确实是目前最优秀的 Java IDE。
  • 你可以在 vscode 中写各种语言,只要安装相应插件即可。如果你的项目中使用了很多种编程语言,又懒得在多个 IDE 之间切换,那么就用 vscode 来一网打尽吧。

Java 监控诊断

监控/诊断 工具主要用于 Java 应用的运维。通过采集、分析、存储、可视化应用的有效数据,帮助开发者、使用者快速定位问题,找到性能瓶颈。

Java 工具

Java IO

JavaBean 工具

Java 模板引擎

Java 测试工具

其他

Java 框架

Spring

综合
核心
数据
Web
IO
集成
其他

ORM

安全

Java 领域比较流行的安全框架就是 shiro 和 spring-security。

shiro 更为简单、轻便,容易理解,能满足大多数基本安全场景下的需要。

spring-security 功能更丰富,也比 shiro 更复杂。值得一提的是由于 spring-security 是 spring 团队开发,所以集成 spring 和 spring-boot 框架更容易。

IO

Java 中间件

缓存

缓存可以说是优化系统性能的第一手段,在各种技术中都会有缓存的应用。

如果想深入学习缓存,建议先了解一下 缓存基本原理,有助于理解缓存的特性、原理,使用缓存常见的问题及解决方案。

流量控制

计算机科学

数据结构和算法

数据库

数据库综合

数据库中间件

关系型数据库

关系型数据库 整理主流关系型数据库知识点。

公共知识
Mysql

img

其他

文档数据库

MongoDB

MongoDB 是一个基于文档的分布式数据库,由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

MongoDB 是一个介于关系型数据库和非关系型数据库之间的产品。它是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 json 的 bson 格式,因此可以存储比较复杂的数据类型。

MongoDB 最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

KV 数据库

Redis

img

列式数据库

HBase

搜索引擎数据库

Elasticsearch

Elasticsearch 是一个基于 Lucene 的搜索和数据分析工具,它提供了一个分布式服务。Elasticsearch 是遵从 Apache 开源条款的一款开源产品,是当前主流的企业级搜索引擎。

Elastic

网络

如果你是做通信领域的开发,或者是 Web 应用的开发,那就或多或少需要了解一些计算机网络的知识 。

网络综合

理解计算机网络,首先需要从宏观层面了解计算机网络通信的分层结构。最有代表性的是 OSI 七层结构模型,但现实中更流行的是五层结构模型。

了解网络分层结构,需要了解每个网络层级在网络通信中的定位,以及这个层级主要的通信设备、通信协议。

网络协议

网络技术

分布式

分布式综合

分布式理论

分布式协同

分布式调度

  • 流量控制 - 关键词:限流熔断降级计数器法时间窗口法令牌桶法漏桶法
  • 负载均衡 - 关键词:轮询随机最少连接源地址哈希一致性哈希虚拟 hash 槽
  • 服务路由 - 关键词:路由条件路由脚本路由标签路由
  • 分布式会话 - 关键词:粘性 SessionSession 复制共享基于缓存的 session 共享
  • 分布式 ID - 关键词:UUID自增序列雪花算法Leaf

分布式高可用

分布式通信

RPC

RPC 综合

MQ

MQ 综合
Kafka
RocketMQ
其他 MQ

分布式存储

  • 数据缓存 - 关键词:进程内缓存分布式缓存缓存雪崩缓存穿透缓存击穿缓存更新缓存预热缓存降级
  • 读写分离
  • 分库分表 - 关键词:分片路由迁移扩容双写聚合

编程

编程范式

编程语言

设计

架构

综合

微服务

安全

设计模式

面向对象原则

创建型模式

创建型模式提供了创建对象的机制, 能够提升已有代码的灵活性和可复用性。

结构型模式

结构型模式介绍如何将对象和类组装成较大的结构, 并同时保持结构的灵活和高效。

行为型模式

行为模式负责对象间的高效沟通和职责委派。

重构

UML

DevOps

CI

CD

监控

工具

工作

方法论

规范

工具

🚪 传送

◾ 💧 钝悟的 IT 知识图谱 ◾ 🎯 钝悟的博客

blog's People

Contributors

cyrilbois avatar dunwu avatar nopainanymore avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blog's Issues

DevOps 简介 | Dunwu Blog

https://dunwu.github.io/blog/pages/b09613/

DevOps 简介什么是 DevOps什么是 DevOps?DevOps 集文化理念、实践和工具于一身,它强调团队授权、跨团队沟通和协作以及技术自动化,其最终目标是优化质量和交付。 DevOps 理念,旨在打破开发工程师和运维工程师的壁垒,强调两个团队合而为一,在产品的整个生命周期(从开发、测试、部署再到运维、运营)内相互协作,工程师不再限于单一职能。 DevOps 始于 2007 年左右,当时的

服务注册和发现 | Dunwu Blog

https://dunwu.github.io/blog/fd02eff6.html

服务注册和发现1. 服务元数据构建微服务的首要问题是:服务提供者和服务消费者通信时,如何达成共识。具体来说,就是这个服务的接口名是什么?调用这个服务需要传递哪些参数?接口的返回值是什么类型?以及一些其他接口描述信息。 服务的元数据信息通常有以下信息: 服务节点信息,如 IP、端口等。 接口定义,如接口名、请求参数、响应参数等。 请求失败的重试次数 序列化方式 压缩方式 通信协议 等等 常见的发

服务容错 | Dunwu

https://dunwu.github.io/blog/9c24212e.html

服务容错 故障分类 从故障影响范围维度来看,分布式系统的故障可以分为三类: 集群故障:根据业务量大小而定,集群规模从几台到甚至上万台都有可能。一旦某些代码出现 bug,可能整个集群都会发生故障,不能提供对外提供服务。 机房故障:现在大多数互联网公司为了保证业务的高可用性,往往业务部署在不止一个机房。然而现实中,某机房的光缆因为道路施工被挖断,导致整个机房脱网的事情,也是时有发生的。并且这种事

分布式理论 | Dunwu

https://dunwu.github.io/blog/41166861.html

分布式理论 1. 分布式特性和分类 1.1. 分布式特性 性能:用于衡量一个系统处理各种任务的能力。 吞吐量:系统在一定时间内可以处理的任务数。 QPS,即每秒查询数 TPS,即每秒事务数 响应时间:系统响应一个请求或输入需要花费的时间。 可用性:指的是系统在面对各种异常时可以正确提供服务的能力。系统的可用性可以用系统停止服务的时间与总的时间之比衡量。 可扩展性:指的是分布式

sql-cheat-sheet | Dunwu

https://dunwu.github.io/blog/46fd0cee.html

SQL Cheat Sheet 本文针对关系型数据库的基本语法。限于篇幅,本文侧重说明用法,不会展开讲解特性、原理。 本文语法主要针对 Mysql,但大部分的语法对其他关系型数据库也适用。 一、基本概念 数据库术语 数据库(database) - 保存有组织的数据的容器(通常是一个文件或一组文件)。 数据表(table) - 某种特定类型数据的结构化清单。 模式(schema) -

服务监控 | Dunwu

https://dunwu.github.io/blog/a7bb904f.html

服务监控 当服务消费者与服务提供者之间建立了通信,作为管理者需要通过监控手段来观察服务是否正常,调用是否成功。服务监控是很复杂的,在微服务架构下,一次用户调用会因为服务化拆分后,变成多个不同服务之间的相互调用,这也就需要对拆分后的每个服务都监控起来。 监控对象 服务监控一定是通过观察数据来量化分析,所以首先要明确需要监控什么。 一般来说,服务监控数据有以下分类: 业务监控:核心指标、登录、登

分布式 | Dunwu

https://dunwu.github.io/blog/fe3c2cd2.html

分布式 大型软件为了应对海量数据、高并发,一般都会被设计为分布式系统。 分布式系统需要解决很多不同领域的问题。 📖 内容 分布式综合 分布式面试总结 分布式理论 分布式理论 - 关键词:拜占庭将军、CAP、BASE、错误的分布式假设 分布式算法 Paxos - 关键词:共识性算法 分布式算法 Raft - 关键词:共识性算法 分布式算法 Gossip - 关键词:数据传播

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.