随笔分类 - Java 基础
摘要:由于本文较长,需要耐住性子阅读,另外本文中涉及到的知识点较多,想要深入学习某知识点可以参考其他博客或官网资料。本文也非源码分析文章,示例中的源码大多是伪代码和剪辑过的代码示例,由于该轮子为公司内部使用所以源码不便公开,敬请谅解。造轮子不重要,重要的是掌握轮子原理,取其精华,去其糟粕。欢迎大家拍砖。
阅读全文
摘要:众所周知, 有一个全局的配置,在程序启动时会加载XML配置文件,将配置信息映射到 类中,例如如下配置文件。 这里我们要注意的是,每个配置项目的顺序不能变,否则在做XML解析的时候会抛异常。 那么它是如何做到的呢?下面跟着我揭开它的神秘面纱吧。 代码分析 对象是通过 的`parse()`方法得到的,示
阅读全文
摘要:前言 在之前的面试经历中,对于 的考察还是挺频繁的,大致考察以下几个知识点: String 常量池 new String() == 和 equals 的区别 native 方法 String.intern() 虽然面试中大体答对了,但是今天早上微信群里的一个问题我却答不上来,这个问题是这
阅读全文
摘要:背景 在老东家五年了,总共工作整七年,经历两家公司。2019 10 31日离职。公司规模较小,项目压力不大,非985/211毕业,统招本科,计算机专业。目标:中大型公司,最好是大厂,嘿嘿,不过不抱希望,毕竟背景不太好。 准备 撰写简历,每天下班回家 7 12点看视频,刷博客,看面试题。学习内容: "
阅读全文
摘要:[^]: 以下源码分析基于JDK1.8 ReentrantLock 示例 源码解析(公平锁 unlock流程) ReentrantLock unlock() AbstractQueuedSynchronizer release(int arg) ReentrantLock.Sync tryRelea
阅读全文
摘要:[^ ]: 以下源码分析基于JDK1.8 ReentrantLock 示例 源码解析(公平锁 lock流程) 构造方法 [^]: 下文主要以公平锁为示例做分析 核心变量 ReentrantLock lock() FairSync lock() AbstractQueuedSynchronizer a
阅读全文
摘要:特性 是一个可存储不重复元素的容器,底层实现依赖 ,所以在添加,删除,查找元素时的时间复杂度均为 O(1). 构造方法,初始化内部的 基础方法 add ,由于 HashSet只存储单个值,所以,内部以值为Key, 为 value存入HashMap中。当没有元素时候,返回true,已存在,返回fals
阅读全文
摘要:一个键有序的 可以将 理解为 + ,所以研究 之前要先看 代码。这里不再赘述。其实 无非就是通过链表结构将存储在 中的数据通过 连接起来。 方法 作为一个链表结构 ,`tail`必不可少 还要有一个存储 前节点和后节点的数据结构 最后,为了支持节点根据访问频率更新节点顺序,增
阅读全文
摘要:前言 负载均衡在架构设计中是经常提到的一种方案,用以提高系统处理量。今天用几句代码实现Round Robin方式,用白话文说就是有活大家轮着干。在看了Ribbion源码之后,确实是几行代码。 实现思路 首先,要有一组服务列表 然后要有一个全局的索引变量,然后通过取余的方式计算
阅读全文
摘要:前言 在解析 返回的消息中,有类似 的数据返回,当我们解析这种数据的时候,先解析出5这个数字,然后在取后续的5长度的字符串。当时在解析数字这块卡住了,于是看了 中的解析方式。 解析核心代码 调用示例: byte[] body = "123456\r\n".getBytes()
阅读全文
摘要:最近做了一个.NET访问Java接口的小Demo,其中用到了SHA1加密,大体思路就是.NET 传一些参数然后SHA1加密,Java端接收到之后在SHA1加密对比。 Java代码: .NET代码 经测试,两种加密方法得到的结果是一致的~~
阅读全文
摘要:spring-framework source code idea
阅读全文
摘要:前言 看了一篇文章,大概是讲面试中的java基础的,有如题这么个面试题。我又翻了一些文章看了下,然后去看源码。看一下源码大概能更加了解一些。 String String类是final的,表示不可被继承,不可变的。注释上也有说明: 其中用一个char[]来保存String的值。 一旦赋值,就不可改变。
阅读全文