WinddSnow

WinddSnow

所有的如果,都没有意义。

自行强化HashMap,使得线程安全
在Java中,不使用ConcurrentHashMap的前提下,通过自行加强HashMap,使得HashMap线程安全,一般思路都是加锁,可以是普通的lock锁,也可以是其他锁,具体操作如下: 使用HashMap和显示的同步机制,如ReentrantLock来保证多线程安全访问。下面是一个简单的示例: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455import java.util.HashMap;import java.util.Ma...
OpenFeign帮我们做了什么
我们知道OpenFeign是一个功能强大且易于使用的声明性HTTP客户端框架,它隐藏了很多底层HTTP请求和处理的细节,使开发人员能够以非常简洁的方式定义和调用HTTP服务。在OpenFeign的背后,它做了很多工作,那它究竟做了哪些操作呢? 以下是OpenFeign的关键源码解析以及它背后所做的操作的详细说明: 创建Feign客户端接口: 在使用OpenFeign时,首先需要创建一个Feign客户端接口,该接口定义了要调用的远程HTTP服务的API。这个接口的注解是@FeignClient,它告诉OpenFeign要生成一个实现这个接口的代理类。 1234@FeignClient(n...
停止空想
停止空想是很重要的事情。 包括我自己在内的许多人都有大脑空转的习惯。在任何事情实际发生之前,自己心想了很多,然后内心有一堆负面情绪。这些年也经常有人列举自己详尽的想法来找我,要求给个建议,而我的回答往往也很简单,除了思考之外你又做了什么呢?甚至我对自己也是如此处理的,追问自己一句面对这样的现实以及这些可能发生的事情,我又做了什么?同样是面对一场暴雨,作家会想到童年,想到村庄,想到山洪爆发,想到明天错峰出行,然后开始打字。但是菜贩子只会想到油路是否还畅通,会不会影响运输快递,如果货物要过夜的话,仓库里有没有空调,拿起电话开始拨打。 我并没有说行动高于一切,我只是说行动有助于思考,行动能够...
how_to_do_great_work_zhCN
以下保罗·格雷厄姆博客《How to do great work》的英语原文和翻译,以及自己看后的想法及思考,这篇博客很长,我觉得在快餐文化的今天,很可贵,值得花费时间去细读,去领略其中的思想,接下来,开始吧: 原文与翻译①If you collected lists of techniques for doing great work in a lot of different fields, what would the intersection look like? I decided to find out by making it. 如果要汇总在任何领域做出伟大成就所需要的技能...
Java基础
什么是JavaJava是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了 C++里难以理解的多继承、 指针等概念, 因此Java语言具有功能强大和简单易用两个特 征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。 JVM、JRE和JDK的关系JVMJVM( Java Virtual Machine),即Java虚拟机,运行在操作系统之上,存在于内存中,与内存打交道,与硬件没有直接 交互,是Java语言实现跨平台的核心。 JVM是一种抽象,虚拟出来的计算机,和实际的计算机一样,它具有指令集并使用不同的存储区...
《Java开发手册》嵩山版
前言《Java 开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断完善,公开到业界后,众多社区开发者踊跃参与,共同打磨完善,系统化地整理成册,当前的版本是嵩山版。现代软件行业的高速发展对开发者的综合素质要求越来越高,因为不仅是编程知识点,其它维度的知识点也会影响到软件的最终交付质量。比如:五花八门的错误码人为地增加排查问题的难度;数据库的表结构和索引设计缺陷带来的系统架构缺陷或性能风险;工程结构混乱导致后续项目维护艰难;没有鉴权的漏洞代码易被黑客攻击等等。所以本手册以 Java 开发者为中心视角,划分为编程规约、异常日志、单元测试、安全规约、M...
Java面试题16JWT
JWTJSON Web token 简称 JWT, 是用于对应用程序上的用户进行身份验证的标记。也就是说, 使用 JWTS 的应用程序不再需要保存有关其用户的 cookie 或其他 session 数据。此特性便于可伸缩性, 同时保证应用程序的安全。 在身份验证过程中, 当用户使用其凭据成功登录时, 将返回 JSON Web token, 并且必须在本地保存 (通常在本地存储中)。 每当用户要访问受保护的路由或资源 (端点) 时, 用户代理(user agent)必须连同请求一起发送 JWT, 通常在授权标头中使用 Bearer schema。后端服务器接收到带有 JWT 的请求时, 首...
Java面试题15Kafka
Kafka 是什么?Kafka 是一款分布式流处理框架,用于实时构建流处理应用。它有一个核心 的功能广为人知,即作为企业级的消息引擎被广泛使用。 明确Kafka 的流处理框架地位 Kafka 的特点? 高吞吐量、低延迟:kafka 每秒可以处理几十万条消息,它的延迟最低只有几毫秒 可扩展性:kafka 集群支持热扩展 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失 容错性:允许集群中节点失败(若副本数量为 n,则允许 n-1 个节点失败) 高并发:支持数千个客户端同时读写 什么是消费者组?消费者组是 Kafka 独有的概念,如果面试官问这 个,就说明他对此是有一定...
Java面试题14MongoDB
MongoDB 是什么?mongodb 是属于文档型的非关系型数据库,是开源、高性能、高可用、可扩展的数据逻辑层次关系:文档=>集合=>数据库在关系型数据库中每一行的数据对应 mongodb 里是一个文档。mongodb 的文档是以 BSON(binary json)格式存储的,其格式就是 json 格式。 MongoDB术语 集合 集合是一组文档(即上面的 users 集合)。集合相当于关系数据库中的表,但集合中的文档长度可不同(集合中的文档中的键值对个数可不同)、集合中文档的 key 可不同。向集合中插入第一个文档时,集合会被自动创建。 文档 文档是...
Java面试题13Zookeeper
Zookeeper 是什么Zookeeper 是一个分布式协调服务的开源框架, 主要用来解决分布式集群中应用系统的一致性问题, 例如怎样避免同时操作同一数据造成脏读的问题. ZooKeeper 本质上是一个分布式的小文件存储系统. 提供基于类似于文件系统的目录树方式的数据存储, 并且可以对树中的节点进行有效管理. 从而用来维护和监控你存储的数据的状态变化. 通过监控这些数据状态的变化,从而可以达到基于数据的集群管理. 在大数据生态系统里,很多组件的命名都是某种动物,比如 hadoop 就是大象, hive就是蜜蜂, 而 Zookeeper 就是动物管理员. Zookeeper 的数据模型...
avatar
WinddSnow
Simple is best.
FRIENDS
friendA friendB