JAVA
doforfuturedx
加油↖(^ω^)↗
展开
-
Java主函数
主函数作用:运行的起始点,主函数使类可以独立运行特点:没有主函数,可以编译,但是不能运行有主函数的类被称为驱动类格式必须是: public static void main(String[] args){ }public: 因为必须被外部函数调用static: 实现不创建对象即可调用void: 没有接收返回参数的值String[] 字符串数组类型的参数...原创 2019-11-23 16:42:53 · 410 阅读 · 0 评论 -
Java标识符和关键字
java关键字:定义:关键字不能用作变量名、方法名、类名、包名和参数,是事先定义的,有特别意义的符号特点:java关键字都是小写java标识符:组成: 字母、数字、_、$,不允许数字开头,最多225个字符特点:case-sensitive以大写字母开始:类名、常量名(全大写)、工程名以小写字母开始: 对象名、方法名以及变量名、包...原创 2019-11-23 16:32:26 · 96 阅读 · 0 评论 -
JAVA-命令
java和javac命令javacjava执行者jdkjdk 、jre执行对象.java文件.class文件执行格式javac demo.javajava demo执行查找路径只有当前路径当前路径 or classpath包含的路径...原创 2019-11-23 16:23:06 · 83 阅读 · 0 评论 -
JDK JRE
文章目录基本概念环境变量path环境变量CLASSPATH环境变量java和javac命令常问问题安装JDK是为什么有两个JREJRE和JDK的区别path环境变量和classpath环境变量的区别参考文献基本概念环境变量操作系统中一个具有特定名字的对象,包含应用程序所将使用到的信息,指定操作系统运行环境的一些参数path环境变量指定可执行文件的搜索路径,在操作系统不知程序所在的完整路径...原创 2018-10-04 15:51:14 · 206 阅读 · 0 评论 -
编译时类型和运行时类型
编译期只会检查实例声明的类型和强制转化的类型是否存在extends/implements关系,而程序的其他错误在运行时期才能获取。Java的引用变量有两个类型:编译时类型由声明该变量时使用的类型决定运行时类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,运行时执行调用方法(属性不会)时会出现所谓的多态。如:Person person = new Student();...原创 2018-11-01 11:21:55 · 277 阅读 · 0 评论 -
Java关键字
访问控制符thissuperstaticfinalabstract访问控制符 private default protected public 同一个类中 √ √ √ √ 同一个包中 √ √ √ 子类中 √ √ 全局范围内 √...原创 2018-06-05 18:06:30 · 267 阅读 · 0 评论 -
Java基本数据类型
定义分类根据存储方式分类根据存储位置分类常量变量类型转换自动类型转换:强制类型转换:包装类String类定义计算机中数值的存储方式,设定数值存储单元的存储位置,存储长度和存储形式分类根据存储方式分类 类型 占用字节数 表示范围 byte 1 -128~127 short...原创 2018-06-09 21:12:16 · 249 阅读 · 0 评论 -
Java数组
数组的声明int[] array;或者int []array;或者 int array[];注意: 1) 声明时,[]内必须为空,因为此处[]只代表其为数组类型 2) 单纯声明并不对数组分配内存地址和空间数组的创建array = new int[10];注意: 1) 创建数组时,[]内必不为空,即创建数组对象时,必须指定其元素个数, [] 里面为常量...原创 2018-06-05 11:49:49 · 130 阅读 · 0 评论 -
Java-String类
文章目录常量池中的字符串String类的特点String和Array的转化==和equals()比较常量池中的字符串常量池中的字符串String类的特点String类是final类,它的成员方法都默认为final方法,成员变量是final的char数组String对象一旦被创建就是固定不变的了,对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象。...原创 2018-10-11 22:49:10 · 95 阅读 · 0 评论 -
Java包装类
文章目录包装类类型转换比较操作参考文献包装类8个基本类型都有对应的包装类型,以方便基本类型也能继承Object类,以方便使用。类型转换JDK 1.5以后提供了自动装箱和自动拆箱。Integer x = 2; // 装箱int y = x; // 拆箱由于自动装箱,在需要Integer对象类型的参数时,填入int类型的参数会自动装箱为Integer类型;由...原创 2018-11-17 22:59:44 · 1014 阅读 · 0 评论 -
Java集合类
文章目录迭代器-Iterator接口常用方法集合类集合类的由来集合类VS数组集合类的分类和比较Collection接口父类:Iterable接口常用方法常用方法常用子类ListSetHashSetQueueMap接口常用方法常用子类HashtableHashMapTreeMap常见问题集合遍历时的删除集合遍历方法迭代器-Iterator接口常用方法boolean hasNext()...原创 2018-10-26 21:48:50 · 134 阅读 · 0 评论 -
Java不可变类
文章目录不可变类参考文献不可变类定义:可变类:类的实例变量创建后,其成员变量可以再赋值不可变类:类的实例变量创建后,其成员变量不可更改例子:Java 中八个基本类型的包装类和 String类都属于不可变类,而其他的大多数类都属于可变类。特点:安全在多线程情况下,一个可变对象的值很可能被其他进程改变,这样会造成不可预期的结果,而使用不可变对象就可以避免这种情况...原创 2018-11-17 23:01:42 · 129 阅读 · 0 评论 -
Java-Class类
Class类的定义Class对象的定义Class对象的产生和使用Class对象的特点参考文献Class类的定义用来表示运行时类型信息的类,,存在于JDK的java.lang包中。Class对象的定义手动编写的类进行编译后的.class字节码文件保存的就是Class对象Class对象的产生和使用当我们new一个新对象或者引用静态成员变量时,Java...原创 2018-08-05 19:31:57 · 171 阅读 · 0 评论 -
Java内部类
定义编译用途分类成员内部类:定义在类内,函数体外局部内部类:定义在函数内匿名内部类:定义在函数内使用定义在类内部定义的类,不包含main方法 (因为内部类寄生于外部类或外部类对象,JVM在调用内部类时,一定先调出外部类,并进入其主方法,若主方法在内部类中,则无法找到主函数,运行失败)编译内部类对象存在,外部类对象 一定存在; 外部类对象存在...原创 2018-06-09 11:42:48 · 111 阅读 · 0 评论 -
Java-package
文章目录产生原因含义语法常见问题为什么不能import非static方法和成员变量3)包所在的文件夹可以任意—可以通过 javac -d 包所在文件夹 类名.java 命令进行指定 或直接建立相应文件夹,并将.class文件放入产生原因避免 .java 文件中类/接口/静态方法/静态成员变量的同名冲突便于对 .class文件分类管理含义package(包)起限定和管理功能:...原创 2019-08-29 12:29:32 · 117 阅读 · 0 评论 -
泛型
泛型定义泛型的擦除和补偿泛型的使用泛型类,泛型接口,泛型函数参考文献泛型定义jdk1.5 出现的安全机制,之前不指定类型时,任何类型都能丢入容器,取出集合中的元素时,取出的元素都是object类型,无法直接获知存入时元素的类型,所以在获取时,要转换成某一种类型时会不安全,因而产生了泛型机制。具体而言,泛型为:编译时,对存入的集合元素类型进行检查,...原创 2019-03-14 17:02:31 · 111 阅读 · 0 评论 -
Java线程状态
出现的原因:程序 进程 线程JAVA中的线程:启动过程的注意事项:命名:运行:出现的原因:进程:CPU太快了,而I/O速度太慢,资源利用率太低,因而出现了并行处理(让不需等待某种系统资源的程序先执行),也即多进程—提升资源利用率,多任务可并行实现线程:为实现高资源利用率而对进程并行切换造成的系统开销较大,因而将进程划分为多个线程程序 进程 线程...原创 2018-12-25 08:31:35 · 128 阅读 · 0 评论 -
Java线程启动相关知识点
JVM启动时就启动了至少2个线程:主线程(执行main函数的线程)+负责垃圾回收线程线程并不是新建就立即被执行,启动start()方法后也不是立即执行,需要等待JVM线程调度器调度,调度时才执行线程中run()的调用在start()内部实现的(而不是程序员显式调用)),直接调用线程的run()方法不是启动线程,只是单纯调用run()函数,启动新线程必须使用start()方法。run()由线程...原创 2018-12-24 08:57:10 · 137 阅读 · 0 评论 -
Java线程命名
1.命名时间:线程在创建对象的同时就完成了命名2.命名内容:默认情况下,主线程的名字为main,用户启动的多个线程的名字依次为Thread-0、Thread-1……原创 2018-12-24 08:48:11 · 688 阅读 · 0 评论 -
Java运算符
运算符优先级自增自检运算符位运算符逻辑运算符instanceof运算符优先级序列号符号名称结合性(与操作数)目数说明1.点从左到右双目 ( )圆括号从左到右 &a原创 2018-06-05 11:14:34 · 130 阅读 · 0 评论 -
Java正则表达式
文章目录Java中正则表达式翻译过程参考文献Java中正则表达式翻译过程当原生字符串str0中含有转义符号 \ 时,Java的编译器会检查字符串转义书写格式的正确性,并把str0转义一次为字符串str1。之后,当Java中和正则表达式相关的函数用到了str0的时候,Java编译器会把其转义后的str1传给函数,而非str0,之后,正则表达式相关的函数会把str1作为一个正则表达式进行处理(...原创 2018-11-05 16:51:45 · 101 阅读 · 0 评论 -
Java异常
定义处理思想分类特点throw和throws的区别异常处理的位置语句定义运行时期发生的不正常情况处理思想java通过面向对象的思想用类的形式对异常进行描述,即异常类。 语句try-throw catch 将正常流程代码和问题处理代码分离,提高了程序阅读性。分类Throwable:JVM异常运行时抛出的错误:Error 由JVM...原创 2018-06-05 12:03:20 · 155 阅读 · 0 评论 -
反射机制
反射机制定义实现过程配置文件优点Tomcat反射机制定义动态地获取指定类中的信息,可以理解为对类的解剖。 让程序可以获取配置文件中程序员定义类中信息并调用其中的内容。具体如何实现程序员无需知道。实现过程读取配置文件 注意:对应类如果是程序接口的子类,则不需在配置文件中说明类的详细信息,反之,则必须说明详细信息。寻找对应类(.cl...原创 2018-07-12 14:17:10 · 147 阅读 · 0 评论 -
Java注解
Annotation(注解)定义基本注解@Override@Deprecated@SuppressWarnings@SafeVarags@FuntionnalInterface元注解@Retention@Target@Document@Inherited@Repeatable参考文献Annotation(注解)定义形象理解:想像...原创 2018-08-05 20:40:34 · 1123 阅读 · 0 评论 -
Java内存模型
Java存储机制Java程序执行过程:1程序计数器虚拟机栈本地方法栈堆方法区Java存储机制Java程序执行过程:其中,==运行时数据区==包括以下几部分: 1程序计数器 IP(Instruction Pointer) PC(Program Counter Register) 位置 CPU内部寄存器...原创 2018-05-31 09:19:08 · 320 阅读 · 0 评论 -
JVM进程
唯一的JVM进程当启动Java虚拟机运行某个Java程序时,不管Java程序有多么复杂,都只占用1个JVM进程,都使用JVM进程的内存区。JVM进程结束后,进程在内存中的状态会丢失,即再次开启JVM进程,内存不会保留上次内存中的信息。JVM进程终止的情况:进程运行到最后正常结束程序运行到使用System.exit() 或 Runtime.getRuntime().exit()代码初结束...原创 2018-12-24 09:04:06 · 2919 阅读 · 1 评论 -
类的加载和实例化过程
唯一的JVM进程类加载(类初始化)的时机类加载(类初始化)的过程加载连接初始化类加载器功能分类类加载器的层次关系参考文献唯一的JVM进程当启动Java虚拟机运行某个Java程序时,不管Java程序有多慢复杂,都只占用1个JVM进程,都使用JVM进程的内存区。 JVM进程结束后,进程在内存中的状态会丢失,即再次开启JVM进程,内存不会保留上次内存...原创 2018-08-18 20:19:59 · 5871 阅读 · 2 评论 -
java的垃圾回收机制
文章目录参考文献参考文献原创 2018-10-17 11:36:18 · 110 阅读 · 0 评论 -
Java类加载器
文章目录类加载器功能分类类加载器的层次关系参考文献类加载器功能类加载器负责将未被加载的.class文件加载到内存,并为之生成对应的java.lang.Class对象。这意味着被加载的类具有唯一性。类的唯一性:一个类,由其权限定类名和类加载器作为唯一标识。也就是说,不同加载器加载的同一个类被认为是完全不同、互不兼容的。分类启动类加载器(根类加载器):使用C++实现(这里仅限于...原创 2018-11-18 10:46:12 · 100 阅读 · 0 评论 -
对象的访问定位方式:句柄、直接指针
建立对象是为了使用对象,我们的Java程序需要通过栈上的reference引用来操作堆上的具体对象。由于reference类型在Java虚拟机规范中只规定了一个指向对象的引用,并没有定义这个引用应该通过何种方式去定位、访问堆中的对象的具体位置,所以对象访问方法也是取决于虚拟机的实现而决定的。目前主流的访问方式有使用句柄和直接指针两种。什么是句柄句柄是指针的指针,句柄实际上是一个数据,是一个L...原创 2018-11-14 21:39:51 · 880 阅读 · 0 评论 -
JUnit
定义功能测试目标测试类和测试方法断言(Assert)注解(JUnit5)常用注解示例常用测试实例参数化测试打包测试异常测试限时测试Spring测试套件参考文献定义JUnit 是一个开源的 Java 编程语言的单元测试框架,用于编写和运行测试。 JUnit 促进了“先测试后编码”的理念,强调建立测试数据的一段代码,可以先测试,然后再应用。...原创 2018-08-12 20:57:42 · 730 阅读 · 0 评论 -
Java的GUI
GUI定义JavaGUI的创建javaGUI的缺点javaGUI应用举例V.S. CLIGUI定义GUI(Graphical User Interface),用户图形接口,用图形的方式,显示计算机操作的界面,更加方便直观。JavaGUI的创建Java为GUI提供的对象都存放在java.Awt和javax.Swing两个包中。javaGUI的缺点...原创 2018-07-12 14:27:43 · 224 阅读 · 0 评论