Java基础
楊帥
【此人归隐已久♂不懂凡尘落寞】
展开
-
测试:Java通过方法传递对象是传递引用还是传递值
平时开发经常会碰到一个问题:当一个变量传递给一个方法之后,当这个变量被修改,方法中的再次读取对影的值,是否会产生变化?下面做一个测试首先测试一下,修改变量对象中的值,方法中再次读取是否会同时变化public class test { public static void main(String[] args) { bbb = new BBB(); bbb.setA(1); abc(bbb); bbb.setA(3);原创 2020-08-17 15:49:19 · 390 阅读 · 0 评论 -
Java学习笔记之Set集合
Set集合由JDK1.2开始添加,继承自Collection接口。Set集合是一个不包含重复元素的集合,包括null最多也只能包含一个。集合中方法:int size(); 返回此集合的元素数量,如果set包含多于Integer.MAX_VALUE个元素,则返回Integer.MAX_VALUE。boolean isEmpty(); 如果Set中没有元素了,返回true。boolean c...原创 2019-01-02 15:40:26 · 196 阅读 · 0 评论 -
Java学习笔记之Spliterator接口
Spliterator从JDK1.8开始投入使用。Spliterator是用于遍历和区分源元素的对象。Spliterator可以覆盖数组、Collection、IO通道或生成器函数。Spliterator的常量:public static final int ORDERED = 0x00000010; 表示为元素定义遭遇顺序的特征值。trySplit中国年为拆分元素严格前缀。tryAd...原创 2019-01-02 16:57:01 · 589 阅读 · 1 评论 -
Java学习笔记之Queue
Queue由JDK1.5开始投入使用,继承自Collection,设计用于在处理之前保持元素的集合。除了基本的操作外,队列海提供额外的插入,提取和检查操作。这些方法中的每一种都以两种形式存在:一种在操作失败时抛出异常,另一种返回特殊值null或者false。boolean offer(E e); 如果可以在不违反容量限制的情况下立即执行此操作,则将指定的元素插入此队列。使用容量限制队列时,此方...原创 2019-01-02 18:31:14 · 158 阅读 · 0 评论 -
Java学习笔记之Deque
Deque从JDK1.6开始使用,继承自Queue。Deque是一个线性集合,支持两端插入和移除元素。包含方法:void addFirst(E e);在双向列表前面插入指定元素,如果没有可用空间则抛出IllegalStateException。使用容量限制的双向列表时,通常最好使用offerFirst。void addLast(E e);在双向列表末尾插入指定元素,如果没有可用空间则抛出I...原创 2019-01-03 13:47:10 · 238 阅读 · 0 评论 -
Java基础之反射(Reflection)
定义:允许Java在运行期获取指定类中的各种属性的一种机制。(包括接口、变量、方法等信息)Java反射可获取的属性有:Class对象类名构造方法包信息获取方法、指定方法的参数、返回类型变量父类实现的接口 修饰符泛型在列举方法之前先具一个包含上面10个属性的例子://父类public class ReflectionFather { protected...原创 2019-04-11 17:19:52 · 150 阅读 · 0 评论 -
Java基础之注解annotations最简单理解
看了很多注解的文章,但是越看越糊涂,偶然在网上看到一片文章介绍的很好,原文地址此文章让我最终茅塞顿开的话记录下:Annotation是一种应用于类、方法、参数、变量、构造器及包声明中的特殊修饰符。Annotations不包含业务逻辑,那么必须有人来实现这些逻辑。它是一种由JSR-175标准选择用来描述元数据的一种工具。...转载 2019-04-16 16:05:58 · 771 阅读 · 0 评论 -
Java Serializable报错does not declare a static final serialVersionUID
报错The serializable class AppDownloadBean does not declare a static final serialVersionUID field of type long (536871008 at line 32).解决办法:在需要序列化的类中添加:private static final long serialVersionUID = 1L;...转载 2019-04-18 16:52:03 · 1925 阅读 · 0 评论 -
Java 队列Queue
队列通常是一个遵循先进先出的方式排列的集合,具体要实现类如何添加以及删除对象Queue继承自Collection,说明它是一个集合。包含方法:boolean add(E e)、boolean offer(E e)可添加对象,一般有空间限制E remove()、E poll()可删除head头对象E element()、E peek()检索head头对象...原创 2019-05-17 14:00:00 · 355 阅读 · 0 评论 -
Java线程锁synchronized关键字
作用于代码块,锁为对象。作用于静态函数,锁为静态函数所在的类。作用于非静态函数,锁为该函数所在的对象。谁先拿到锁,谁可暂时独享锁中逻辑。1. 作用于方法public class Test { public static void main(String[] args){ Test test = new Test(); new Thread(()...原创 2019-06-20 14:29:00 · 558 阅读 · 0 评论 -
Java学习笔记之JDBC使用
创建数据库,原始数据如图代码public class Test { public static final String URL = "jdbc:mysql://localhost:3306/boottest?useUnicode=true&characterEncoding=UTF-8"; public static final String USER = "ro...原创 2019-08-12 14:40:56 · 187 阅读 · 0 评论 -
Java学习笔记之ListIterator接口
ListIterator由JDK1.2开始添加,继承自Iterator。ListIterator是列表的迭代器,允许在任一方向上遍历列表,在迭代期间修改列表,并获取迭代器在列表中的当前位置。接口中的方法:boolean hasNext();如果在正向遍历时,这个列表迭代器有更多元素,返回true。E next();返回正向遍历到的元素。boolean hasPrevious();如果在反...原创 2019-01-02 14:12:06 · 638 阅读 · 0 评论 -
Java学习笔记之Collection接口
Collection基于JDK1.2,继承自Iterable,Collection为集合层次结构的根接口,根据是否允许内部元素重复,分为Set和List集合。包含方法:int size();返回集合中元素的数量,如果集合中元素个数大于Integer.MAX_VALUE,则返回Integer.MAX_VALUE。boolean isEmpty();如果集合中不包含元素,返回true。否则返回...原创 2019-01-02 13:43:54 · 2556 阅读 · 0 评论 -
Java学习笔记之Iterable方法
定义:基于JDK1.5,实现此接口的对象,允许成为for-each loop语句的目标。范型的类别来自iterator.接口中的函数:Iterator iterator();返回一个相关的iterator。第二个方法是一个default函数:default void forEach(Consumer<? super T> action) { Objects.requir...原创 2019-01-02 11:12:00 · 4935 阅读 · 2 评论 -
Java学习笔记之transient关键字
看LinkedList源码看到transient关键字,于是乎很好奇,从来没见过哦首先transient关键字的作用:当类使用Serializable序列化的时候,使用transient修饰的变量将只会放在内存里,而不会写在磁盘上,下面做一个测试:被序列化的类:public class TestTransientEntity implements Serializable {privat...原创 2018-12-27 17:33:45 · 359 阅读 · 0 评论 -
Java学习笔记之数组
1. 数组初始化方法int[] test1 = {1,1,1,1};int[] test2 = {};int[] test3 = new int[4];2. 修改内容方法由于数组无法直接改变长度,所以用Array.copyOf()方法改变数组长度。test1 = Arrays.copyOf(test1, 5);test1[4] = 2;test2 = Arrays.copyOf(...原创 2018-12-27 18:26:51 · 163 阅读 · 0 评论 -
Java学习笔记之default方法
Default Methods是java8中的特性,主要是在之前接口中智能定义方法名称和参数类型,并不能写实际的逻辑,java8之后使用Default Methods就可以写了,下面看一个例子:首先定义接口:public interface TestDefault { void setName(); default void setContent(){ Log....原创 2018-12-28 15:18:52 · 1828 阅读 · 0 评论 -
Java学习笔记之Function方法
定义:JDK1.8中的新特性,表示接受一个参数并生成结果的函数。其中:T 为输入的类型。R为函数结果的类型。下面看该接口中的每一个方法:R apply(T t);核心方法,把T转换成R返回。default Function<V, R> compose(Function<? super V, ? extends T> before){},此方法的官方解释为:...原创 2018-12-28 16:41:36 · 6352 阅读 · 0 评论 -
Java学习笔记之UnaryOperator
UnaryOperator继承Function,同样是JDK1.8中的新特性。功能就是:对数据进行操作,生成一个与同类型对象。方法只有一个static UnaryOperator identity(),该方法返回一个UnaryOerator对象,并且apply()方法中直接返回范型对象。static <T> UnaryOperator<T> identity() {...原创 2018-12-28 18:10:31 · 5535 阅读 · 1 评论 -
Java学习笔记之LinkedList
LinkedList从JDK1.2开始使用,LinkedList实现了List接口和Deque接口,同时实现了列表和双向列表。并实现了Serializable序列化接口。静态内部类:Node:private static class Node&amp;amp;amp;amp;lt;E&amp;amp;amp;amp;gt; { E item; Node&amp;amp;amp;amp;lt;E&amp;amp;a原创 2019-01-03 17:51:53 · 154 阅读 · 0 评论 -
Java学习笔记之List<E>集合
List是一个有序集合接口,实现该接口,可以精确控制列表中每个元素的插入位置,可以通过整数索引访问元素,并搜索列表中的元素。List允许重复,如果不允许重复,建议使用Set集合。包含方法:int size(); 返回集合中的元素的数量,集合数量上限为Integer.MAX_VALUEboolean isEmpty(); 如果列表中没有元素,返回trueboolean contains(O...原创 2018-12-28 14:57:32 · 6085 阅读 · 0 评论 -
Java学习笔记之ArrayList和LinkedList区别
ArrayListLinkedList相同点:都实现了List接口,具有一系列相同的操作方法。都可以转化为数组。不同点:ArrayList本质上是一个数组(Object[]),LinkedList本质上是一个双向链表(Node())。增加的时候,ArrayList本质上是重新创建一个更长的数组,然后赋值。LinkedList是添加一个Node对象,效率上LinkedList更高...原创 2019-01-03 19:13:22 · 154 阅读 · 0 评论 -
Java学习笔记之Iterator接口
定义:集合上的迭代器。基于JDK1.2函数:boolean hasNext();如果迭代器含有更多元素,则返回true。常用的方法,遍历的时候一般用作条件E next();返回遍历到的元素。如果迭代器么有更多元素,抛出NoSuchElementException。第三个方法是一个defaul函数:default void remove() { throw new Unsuppor...原创 2019-01-02 10:55:45 · 826 阅读 · 0 评论 -
Java学习笔记之ArrayList
1. 构造方法public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; }2. 私有变量DEFAULTCAPACITY_EMPTY_ELEMENTDATAprivate static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA ...原创 2018-12-27 16:54:41 · 639 阅读 · 0 评论