JavaSE知识梳理
JavaSE的知识梳理
Snaker.wang
不是生活所迫,谁愿一身才华
展开
-
如何进行单元测试
* 单元测试类* 创建单元测试类* 1、选择src,右键,选择Other* 2、搜索"test",选择"JUnit Test Case"* 3、设置包名和类名(和创建普通Java类一样)* 注意点:* 1、不能有父类* 2、不能是静态方法* 3、不能有参...原创 2019-11-22 21:44:47 · 201 阅读 · 0 评论 -
网络编程
端口:区分数据流向的软件0-65535 不要使用1024 以下的端口 (基本被用了),每一个协议拥有自己的端口,在同一个协议下端口不能重复FTP:21 HTTP:80 tomcat:80801521: oracle3306: mysql* 网络编程:* IP:定位网络上的节点,电脑,手机,服务器,路由器..(电子设备)* 网络中的IP重要分为2大...原创 2019-11-13 16:51:11 · 144 阅读 · 0 评论 -
java重点基础:线程和同步锁和线程通信
学习线程的主要知识点概要如下: 进程和线程的区别:* 1.进程:操作系统而言,进程就是程序,多进程就是多个程序同时执行* 一个进程包含一个~多个线程,每一个进程都有自己的代码和运行空间,进程之间切换开销较大,进程是资源分配的最小单位* 2.线程:程...原创 2019-11-13 14:25:30 · 142 阅读 · 0 评论 -
java重点基础:反射机制
关键知识点和补充注意这边说的Class对象的意义 三种创建反射的源头: 对象.getclass() 但是已经创建了对象,没有反射的意义 类名点.class 需要导包,不方便 Class.forName("包名+类名") 推荐使用,传递一个路径的字符串 注意反射到的类是惟一的,也就是说 Class c1="你好".getClass()...原创 2019-11-05 19:33:41 · 254 阅读 · 0 评论 -
java基础中的set 和 map
关键知识点和补充 * Set接口 无序不可重复 * List 有序可重复 * * HashSet: 底层都是有HashMap维护 * 底层: 哈希表(hashtable)(数组+链表+红黑树)实现的 重写hashcode()用来找桶,重写equals()用来比对每个桶中的内容 用数组来存储数据通过hashcode...原创 2019-11-04 20:50:55 · 169 阅读 · 0 评论 -
java基础中的Collection接口下的List接口
关键知识点及补充 容器内存放的都是引用数据类型的数据,基本类型的数据会自动装箱 所有的实现类都有属于自己的迭代器( //1.获取迭代器对象 Iterator it=col.iterator(); //2.判断是否存在下一个元素 while(it.hasNext()){ //3.获取元素 System.out.println(it.next()); //获取...原创 2019-10-31 21:32:13 · 170 阅读 · 0 评论 -
JAVA基础中的IO流
目录关键知识点及补充IO流-节点流IO流--功能流例题File类的使用复制文件复制文件夹(文件夹内有文件和文件夹)---利用了拷贝文件类字符流输入字符流输出增强字节流的使用增强字符流的使用数据处理流对象处理流(序列化):ObjectOutputStream对象处理流(反序列化):ObjectInputStream数据流:对...原创 2019-10-30 15:02:38 · 1339 阅读 · 0 评论 -
常用类 String,Stringbuffer,Stringbuilder 包装类 日期类
关键知识点和补充学会自己用API 看构造器,方法,方法的参数,方法的返回值 字符串在内存中是以字符数组的形式存储的 String是类,"aaa"这种就是类的实例,直接写存储在方法区的字符串常量池中,但是new出来的存放在堆中 String s = new String ("abc") 在方法区中创建了字符串字面常量(只有一份),堆中也创了一个对象,将方法区中的地址传递给堆 常用的方...原创 2019-10-28 20:11:22 · 223 阅读 · 0 评论 -
异常 异常处理 自定义异常
关键知识点及补充出现异常如果不解决,程序无法继续向下执行 平时我们遇到的异常看书写格式,很明显,都是类,java源码中在会出现异常的地方,都会有 throw new 异常类(); 也就是创建了异常,阻断了我们的编译,或着运行 我们也可以模仿异常的来创建自己的异常来判断阻断,异常都是继承自Exception|RuntimeException,编译时|运行时异常 增强程序健壮性只能解决程序的...原创 2019-10-28 19:29:42 · 181 阅读 · 0 评论 -
可变参数 二维数组 Arrays工具类
关键知识点和补充二维数组其实还是以一维数组的方式存储的,只是第一维存放的是第二维的首地址,第二维存放的是真实的数组内容. Arrays.toString(arr)重写了Object的toString方法,本来应该是返回的地址,用工具类后返回的是内容 ,如果用这个来输入一个二维数组的数组名,会显示每个第二维数组的地址,可以用deepToString(arr)来访问二维数组的内容. 注意!A...原创 2019-10-27 22:38:05 · 220 阅读 · 0 评论 -
Lambda表达式
Lambda表达式* 匿名内部类:为了防止过多 没有本身作用的类出现,就只是为了重写一些抽象方法,可以定义为匿名内部类* Lambda表达式 : 可以简化匿名内部类* 前提: 函数式接口* 函数式接口: 只有一个抽象方法的接口* 强制检查函数式接口: @FunctionalInterface** 语法:* () -> {}* () : ...原创 2019-10-27 21:53:00 · 116 阅读 · 0 评论 -
内部类 详解:匿名内部类 成员内部类 静态内部类 私有内部类 局部内部类
内部类类中定义类,就是内部类* 当一个类中成员,也是另一个事物,这个时候就可以把这个事物定义为内部类** 分类:* 成员内部类* 静态内部类* 私有内部类* 局部内部类* 匿名内部类 ***成员内部类* 当内部类作为外部类的成员的时候,就...原创 2019-10-25 20:21:02 · 154 阅读 · 0 评论 -
几种常见设计模式: 单例模式 工厂模式 静态代理
单例模式* 保证一个类只能有一个对象,这个特点形式的类成为单例模式,但是不影响类中原有的功能** 单例:* 懒汉式:当第一次调用的时候才创建这个实例 ----线程不安全的,效率较高* 饿汉式:在类第一次加成完成之后,就创建这个实例 ----线程安全的,效率较低** 实现:*...原创 2019-10-25 20:12:26 · 156 阅读 · 0 评论 -
接口 什么是接口 接口的使用 接口的新功能 接口的新特性
关键知识点及补充:* jdk1.8接口中新增功能* 在接口中可以定义方法体的方法:* 1.默认方法: default关键字修饰* 使用:通过实现类使用* 2.静态方法* 使用:接口名使用接口: 特殊的抽象类* interface 接口* class 类* *...原创 2019-10-25 19:17:24 · 215 阅读 · 0 评论 -
面向对象 总结
面向对象(这只是个大纲梳理,具体的细节可以看之前的博客) 思想|思维方式 类和对象 类:模板|图纸|抽取对象的像的部分|共性,定义在类中,相当于模板|图纸 属性:成员变量 功能:成员方法 成员是属于对象的 对象|事物:根据类去创建对象 构造器|构造方法|构造...原创 2019-10-25 18:49:25 · 168 阅读 · 0 评论 -
什么是抽象类 抽象类有什么好处 为什么要用抽象类
抽象类: 被abstract修饰的类* 抽象方法: 被abstract修饰的方法* 可以没有方法体* 必须在抽象类中** 注意:* 1.抽象类不能被实例化|不能创建对象* 2.抽象方法要存在与抽象类中,抽象方法必须被重写* 3.抽象类的使用:* 具体子类: 重写所有的抽象方法+ 按需新增(普通方法)...原创 2019-10-24 21:10:09 · 2641 阅读 · 0 评论 -
多态 什么是多态 多态转型 注意事项
关键知识点和补充 封装: 隐藏内部的实现细节,对外提供公共的访问方式 继承: 子类一旦继承父类,就有权使用父类中的内容 多态: 一种事物的多种形态|多种表现形式 多态的前提: 继承 多态的最终体现:父类的引用指向子类的对象 多态: 编译看左边 运行看右边 虽然都是new的右边的东西,但是父类的引用可以指向子类对象,有多种状态,但是注意对于左边的声明,子类...原创 2019-10-24 20:54:41 · 272 阅读 · 0 评论 -
继承 什么是继承 继承注意事项 继承详解
目录关键知识点和补充继承:子承父业重写 与 重载 super 和 this 之间的区别Object 类 (老祖宗)例题关键知识点和补充一个子类只能继承一个父类,一个父类可以被多个子类继承,多实现 优点:简单 缺点: 不便于后期维护 子类可以使用父类中的内容,可以定义子类独有的内容 方法重载是同一个类中,不同的方法参数;方法重写是...原创 2019-10-24 20:15:07 · 357 阅读 · 0 评论 -
this,static,final关键字,block代码块,封装,GC,导包,权限修饰符 详解
目录关键知识点和补充this关键字静态的 staticfinal 最终的block 块 {}封装System.gc()类的上面进行导包权限修饰符: 定义对象中内容的可访问范围 例题代码块问题的一个例题:垃圾回收机制导包问题关键知识点和补充this有俩种用法,第一种:调用本类的构造器,必须放在第一行使用,第二种:...原创 2019-10-23 21:16:23 · 930 阅读 · 0 评论 -
java的 内存分析|内存分析图 详解
面向对象是java的核心,在学习面向对象时候,知道在创建对象时的内存图,对学习面向对象有很大帮助,下面有简到难给大家介绍下创建对象时候的内存分析,随着学习的深入,以后的内存分析图会越来越详细.栈:自动分配连续的空间,后进先出,放置局部变量堆:不连续,放置new出来的对象方法区:也是堆,放置类的代码信息,静态变量,常量池一个对象,调用一个方法内存图:这是一个对象调...原创 2019-10-21 19:46:50 · 1887 阅读 · 0 评论 -
javaSE 入门之 构造器|构造方法|构造函数 详解
关键知识点及补充:new 关键字是用来创建对象的,开辟堆内存空间在创建对象时候先赋予默认值,再通过构造器初始化对象,将堆内存中的地址返回给new出来的对象 构造器是用来初始化值的,构造器不是用来创建对象的,但是创建对象时候会用到 构造器的方法名与类名一致,返回值类型一定是自己本身,所以不写,可以添加return,但是return不能写返回值,只能用作结束 不能和static,final,...原创 2019-10-21 19:03:57 · 239 阅读 · 0 评论 -
javaSE 之 递归 详解
关键知识点和补充:递归一定要有递归出口,不然会栈溢出,因为方法是在运行在栈中,递归在不停的调用自己的方法,上一个方法还没有结束又重新开辟了一个,一直到栈满报错 递归的效率很低,能不用就不用,但是很多方法用递归很简单,比如例题的阶乘 注意看例题的阶乘内存分析 对于九九乘法表的例题,俩种方式都可以,目的就是为了在递归头的时候结束递归什么是递归? 递归就是自己调用自己的方法...原创 2019-10-20 20:31:58 · 245 阅读 · 0 评论 -
javaSE 入门之 方法 详解
目录关键知识点和补充 什么是方法? 有返回值类型的方法 没有返回值类型的方法 方法的调用(3种): 参数: return: 不可达语句: 方法的兼容类型 方法的重载:例题关键知识点和补充:方法定义在类中的方法外,方法不...原创 2019-10-20 20:06:54 · 236 阅读 · 0 评论 -
javaSE 入门之循环详解
目录关键及补充知识点:java中的循环: while 条件循环 :do...while()循环:break 和 continue:循环嵌套:关键及补充知识点:创建一个随机数在java中可以有以下几种表示方式: 第一种:利用java.lang包下的Math类,不需要导包,随机[min,max]的整数方法是:int n = int(...原创 2019-10-18 21:23:08 · 472 阅读 · 2 评论 -
javaSE 入门之运算符详解
目录关键知识点:运算符:自增自减少运算符:赋值运算符:java中的条件运算符:java中流程控制语句:java中的switch语句:关键知识点:= 是java中唯一一个自右向左运算的符号,优先级最低 优先使用扩展赋值运算符!执行效率高,反注释工具看源码优化后的代码也是使用扩展运算符 && || 短路与 短路或 ...原创 2019-10-18 20:25:28 · 251 阅读 · 0 评论 -
变量与数据类型详解
main方法可以在一个类中定义多个方法,但是名字叫做main的主方法,只能有一个, 因为main主方法是程序的入口,逐行执行主方法中的代码标识符: 在java中一切起名字的地方这个名字都是标识符 标识符的命名规则: 1.组成数字,字母,下划线,美元符号$任意组合而成,但是数字不能开头 2.java是严格区分大小写 3.关键字和保留字不能作为标识符使用 关键字:在java中,有一...原创 2019-10-15 11:09:34 · 156 阅读 · 0 评论 -
java 入门之helloworld详解
java 入门之HelloWorld一.常用的dos命令 1.dir 罗列出当前路径下的所有内容 (directory的缩写) 2.cd 路径 切换路径(change directory) 相对路径 从当前位置到目标文职 绝对路径 从根目录到目标位置 注意:如果存在跨盘符问题,需要先切换盘符 3.cd… ...原创 2019-10-14 20:14:27 · 503 阅读 · 0 评论