title: SpringSecurity認知
date: 2021-04-06 17:36:04
tags: 面試題java
從 線程安全、執行效率、存儲空間、使用場景來講明
源碼以下面試
//String public final class String implements java.io.Serializable, Comparable<String>, CharSequence { private final char value[]; //底層是字符數組,定長,final不可變 } //StringBuffer public final class StringBuffer extends AbstractStringBuilder implements java.io.Serializable, CharSequence{ private transient char[] toStringCache; public StringBuffer() { super(16);} //字符數組長度默認爲16 public StringBuffer(int capacity) {super(capacity);} public StringBuffer(String str) { super(str.length() + 16); append(str); } @Override public synchronized StringBuffer append(String str) { toStringCache = null; super.append(str); return this; } } --StringBuilder public final class StringBuilder extends AbstractStringBuilder implements java.io.Serializable, CharSequence{ public StringBuilder() {super(16);} //字符數組長度默認爲16 @Override public StringBuilder append(String str) { super.append(str); return this; } } --AbstractStringBuilder abstract class AbstractStringBuilder implements Appendable, CharSequence { char[] value; //默認字符數組 public AbstractStringBuilder append(Object obj) { return append(String.valueOf(obj)); } }