
java基础
crab_xyj
新手一只,欢迎评论和纠错
展开
-
JAVA-基础知识-修饰符
JAVA-基础知识-修饰符大体上分两类访问控制修饰符与非访问修饰符访问控制修饰符在Java中一共有4种缺省(default,即默认,什么也不写):在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。private:在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)public: 对所有类可见。使用对象:类、接口、变量、方法protected:对同一包...原创 2019-11-15 17:21:11 · 537 阅读 · 0 评论 -
JAVA-基础知识-StringJoiner
JAVA-基础知识-StringJoinerJava 8在java.util软件包下发布了StringJoiner类。我认为相对于我们使用StringBuffer / StringBuilder的旧式做法来连接字符串,这并非是一个迥然不同的实现。我们一起来看一看StringJoiner的用法和它的内部实现。StringJoiner使用StringBuilder实现构造器 StringJoi...原创 2019-11-14 14:22:09 · 448 阅读 · 0 评论 -
JAVA-基础知识-Stack
JAVA-基础知识-Stackjava.util.Stack 类 Java 官方已经不在建议使用了。现在官方推荐使用 java.util.Deque。概述:stack是继承自Vector,底层使用数组存储、用来模拟栈的一个java集合。同时也是线程安全的。添加public synchronized void addElement(E obj) { modCount++;...原创 2019-10-26 21:42:29 · 237 阅读 · 0 评论 -
JAVA-基础知识-ArrayList,LinkedList,Vector的区别
JAVA-基础知识-ArrayList,LinkedList,Vector的区别vector与ArrayList底层实现都是数组,基本的操作差不多就不单独写了。另外我在有些地方看到有说Vector已经不建议使用了,不过具体原因还不大清楚。存储结构ArrayList和Vector是按照顺序将元素存储(从下表为0开始),默认的初始容量都是10,插入删除元素时,需要使部分元素移位。ArrayL...原创 2019-10-26 21:09:13 · 259 阅读 · 0 评论 -
JAVA-基础知识-基础数据类型,常量池
JAVA-基础知识-基础数据类型,常量池基础类型有这样一张表就差不多了类型包装类默认值最大值最小值长度描述byteByte0127(2^7-1)-128(-2^7)8有符号的,以二进制补码表示的整数booleanBooleanfalse1boolean只有两个取值:true 和 falseshortShort032767(...原创 2019-10-26 11:22:26 · 317 阅读 · 0 评论 -
JAVA-基础知识-String,Stringbuffer,StringBuilder,字符串常量池
JAVA-基础知识-String,Stringbuffer,StringBuilder概述String 不可修改StringBuffer 可修改 线程安全StringBuilder 可修改 线程不安全三者之间的继承结构StringString 对象一旦创建,其值是不能修改的,如果要修改,会重新开辟内存空间来存储修改之后的对象,即修改了 String 的引用。因为 Str...原创 2019-10-25 17:21:59 · 541 阅读 · 0 评论 -
JAVA-基础知识-HashMap
JAVA-基础知识-HashMap概述:HashMap最早出现在JDK1.2中,底层基于散列算法实现。HashMap 允许 null 键和 null 值,是非线程安全类,在多线程环境下可能会存在问题。采取懒创建的方式 new HashMap();完成后,如果没有put操作,是不会分配存储空间的。当链表长度大于8时链表将转换成红黑树当节点个数少于6时红黑树转换成链表原因:红黑...原创 2019-10-25 16:20:17 · 197 阅读 · 0 评论 -
JAVA-基础知识-HashSet
JAVA-基础知识-HashSet概述:HashSet就是直为同一个Object的HashMap源码: private transient HashMap<E,Object> map; private static final Object PRESENT = new Object(); public HashSet() { map = n...原创 2019-10-22 15:15:04 · 148 阅读 · 0 评论 -
JAVA-基础知识-LinkedList
JAVA-基础知识-LinkedList特性介绍:数据结构为双向链表,不需要指定大小,也没有空间浪费,链表由前驱后继进行前后连接插入删除操作为常数时间,效率高于数组遍历(get(index))仅能从两个端节点开始,花费O(n/2)或者说O(n)的时间,如果进行完全遍历(从头至尾等类似操作)建议使用增强for(或者iterator)进行遍历从类定义讲起public class Lin...原创 2019-10-21 19:52:56 · 155 阅读 · 0 评论 -
JAVA-基础知识-ArrayList扩容
JAVA-基础知识-ArrayList扩容ArrayList是一个常用类,由数组实现,查询可在常数时间内实现,虽然在非结尾增删上效率不如LinkedList,但查询效率高,相对于vector,ArrayList是线程不安全的(可以通过Collections.synchronizedList()实现线程安全),所以更适用单线程环境。大概介绍:ArrayList的扩容机制,在添加第一个元素时创建...原创 2019-10-21 19:22:18 · 324 阅读 · 0 评论