![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习笔记 Java
看书上课时随手做的笔记
❀Xiamii❀
这个作者很懒,什么都没留下…
展开
-
Java 注解与反射
注解反射反射就是通过对象来反射出一个类。优点:带来灵活性,缺点:慢。反射的功能主要API反射的源头Class类Class类常用方法:获取类的实例可以用class方法获取Class对象:原创 2020-08-11 17:49:01 · 127 阅读 · 0 评论 -
Java多线程,创建线程的3种方式、设计模式-静态代理模式、Lamda表达式,线程状态和常用方法,线程同步synchronized和Lock、死锁,线程协作:生产者消费者、管程法、线程池
概念线程就是独立的执行路径;在程序运行时,即使没有自己创建程,后台也会有多个线程,如主线程,gc线程(垃圾回收线程)main()称之为主线程,为系统的入口,用于执行整个程序;在一个进程中,如果开辟了多个线程,线程的运行由调度器安排调度,调度器是与操作系统紧密相关的,先后顺序是不能人为的干预的。对同一份资源操作时,会存在资源抢夺的问题,需要加入并发控制;线程会带来额外的开销,如cpu调度时间,并发控制开销。每个线程在自己的工作内存交互,内存控制不当会造成数据不一致创建线程创建线程主要有3种原创 2020-08-05 15:38:51 · 209 阅读 · 0 评论 -
Java IO流
概念IO流用来处理设备之间的数据传输,Java对数据的操作是通过流的方式Java用于操作流的类都在IO包中流按流向分为两种:输入流,输出流。流按操作类型分为两种:字节流:字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的字符流:字符流只能操作纯字符数据,比较方便。IO流常用父类字节流的抽象父类:InputStream、OutputStream字符流的抽象父类:Reader、WriterIO程序书写:使用前,导入IO包中的类使用时,进行IO异常处理使用后,释原创 2020-08-04 13:52:26 · 98 阅读 · 0 评论 -
File类的常用使用方法
createNewFile,mkdirs,mkdirFile dir1 = new File("aaa");//File创建目录System.out.println(dir1.exists());System.out.println(dir1.createNewFile());//创建一个文件File d = new File("\\bbb/ccc");System.out.println(d.mkdirs());//创建多个文件夹System.out.println(d.mkdir());//原创 2020-08-03 13:46:51 · 283 阅读 · 0 评论 -
Java 异常处理:异常的概述、处理异常问题、throws和throw的区别、final,finally和finalize的区别、finally之前return、如何使用异常处理
异常的概述异常就是出程序运行时出现的一些错误。所有的异常类是从 java.lang.Exception 类继承的子类。Exception 类是 Throwable 类的子类。除了Exception类外,Throwable还有一个子类Error(error一般是严重的,我们无法解决的错误,如服务器宕机) 。异常类有两个主要的子类:IOException 类和 RuntimeException 类。JVM的默认异常处理main函数收到这这个问题时,有两种处理方式:a:自己将该问题处理,然后继续运原创 2020-08-03 11:09:59 · 279 阅读 · 0 评论 -
Java 集合框架 Map接口和collection接口的不同、Map的主要方法、遍历Map方法
Map接口和collection接口的不同Map是双列的,Collection是单列的。HashSet底层依赖的是HashMap,只是隐藏起了第二列。TreeSet底层依赖的是TreeMap。Map的键唯一,Collection的子体系Set是唯一的。Map集合的数据结构值针对键有效,跟值无关Collection集合的数据结构是针对元素有效。Map的添加put方法、清空clear方法、删除特定键remove方法HashMap<String,String> hm = new Hash原创 2020-07-30 16:52:18 · 212 阅读 · 0 评论 -
Java 集合框架 Set,自定义元素使用HashSet要重写hashCode()和equals()方法,使用TreeSet要重写compareTo方法或传入Comparator
集合继承框架图还是这个图,今天学的是set接口,还有他底下的两个类:HashSet、TreeSet。set:无序,存和取不一致,不允许重复。SetList有特有的方法是因为他有索引这个特性,Set就没有特别的方法。HashSet可以通过HashSet来保证存入元素的唯一性。HashSet的add方法会返回boolean值表示有没有添加成功。Hashset不能添加重复的元素,在自定义类中要重写equals方法判断元素是否相等,否则HashSet会以地址值来判断元素是否相等。除了equal原创 2020-07-22 17:50:17 · 902 阅读 · 0 评论 -
Java 静态导入、可变参数...
静态导入JDK1.5以后的特性。其实导入的是静态的方法,只要是静态的方法都可以用静态导入。例子:可变参数可变参数其实就是一个可以变化的数组,编译器认为下面两个print方法是一样的。但是可变参数功能更强大,可以一次传入很多参数:运行结果:22334455PS:如果要传入可变参数以外的参数,定义函数时要要可变参数放在最后一个。...原创 2020-07-22 15:45:13 · 92 阅读 · 0 评论 -
Java 增强for循环
增强for循环是靠Iterator迭代器实现的,但是迭代器不能用于遍历数组,增强for循环可以。ArrayList<String> list = new ArrayList<>();list.add("dwf");list.add("dfef");for(String s:list){ System.out.println(s);}int[] arr = {1,2,3,4,5,6,7};for(int i:arr){ System.out.print原创 2020-07-22 15:19:37 · 82 阅读 · 0 评论 -
Java 泛型的概念、泛型怎么用(泛型类泛型方法泛型接口)、泛型通配符<?>
泛型是什么早期的Object类型可以接收任意的对象类型,但是在实际的使用中,会有类型转换的问题,也就存在这隐患,所以Java提供了泛型来解决这个安全问题。JDK1.5版本出现了泛型,1.7版本出现了菱形泛型。泛型就是在定义集合的时候出现的那个<>符号,可以在<>中填入 引用数据类型 规定这个集合元素的类型(因为集合框架内所有元素都是以引用数据类型为前提的,所以如果元素是 基本数据类型 要填入他们的包装类)。菱形泛型就是定义时右边可以不填类型,左边填了就可以。如:ArrayL原创 2020-07-21 17:55:06 · 122 阅读 · 0 评论 -
Java 集合框架 Arraylist的基本使用方法、Vector的特有方法、LinkedList的特有方法、在集合中删除重复自定义类型元素(重写equals方法)
面试时:集合继承体系图还是这个图,上一篇学了List接口,这篇讲的是List底下继承的三个类。上篇链接:Java 集合框架 List的方法,List集合特有的遍历功能,listIterator的功能,并发修改异常ConcurrentModificationException的原因和解决办法https://blog.csdn.net/weixin_43580841/article/details/107462169List底下三个类:Arraylist:底层数据结构是数组(顺序表),查询快,原创 2020-07-21 16:30:08 · 269 阅读 · 0 评论 -
Java 集合框架 List的方法,List集合特有的遍历功能,listIterator的功能,并发修改异常ConcurrentModificationException的原因和解决办法
集合继承体系图还是这个图,上一篇学了Collection接口,这篇讲的是List接口。上篇链接:https://blog.csdn.net/weixin_43580841/article/details/107446358Java 集合框架 Collection的介绍和常用方法,iterator迭代器遍历集合的方法和原理注意:API中List有两个,要使用集合List导包时选择的是java.util.List。List集合的特有方法(指定索引或元素增删改查)因为List是继承自Collecti原创 2020-07-20 15:32:32 · 165 阅读 · 0 评论 -
Java 集合框架 Collection的介绍和常用方法,iterator迭代器遍历集合的方法和原理
这个我没学过,每次遇到都有点懵,今天补补课,好记性不如烂博客~因为数组存储引用数据类型时有局限性,比如不能自动增长,为了方便封装了一些集合类供使用。数组与集合的区别数组可以存储基本数据类型也可以存储引用类型,集合只可以存引用数据类型(对象),但是可以通过JDK1.5自动装箱的特性减少不便。数组长度是不可变的,集合的长度是可变的,可以随着元素的增加而增长(有的还是通过数组实现的,重新new一个1.5倍的数组,然后把原来数组中的数据存进去,原来的数组变成垃圾,1.5倍增长是一个折中的办法为了避免频繁地原创 2020-07-19 18:58:07 · 186 阅读 · 0 评论 -
JDK API常见对象 Arrays类、Integer类、String的转换、自动装箱、Pattern类、正则表达式、Math类、random类、BigInteger类、Date、Calendar日历
目录:Arrays类Arrays类的toString方法基本数据类型包装类Integer类String和基本数据类型的转换自动装箱、自动拆箱Pattern类正则表达式Math类math类的ceil方法、round方法和floor方法math类的random方法random类BigInteger类BigDecimal类Date类DateFormat类Calendar类原创 2020-07-18 14:26:28 · 132 阅读 · 0 评论 -
JDK API常见对象:Object类、Scanner类、String类、StringBuffer类
Android虽然我上手做有了一段时间,但基本上是遇到了难题就goole学一点怎么实现功能。很多基础的知识我没有什么概念,所以刷网课补习一下,顺手做下笔记,希望对你有帮助kkkObject类所有类的根类,Java中所有类都直接或间接的继承该类Object类的int hashCode():返回对象的哈希码值a.返回该对象的哈希码值,这个值和地址有关。b.不同对象的,hashCode()一般来说不会相同。但是同一个对象的hashCode()值肯定相同。c.不是对象的实际地址值,可以理解为逻辑地址值原创 2020-07-14 16:06:27 · 156 阅读 · 0 评论 -
Java 基础笔记
JRE与JDKJRE(Java Runtime Environment Java运行环境):包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。JDK(Java Development Kit Java开发工具包):JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE,所以安装了JDK,就不用在单独安装JRE7。其中的开发工具:编译工具(javac.e原创 2020-07-14 12:08:24 · 286 阅读 · 0 评论