![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java基础
文章平均质量分 64
Java基础知识点
程序小媛!
这个作者很懒,什么都没留下…
展开
-
Java基础-11-Lock,synchronized,volatile
实现同步互斥访问的四种方式synchronized:同步代码块,修饰非静态的方法修饰静态的方法Lock:必须在try-catch-finally块中进行wait() / notify() / notifyAll() 方法CASLock 和 synchronized的区别LocksynchronizedLock是接口synchronized是关键字,是内置语言实现Lock发生异常时,如果没有主动通过unLock()释放锁,可能会死锁,因此使用L原创 2021-12-03 23:40:03 · 118 阅读 · 0 评论 -
Java基础10-实现多线程的四种方式
Java中实现多线程的四种方式1.继承Thread类创建线程类定义Thread类的子类,重写run方法【该方法体代表线程要完成的任务,则run方法为执行体】创建Thread子类的实例,即创建线程对象调用线程对象的start()方法启动线程2.通过Runnable接口创建线程类定义Runnable接口的实现类,重写run()方法创建Runnable实现类的实例调用线程对象的start()方法启动线程3.通过Callable和Future创建线程创建Callable接口的实现类,实原创 2021-12-02 22:29:02 · 319 阅读 · 0 评论 -
Java基础-09-反射机制
反射1.概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。反射机制是Java语言中一个非常重要的特性,允许程序在运行时进行自我检查,同时也允许对其内部的成员进行操作。由于反射机制能够实现在运行时对类进行装载,因此能够增加程序的灵活性,但是不恰当的使用反射机制也会严重影响系统的性能反射是框架设计的灵魂在Spring框架中就通过XML文原创 2021-12-01 23:26:31 · 88 阅读 · 0 评论 -
Java基础08-异常处理
异常的处理1.JVM 的默认处理把异常的名称,原因,位置等信息输出到控制台,但是程序不能再继续执行了2.自己处理try…catch…finally:自己编写处理代码,后面的程序可以继续执行throws:把自己处理不了的在方法上申明,告诉调用者这里有问题编译期异常和运行期异常的区别编译期异常:必须要处理,否则编译不通过运行期异常:可以不处理,也可以处理throw和throws的区别throw:在方法体中,后面跟的是异常对象名,并且只能是一个throw抛出的是一个异常对象,说明这里肯原创 2021-11-30 14:39:39 · 231 阅读 · 0 评论 -
Java基础-07-线程,多线程(同步与异步)
什么是线程?线程是指程序在执行过程中,能够执行程序代码的一个执行单元。线程有4种状态:运行,就绪,挂起和结束线程与进程有什么区别?进程是指一段正在执行的程序。而线程有时也被称为轻量级进程,它是程序执行的最小单元,一个进程可以拥有多个线程,各个线程之间共享程序的内存空间 (代码段、数据段和堆空间) 及一此游程级的资源(例如打开的文件),但是各个线程拥有自己的栈空间。为什么要使用多线程?使用多线程可以减少程序的响应时间。在单线程(单线程指的是程序执行过程中只有一个有效操作的序列,不同操作之间都原创 2021-11-29 23:16:09 · 434 阅读 · 0 评论 -
Java基础-06-HashMap,Hashtable,TreeMap区别 & Collection和Collections-容器总结(二)
HashMap,Hashtable,TreeMap,WeakHashMap有什么区别?HashMap是最常用的Map,根据HashCode值存储数据,根据键可以很快获取值,访问速度很快Hashtable与HashMap:由于HashMap与Hashtable都采用了hash法进行索引,两者具有许多相似之处,主要的区别如下HashMap是Hashtable的轻量级实现(非线程安全的实现),主要区别是HashMap允许空(null)键值(key)【最多只允许一条记录的键为null,不允许多条记录的值为原创 2021-11-28 00:47:58 · 176 阅读 · 0 评论 -
Java基础05-Collection集合(List,Set),Map-容器总结(一)
容器Java Collections 框架包含大量集合接口和这些接口的实现类,主要提供了List(列表),Queue(队列),Set(集合),Stack(栈),Map(映射表)等数据结构。Collection(集合)List,Queue,Set,Stack都继承自Collection接口功能简单概述添加功能boolean add() //添加一个元素Boolean addAll(Collection c) //添加一个集合的元素删除功能void clear() //移除所有元素原创 2021-11-27 00:00:22 · 542 阅读 · 0 评论 -
Java基础04-字节流,字符流,转换流
IO流在Java语言中 ,输入和输出都被成为抽象的流,流的本质是数据传输根据处理类型的不同可分为:每个抽象类都有很多的具体实现类字节流(包含两个抽象类)InputStream输入流OutputStream输出流字符流(包含两个抽象类)Reader(输入流)Writer(输出流)字符流和字节流最主要的区别:字符流在处理输入输出时用到了缓存,而字节流不会用到缓存字符流 = 字节流 + 编码表InputStreamFileInputStream:读取文件的输入字节流原创 2021-11-25 23:02:41 · 391 阅读 · 0 评论 -
Java基础03 - 内部类(成员内部类,局部内部类,匿名内部类)
1.定义把类定义在另一个类的内部,该类被称为内部类2.访问规则可以直接访问外部类的成员,包括私有外部类想要访问内部类成员必须创建对象3.内部类的分类3.1成员内部类成员内部类不是静态的:Outer.Inner ClassName = new Outer.new Inner();成员内部类是静态的:(静态内部类)Outer.Inner ClassName = new Outer.Inner();被静态修饰的成员内部类只能访问外部类的静态变量3.2局部内部类定义在一个代码块的类原创 2021-11-23 23:42:00 · 220 阅读 · 0 评论 -
Java基础02-String,StringBuffer,StringBuilder和StringTokenizer
String,StringBuffer,StringBuilder有什么区别?String是不可变类,String对象一旦被创建,值不会被改变;StringBuffer是可变类,被创建后仍可以对值修改String实例化时,可以利用构造函数String s1 = new String("world")的方式,也可以用赋值String s = "Hello"的方式;而StringBuffer只能使用构造函数StringBuffer s = new StringBuffer("Hello")的方式初始化S原创 2021-11-22 22:52:35 · 380 阅读 · 0 评论 -
Java基础01-面向对象-字符串创建机制-static关键字
面向对象技术主要特征: 抽象 继承 封装 多态重载和覆盖有什么区别字符串创建与存储机制static关键字原创 2021-11-20 23:52:25 · 376 阅读 · 0 评论