Java
6plus
Java源码学习关注我的公众号: Plus技术栈
展开
-
[String源码]Java String.split()源码分析
今天遇到了String.split()方法,结合源码分析、记录下(最后附上正则表达式记录):简介split(String regex, int limit)一般根据正则表达式分割字符串,limit限定分割后的子字符串个数,超过数量限制的情况下前limit-1个子字符串正常分割,最后一个子字符串包含剩下所有字符。重载方法split(String regex)将limit设置为0。 pub...原创 2018-10-09 09:08:34 · 1239 阅读 · 0 评论 -
gradle缓存库转成maven
简书地址:https://www.jianshu.com/p/050dd9fc2438gradle缓存库转成maven一般有以下情况:在将用gradle管理的代码上库时,由于CI库上的项目编译需要本地化,且只支持maven的依赖缓存的文件结构。会出现gradle找不到包,无法编译的情况。maven的依赖库中有许多第三方的依赖包,用gradle直接查找maven库,免去单独设置代理的繁琐...原创 2018-10-23 19:45:20 · 1554 阅读 · 0 评论 -
String源码剖析(1)--哈希篇
本文基于JDK1.8让我们从一段代码开始System.out.println("a" + "b" == "ab");System.out.println(new String("ab") == "ab");上述代码中,第一行结果为True,第二行结果为False。两者结果不同的原因在于Java中的==符号判断的是对象是否相等,其实质上是比较两者的内存地址,很显然第一行两...原创 2019-05-03 18:08:01 · 264 阅读 · 0 评论 -
String源码剖析(2)--浅析String类
本文基于JDK1.8上篇文章学习了String中的哈希值的作用,本篇开始正式进入String类。文章将按以下几块展开。从类的声明看其不可变性成员变量是为何关于内部方法将在下一篇文章中详解,话不多说,进入正题。从类的声明看其不可变性String作为Java最基本最常用的类,我们应当对其内部实现有一个清晰的了解。先看String类的定义:public final clas...原创 2019-05-03 18:09:00 · 297 阅读 · 0 评论 -
String源码剖析(3)--方法篇
本文基于JDK1.8本篇文章主要是关于String类的内部方法的分析,目录如下:构造函数分析“比较”方法String对“+”的重载构造函数分析1.默认构造函数public String() { this.value = "".value;}该构造方法会创建空的字符序列,注意这个构造方法的使用,因为创造不必要的字符串对象是不可变的。因此不建议采取下面的创建 Stri...原创 2019-05-03 18:10:21 · 333 阅读 · 0 评论 -
String源码分析(4)--浅析String中的静态工厂
本文基于JDK1.8在方法篇中我们有对String类中的构造方法进行了一个分析,对于类而言,为了让客户端(即类的使用者)获取它自身的一个实例,除了上篇文章写的提供一个公有的构造器,还有一种管理对象创建的方法:类可以提供一个公有的静态工厂方法(static factory method),即一个返回类的实例的静态方法。本篇文章将通过String中的valueOf()方法,谈一谈静态工厂方法的...原创 2019-05-04 22:02:50 · 291 阅读 · 0 评论