4 6plus

尚未进行身份认证

Java源码学习关注我的公众号: Plus技术栈

等级
TA的排名 3w+

String源码分析(4)--浅析String中的静态工厂

本文基于JDK1.8在方法篇中我们有对String类中的构造方法进行了一个分析,对于类而言,为了让客户端(即类的使用者)获取它自身的一个实例,除了上篇文章写的提供一个公有的构造器,还有一种管理对象创建的方法:类可以提供一个公有的静态工厂方法(static factory method),即一个返回类的实例的静态方法。本篇文章将通过String中的valueOf()方法,谈一谈静态工厂方法的...

2019-05-04 22:02:50

String源码剖析(3)--方法篇

本文基于JDK1.8本篇文章主要是关于String类的内部方法的分析,目录如下:构造函数分析“比较”方法String对“+”的重载构造函数分析1.默认构造函数public String() { this.value = "".value;}该构造方法会创建空的字符序列,注意这个构造方法的使用,因为创造不必要的字符串对象是不可变的。因此不建议采取下面的创建 Stri...

2019-05-03 18:10:21

String源码剖析(2)--浅析String类

本文基于JDK1.8上篇文章学习了String中的哈希值的作用,本篇开始正式进入String类。文章将按以下几块展开。从类的声明看其不可变性成员变量是为何关于内部方法将在下一篇文章中详解,话不多说,进入正题。从类的声明看其不可变性String作为Java最基本最常用的类,我们应当对其内部实现有一个清晰的了解。先看String类的定义:public final clas...

2019-05-03 18:09:00

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

解决Maven等情景连接url时报错Server returned HTTP response code: 407 for URL

maven编译过程中,下载不了项目依赖的pom文件和jar包。在确认代理已经配置正确的情况下仍然出现ServerreturnedHTTPresponsecode:407forURL的错误。可以参考以下方案解决:清除maven的代理,尝试编译。所需下载的文件是否可以用wget命令下载:wget<filename>如果wget命令下载不了,请确认代理是否正确...

2018-11-12 18:55:06

gradle缓存库转成maven

简书地址:https://www.jianshu.com/p/050dd9fc2438gradle缓存库转成maven一般有以下情况:在将用gradle管理的代码上库时,由于CI库上的项目编译需要本地化,且只支持maven的依赖缓存的文件结构。会出现gradle找不到包,无法编译的情况。maven的依赖库中有许多第三方的依赖包,用gradle直接查找maven库,免去单独设置代理的繁琐...

2018-10-23 19:45:20

git命令记录

简书地址:https://www.jianshu.com/p/b4b0b0aa7e08不同于熟知的SVN,CC等集中式的版本控制工具,Git是一款开源的分布式版本控制系统。基本概念工作拷贝(工作目录):用于存放产品开发数据本地工作目录索引(Index):用于存放待提交数据的缓存区本地库:远端库的一个完整的拷贝,包括所有文件的修改记录,分支等。远端库:本地库clone来源中心库:远...

2018-10-23 19:43:57

[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

VS2015 LoadLibrary加载DLL失败的解决方案,GetLastError()返回值193

遇到的问题代码如下void*p=NULL;p=LoadLibrary("***.dll");通过单步调试发现,p的值始终为0X00000000,即LoadLibrary调用失败查了很多资料,将总结以及我的解决方案记录如下检查路径是否正确。我用的是相对路径,相对路径需要把该dll文件放在程序生成的exe文件目录下(也就是VS中项目->属性->(配置属性)常...

2018-04-25 14:40:16

剑指offer:二叉搜索树与双向链表非递归与递归解法

题目输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。解析主要利用中序便利,通过设置一个结点变量记录前一个结点进行变换需熟练掌握树中序遍历的递归与非递归写法代码非递归,主要利用栈/*structTreeNode{intval;structTreeNode*left;structTreeNo

2018-01-05 09:32:39

61. Rotate List

题目Given a list, rotate the list to the right by k places, where k is non-negative.Example:Given 1->2->3->4->5->NULL and k = 2,return 4->5->1->2->3->NULL.解析题意是让旋转一个链表,一开始想到的是快慢指针,但是实现之后发现十分的麻烦,有许多指针移动的操

2017-12-17 16:05:27

Weekly Contest 63

Min Cost Climbing StairsShortest Completing WordNumber Of Corner RectanglesContain Virus746. Min Cost Climbing Stairs 难度:esayOn a staircase, the i-th step has some non-negative cost cost[i] assig

2017-12-17 12:57:27

57. Insert Interval

题目Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary).You may assume that the intervals were initially sorted according to their start times.Example

2017-12-16 12:37:30

56. Merge Intervals

题目Given a collection of intervals, merge all overlapping intervals.For example, Given [1,3],[2,6],[8,10],[15,18], return [1,6],[8,10],[15,18].解析题意:将一个Interval新结构进行合并 关键点在于每次比较用的是ret中的尾Interval。代码/**

2017-12-16 12:06:46

50. Pow(x, n)

题目Implement pow(x, n).Example 1:Input: 2.00000, 10 Output: 1024.00000 Example 2:Input: 2.10000, 3 Output: 9.26100解析题意:实现幂运算 分析:主要考察利用二分降低运算时间复杂度,注意当n=INT_MIN时的边界处理,INT_MIN的绝对值比INT_MAX的绝对值大一代码class

2017-12-12 22:48:44

49. Group Anagrams

题目Given an array of strings, group anagrams together.For example, given: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”], Return:[ ["ate", "eat","tea"], ["nat","tan"], ["bat"] ] Note: All input

2017-12-12 22:40:03

47. Permutations II

题目Given a collection of numbers that might contain duplicates, return all possible unique permutations.For example, [1,1,2] have the following unique permutations: [ [1,1,2], [1,2,1], [2,1,1

2017-12-12 22:05:55

43. Multiply Strings

题目Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2.Note:The length of both num1 and num2 is < 110. Both num1 and num2 contains only digits 0-9.

2017-12-11 22:45:34

42. Trapping Rain Water

题目Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining.For example, Given [0,1,0,2,1,0,1,3,2,1,2,1], r

2017-12-11 22:14:23

CSDN-markdown语法

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-12-10 18:22:21

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。