2017-03-03学习笔记

一、String

StringBuffer.toString()源码:

@Override
public synchronized String toString() {
    if (toStringCache == null) {
        toStringCache = Arrays.copyOfRange(value, 0, count);
    }
    return new String(toStringCache, true);
}

Arrays.copyOfRange用的是System.arraycopy

public static char[] copyOfRange(char[] original, int from, int to) {
        int newLength = to - from;
        if (newLength < 0)
            throw new IllegalArgumentException(from + " > " + to);
        char[] copy = new char[newLength];
        System.arraycopy(original, from, copy, 0,
                         Math.min(original.length - from, newLength));
        return copy;
    }

1.String是值传入,不是引用传入。 2.String对String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,而不是StringBuffer;StringBuffer每次结果都会对 StringBuffer 对象本身进行操作,而不是生成新的对象,再改变对象引用。 3.效率比较String

二、jvm知识图谱

引用自知乎

三、Treemap、LinkHashMap

1.TreeMap取出来的是排序后的键值对。但如果您要按自然顺序或自定义顺序遍历键,那么TreeMap会更好。 2.LinkedHashMap 是HashMap的一个子类,如果需要输出的顺序和输入的相同,那么用LinkedHashMap可以实现,它还可以按读取顺序来排列。

四、sql模式

MySQL数据库中,变量分为 系统变量(以”@@”开头)和用户自定义变量。系统变量分为全局系统变量(global)和会话系统变量(session)。 @@global 仅用于访问全局系统变量的值; @@session 仅用于访问会话系统变量的值; @@ 先访问会话系统变量的值,若不存在则去访问全局系统变量的值; sql_mode 为系统变量,既是全局系统变量,又是会话系统变量。

五、代码的执行顺序

父类B静态代码块->子类A静态代码块->父类B非静态代码块->父类B构造函数->子类A非静态代码块->子类A构造函数

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏GreenLeaves

JavaScript引用类型之Array数组的栈方法与队列方法

一、栈方法 ECMAScript数组也提供了一种让数组的行为类似与其他数据结构的方法。具体的来说,数组可以变现的向栈一样,栈就是一种可以限制插入和删除向的数据结...

1696
来自专栏小勇DW3

redis中各种数据类型的常用操作方法汇总

string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。 string类型是二进制安全的。意思是re...

513
来自专栏吴裕超

exports 和 module.exports 的区别

require 用来加载代码,而 exports 和 module.exports 则用来导出代码。但很多新手可能会迷惑于 exports 和 module.e...

2564
来自专栏Java Edge

类加载的过程1 加载2 验证3 准备4 解析5 初始化

27812
来自专栏程序员互动联盟

【专业知识】初学者需要知道的10个Java字符串问题

下面我为大家总结了10条Java开发者经常会提的关于Java字符串的问题,如果你也是Java初学者,仔细看看吧: ? 1、如何比较字符串,应该用”==”还是eq...

3527
来自专栏塔奇克马敲代码

第 9 章 顺序容器

1825
来自专栏破晓之歌

Typescript入门 原

765
来自专栏企鹅号快讯

Java字符串的10大热点问题盘点

往期精选 下面我为大家总结了10条Java开发者经常会提的关于Java字符串的问题,如果你也是Java初学者,仔细看看吧: 1、如何比较字符串,应该用”==”还...

3418
来自专栏青枫的专栏

前面学习通过方法对代码进行改进,为什么要给方法使用静态呢?

前面学习通过方法对代码进行改进,为什么要给方法使用静态呢?   答:因为main方法是静态的,而静态方法只能访问静态的成员变量和静态的成员方法。   所以...

491
来自专栏debugeeker的专栏

《coredump问题原理探究》Linux x86版6.4节虚函数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/detai...

401

扫码关注云+社区