![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
xmy1208945213
这个作者很懒,什么都没留下…
展开
-
Java中getResourceAsStream的用法
首先,Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoade...转载 2020-09-15 14:30:26 · 106 阅读 · 0 评论 -
Java反射概述
反射1. 获取Class类的对象 我们要想通过反射区使用一个类,首先我们要获取到该类的字节码文件对象,也就是类型为Class类型的对象。这里我们提供三种方式获取Class类型的对象。使用类的class属性来获取该类对应的Class对象。举例:Student.class将会返回Student类对应的Class对象调用对象的getClass()方法,返回该对象所属类对应的Class对象。该方法是Object类中的方法,所有的Java对象都可以调用该方法使用Class类中的静态方法forName(S原创 2020-09-10 10:48:38 · 97 阅读 · 0 评论 -
synchronized和Lock的区别
下面简单列举一下synchronized和Lock的区别。之后进行详细的解释。类别synchronizedLock存在层次Java的关键字,在jvm层面上是一个类锁的释放1、以获取锁的线程执行完同步代码,释放锁 2、线程执行发生异常,jvm会让线程释放锁在finally中必须释放锁,不然容易造成线程死锁锁的获取假设A线程获得锁,B线程等待。如果A线程阻塞,B线程会一直等待分情况而定,Lock有多...原创 2019-09-21 12:03:24 · 79 阅读 · 0 评论 -
重写和重载的详细解析
重载(Overload)指的是在同一个类中,存在多个名称相同的方法,但是这些方法的参数个数,参数类型,或者参数顺序不同。在满足前面三个条件任意其中一个的情况下,方法的返回类型和访问修饰符可以不同。注意: 仅仅只是方法的返回类型不同不能构成重载!!public class Test { public static void main(String[] args) { Test te...原创 2019-09-21 10:44:14 · 122 阅读 · 0 评论 -
Java基础-int和Integer的区别
在Java中有很多类的方法需要接收引用类型的对象作为传入参数,此时就无法将一个基本数据类型的值传入。为了解决这样的问题,JDK提供了一系列的包装类,通过这些包装类可以将基本数据类型的值包装为引用数据类型的对象。基本类型对应的包装类如下表所示。基本数据类型对应的包装类byteBytecharCharacterintIntegershortShort...原创 2019-09-05 16:20:27 · 148 阅读 · 0 评论 -
Java基础-String类和StringBuffer类的区别。
String类String类表示的字符串是常量,一旦创建后,字符串的内容和长度都无法改变,并且被声明为final class,不可以被继承,成员属性中除了hash之外都被final修饰,当通过String的构造函数初始化新的String对象时,也只是根据传入的引用对象的value和hashcode进行了赋值。下面是String的部分源码。public final class String ...原创 2019-09-05 13:03:13 · 308 阅读 · 0 评论 -
Java基础-线程
线程的创建Java提供了两种多线程实现方式,一种是继承java.lang包下的Thread类,重写Thread类的run()方法,在run()方法中实现运行在线程上的代码;另一种是实现java.lang.Runnable接口,同样是在run()方法中实现运行在线程上的代码。接下来就对这两种创建多线程的方法分别介绍。继承Thread类创建多线程在Java中提供了一个线程类Thread,通过继承...原创 2019-09-04 14:39:31 · 298 阅读 · 0 评论 -
Java之接口
接口的定义如果一个抽象类中所有的方法都是抽象的,则可以用另一种方式来定义这个类,即接口。interface Animal{ int ID = 1; // 定义全局常量 void breathe(); //定义抽象方法 void run();上面的代码中,Animal即为一个接口。接口中定义的方法默认使用public abstract修饰,即抽象方法。接口中的变量默认使用public ...原创 2019-09-04 10:19:35 · 269 阅读 · 0 评论 -
Java为什么要在类中声明一个无参构造方法
Java中定义无参构造方法的意义在Java程序编写中,子类的构造方法必定会调用父类的构造方法,如果在子类的构造方法中没有指定调用父类的哪个构造方法,在实例化子类对象时,子类会默认调用父类的无参构造方法。如果在父类中没有定义无参构造方法的话,编译会报错。下面是一个实际例子。class Animal{ // 定义有参的构造方法 Animal(String race){ ...原创 2019-09-03 21:26:28 · 7614 阅读 · 0 评论 -
Java基础-设计模式
在编写程序的时经常会遇到一些典型的问题或需要完成某种特定的需求,设计模式就是为了针对这些问题和需求,在大量的实践中总结和理论化之后优选的代码结构、编程风格以及解决问题的思考方式。设计模式就像是经典的棋谱,不同的棋局,我们就可以用不同的棋谱,免得自己去思考和摸索。下面介绍一下常用的设计模式单例模式单例模式是Java中的一种设计模式,它是指在设计一个类的时候,需要保证在整个程序的运行过程期间针对...原创 2019-09-03 18:22:15 · 121 阅读 · 0 评论