源码分析之Koa和XHR
对于前端开发者来说,koa和xhr都再熟悉不过了。Koa 是Node.js 的 Web 框架。由 Express 团队设计。旨在提供一个更小型、更富有表现力、更可靠的 Web 应用和API的开发基础。XHR是用来向服务器发送请求的。但我们在使用它们的时候都是直接使用它们的API,似乎忘记了它们原生的底层实现。这篇文章我就来和...
2024-01-10AQS源码详细解读
基础在讲解AQS之前,有几个额外的知识需要了解。知道了这些,才能明白AQS框架中很多代码的道理。CAS相关知识通过标识位进行线程挂起的并发编程范式MPSC队列的实现技巧欢迎加入技术交流群186233599讨论交流,也欢迎关注笔者公众号:风火说。<!--more-->CAS相关知识CAS相关知识具体不表,请百度...
2024-01-10中了源码的毒,给你一副良药
近期阿宝哥在团队内搞了一个 如何读源码 的专题,主要目的是让团队的小伙伴们了解读源码的思路与技巧。在此期间,阿宝哥也写了 77.9K 的 Axios 项目有哪些值得借鉴的地方、从 12.9K 的前端开源项目我学到了啥 和 如何让你的 Express 飞起来 三篇源码解析的文章。其中前两篇在 掘金社区 获得不错的评价...
2024-01-10源码阅读笔记
所有集合类,在 for 循环进行删除时,如果直接使用集合类的 remove 方法进行删除,都会快速失败,报 ConcurrentModificationException 的错误,所以在任意循环删除的场景下,都建议使用迭代器进行删除; 我们把数组转化成集合时,常使用 Arrays.asList(array),这个方法有两个坑,代码演示坑为: public void tes...
2024-01-10HashMap在JDK8中的源码分析
补充:关于情况2和情况3:此时key1-value1和原来的数据以链表的方式存储。在不断的添加过程中,会涉及到扩容问题,当超出临界值(且要存放的位置非空)时,扩容。默认的扩容方式:扩容为原来容量的2倍,并将原有的数据复制过来。jdk8 相较于jdk7在底层实现方面的不同: 1. new HashMap():底层没有创建...
2024-01-10Cas服务端源码解析
此版本为cas5.3,源码链接:https://github.com/apereo/cas/tree/5.3.x1. 系统启动启动的配置类:CasSupportActionsConfiguration 启动的时候会初始化系列action,比较典型的action如下:action名称-实际类型authenticationViaFormAction-InitialAuthenticationActionserviceAuthorizationCheck-ServiceAuthorizationChecksend...
2024-01-10【Java】HashMap源码阅读
首页专栏java文章详情0HashMap源码阅读Hongchen的博客发布于 1 月 23 日摘要HashMap相信这是出现频率最高的面试点之一,应该是面试问到烂的面试题之一,同时也是Java中用于处理键值对最常用的数据类型。那么我们就针对JDK8的HashMap共同学习一下!主要方法关键变量: /*** The default initial capa...
2024-01-10Cas客户端源码解析
Cas客户端的调用流程主要有几个过滤器实现: casSingleSignOutFilter casValidationFilter casAuthenticationFilter casHttpServletRequestWrapperFilter casAssertionThreadLocalFilter 这5个过滤器的调用顺序之上而下依次执行,只有这几个过滤器执行完毕后,才会进入自己的过滤器中。 SingleSignOutFilter 1. 拦...
2024-01-10【Java】JDK源码分析-HashMap(1)
首页专栏java文章详情0JDK源码分析-HashMap(1)WriteOnRead发布于 今天 06:31 1. 概述HashMap 是 Java 开发中最常用的容器类之一,也是面试的常客。它其实就是前文「数据结构与算法笔记(二)」中「散列表」的实现,处理散列冲突用的是“链表法”,并且在 JDK 1.8 做了优化,当链表长度达到一定数量...
2024-01-10手写Koa.js源码
用Node.js写一个web服务器,我前面已经写过两篇文章了:第一篇是不使用任何框架也能搭建一个web服务器,主要是熟悉Node.js原生API的使用:使用Node.js原生API写一个web服务器第二篇文章是看了Express的基本用法,更主要的是看了下他的源码:手写Express.js源码Express的源码还是比较复杂的,自带了路由处...
2024-01-10最通俗易懂的HashMap源码分析解读
文章已经收录在 Github.com/niumoo/JavaNotes ,更有 Java 程序员所需要掌握的核心知识,欢迎Star和指教。欢迎关注我的公众号,文章每周更新。HashMap 作为最常用的集合类之一,有必要深入浅出的了解一下。这篇文章会深入到 HashMap 源码,剖析它的存储结构以及工作机制。1. HashMap 的存储结构HashMap 的数据...
2024-01-10HBase2.2.3源码编译
源码环境一览windows: 7 64BitJava: 1.8.0_131Maven:3.3.9Git:2.24.0.windows.1HBase:2.2.3Hadoop:2.8.5下载安装1. Maven|Git|Java下载安装Maven、Git 、Java 请先自行下载安装并配置环境变量。Maven安装完毕后在Maven配置文件settings.xml中配置阿里云镜像。 <mirror> <id>alimaven</id> <name>aliyun maven</name> ...
2024-01-10WeakHashMap源码分析
WeakHashMap与HashMap有些类似,但也有很多地方不同。它们设置了相同的负载因子和初始容量,但是前者的数据结构只使用了数组+链表,并没有用到红黑树,在这里,与HashMap重复且设置值一致的变量就不重复介绍了,只简单说下不同的地方。代表空Keyprivate static final Object NULL_KEY = new Object();复制代码保...
2024-01-10深入理解Java之HashMap源码剖析
一、HashMap概述HashMap基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了不同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。值得注意的是HashMap不是线程安全的,如果想要线程安全的H...
2024-01-10分享一些阅读Java相关框架源码的经验
昨天和部分网友进行了线上的交流,交流中有不少网友提到阅读源码比较难,不知道怎么上手。胖哥分享了一些个人经验,这里总结一下。阅读源码实际上是Debug源码其实所谓的阅读源码并不是单纯的阅读,而是调试源码。光看不动手,啥也不会有。调试源码我一般会从这几个方面着手。样例和单元...
2024-01-10java对大陆身份证号码验证
第一步:获取公众号的access_token,记得将access_token进行缓存,这个每天只有2000次访问限制。/** * 是否关注了微信公众号 * @param openId * @return * @throws BusinessException * @return Object ,true:已关注,false:未关注 * @author tyg * @date 2019年1月14日上午11:51:05 */@Overridepublic String getStoreDistributi...
2024-01-10Java:基于AOP的动态数据源切换(附源码)
1 动态数据源的必要性我们知道,物理服务机的CPU、内存、存储空间、连接数等资源都是有限的,某个时段大量连接同时执行操作,会导致数据库在处理上遇到性能瓶颈。而在复杂的互联网业务场景下,系统流量日益膨胀。为了解决这个问题,行业先驱门充分发扬了分而治之的思想,对大库表进行分...
2024-01-10源码解析Java类加载器
参考内容:深入理解Java虚拟机(JVM高级特性与最佳实践) ——周志明老师尚硅谷深入理解JVM教学视频——宋红康老师我们都知道Java的类加载器结构为下图所示(JDK8及之前,JDK9进行了模块化):关于三层类加载器、双亲委派机制,本文不再板书,读者可自行百度。那么在JDK的源码中,三层结构的具体...
2024-01-10java抓取东方财富股票数据(附源码)
这几天后台有粉丝给我留言让我也抓一下东方财富的数据,说东方财富的数据特别难抓,我还真不一定能搞得定。本来我是一个德艺双磬且与世无争的佛系程序员,小小的激将法怎么会激到我,但在京隔离期间实在太闲,就看了下东方财富的网站。真是不看不知道,一看吓一跳,这网站做的我口吐芬...
2024-01-10java音乐播放器编写源码
本文实例为大家分享了java音乐播放器的具体代码,供大家参考,具体内容如下源码:package baidu;import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.*;import javax.swing.*;import javax.media.bean.playerbean.*; //这个包要用到JMFpublic class MP3 extends JFrame implements Runnable {p...
2024-01-10Java源码跟踪阅读技巧【值得收藏】
今天跟大家分享一下我平时阅读源码的几个小技巧,对于阅读Java中间件如Spring、Dubbo等框架源码的同学有一定帮助。本文基于Eclipse IDE,我们每天都使用的IDE其实提供了很多强大的功能,掌握它们,往往能够事半功倍。1、Quick Type Hierarchy 快速查看类继承体系。快捷键:Ctrl + T查看类很多人可能都知...
2024-01-10java实现置换密码加密解密
本文实例为大家分享了Java实现置换密码加密解密,供大家参考,具体内容如下思路置换密码只不过是简单的换位而已,这里写的是一个分组长度为7的置换密码因为所学知识有限,写的比较麻烦,这里先简单介绍一下思路:1.因为置换密码首先要将其进行分组,这里分组长度为7,不足的位数补0,可以...
2024-01-10java验证码的制作和验证
验证码作用:没有验证码登陆,黑客会更加容易破解你的账号,通过组合码刷机等黑客技术来破取你的密码,有了验证码相当于加了一层很厚的屏障,安全系数很高。 验证码是一种区分用户是计算机和人的公共全自动程序。 验证码作用:可以防止恶意破解密码、刷票、论坛灌水,有效防止某...
2024-01-10【Java】【Soul源码探秘】插件链实现
首页专栏java文章详情0【Soul源码探秘】插件链实现腾业发布于 1 月 21 日引言插件是 Soul 的灵魂。Soul 使用了插件化设计思想,实现了插件的热插拔,且极易扩展。内置丰富的插件支持,鉴权,限流,熔断,防火墙等等。Soul 是如何实现插件化设计的呢?一切还得从插件链说起,本篇我们来...
2024-01-10java(8) HashMap源码
系统环境: JDK1.7HashMap的基本结构:数组 + 链表。主数组不存储实际的数据,存储的是链表首地址。成员变量//默认数组的初始化大小为16static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16//最大数组大小static final int MAXIMUM_CAPACITY = 1 << 30;//默认负载因子,默认0.75static final float DEFAULT_LOAD_FACTOR = 0.75f;//空...
2024-01-10分析HashMap 的 JDK 源码
缘由:今天好友拿着下面的代码,问我为什么 Map.Entry 这个接口没有实现 getKey() 和 getValue() 方法,却可以使用,由此,开启了一番查阅 JDK 源码的旅途….Map map = new HashMap(); map.put(1, "张三");map.put(2, "李四");map.put(3, "王五");map.put(4, "赵六");map.put(5, "钱七"); Set set = map.entrySet();for (Object object : set)...
2024-01-10Lua 源码欣赏 PDF 文档
Lua 是一门编程语言,Lua 官方网站提供了由语言发明者实现的官方版本。虽然 Lua 有简洁清晰的语言标准,但我们不能将语言的标准制定和实现完全分开看待。事实上、随着官方实现版本的不断更新,Lua 语言标准也在不断变化。本书试图向读者展现 Lua 官方实现的细节。在开始前,先从宏观上来看看,...
2024-01-10IOS Ipa 解包后 看到一些完整的源码
闲来无事解压了一个ipa的包 然后 竟然里面有个文件夹 里面是完整的源码 。这种情况是怎么导致的。回答:应该是资源里面就有源码,要不然不可能会有。在哪里看到源码呢?我这边ipa包改成zip之后没看到源码。回答:你8.3以上不越狱,连资源都看不到了……回答:.h .m 文件应该不会被打到程序...
2024-01-10