
java基础
文章平均质量分 85
农夫阿才
认真的人,自带光芒!
展开
-
框架的基石:Java反射
本文是 Java 基础系列的第一篇,关于 Java 反射的学习。在我们所熟知的各种框架中,都必须基于这门技术。而且在工作中,我们也会手动去封装一些功能或者改写一些第三方的功能,这时候熟悉掌握反射是必须的过程。希望这篇文章能帮到各位小伙伴,如有错误,还望指正。 反射的定义 反射是对类本身进一步抽象而来的。抽象是面向对象的一大特性,我们在开发中,会对某些业务属性进行抽象,但是我们有没有想过...原创 2020-03-27 00:00:58 · 320 阅读 · 0 评论 -
java.util.ConcurrentModificationException异常产生原因
问题描述错误代码错误原因是在于,迭代器遍历时候,不能直接对原集合进行操作。原创 2020-02-19 23:08:50 · 176 阅读 · 0 评论 -
java中的数组
补漏while语句和if语句,for语句同,可以不加{},直接while(i<10);1. 定义数组分两个步骤:声明和初始化之所以能够分开写,是因为new关键字分配空间 //1.定义数组 int[] arr=new int[3]; //声明 int[] arr1; //初始化 arr1=new int[2]; //给元素赋值 arr[0]=10; //输出数...原创 2020-02-19 23:03:19 · 147 阅读 · 0 评论 -
java中的线程
线程1. 概念程序进程线程2. 线程的创建方式继承Thread类实现Runnable接口3. Thread类中的常用方法1. 概念程序静态代码进程代码执行,动态执行过程,具有独立内存的线程线程是进程的最小执行单位,共享进程资源。比如main方法2. 线程的创建方式继承Thread类代码注意:线程的运行是不可预知的。继承Thread有缺点实现Runnable接...原创 2020-02-19 23:01:36 · 446 阅读 · 0 评论 -
两道java线程面试题
文章目录线程测试题网络编程线程测试题编写两个线程,一个输出数字,一个输出字母,完成如下效果网络编程udp 写信:写信 msg 地址(ip,端口号) send收信 地址(端口) recievetcp基于连接的,数据传递是安全的...原创 2020-02-19 23:00:09 · 126 阅读 · 0 评论 -
switch语句总结
1. case值只能是常量且不能重复2. 表达式的值类型支持byte,short,char,int。从jdk1.5开始支持枚举类型,从jdk1.7开始支持String类型3. 支持省略break,会有case穿透效果4. default可以省略,支持在任意位置5. switch语句结束的标志,遇到break,执行到 代码最后一行...原创 2020-02-19 22:58:47 · 367 阅读 · 0 评论 -
java中的权限修饰符
1. 权限修饰符的范围2. private考点private修饰的方法,不存在重写一说。因为本身该方法就不可见,不存在重写一说。变量隐藏、重载和多态点这里。变量、私有方法、静态方法,都不存在重写一说。都是被隐藏。解释一下静态方法:静态方法属于类,在编译时就确定了,没有什么好重写的。而之所以向上转型存在动态绑定,就是因为编译时确定不了父类的私有化成员,子类继承不到父类的构造方法、构造...原创 2020-02-19 22:53:41 · 170 阅读 · 0 评论 -
java面向对象补充
好文1. 构造方法面向对象的特征1. 封装2. 继承2.1 重写(两等两小一大原则)两等父子类中出现签名一致的方法,java将先会按照重写来看待,如果发现方法签名一致,但返回值不一致就报和父类方法返回值不匹配的编译异常不要和重载混了,方法的签名还包括括号中的参数,子类声明创建的对象,编译时就能调用父类的方法,因为有extedns关键字在好确定。但父类声明创建...原创 2020-02-19 22:52:51 · 204 阅读 · 0 评论 -
用java注解模拟登陆,模拟spring的bean标签的实现方式
1.简单地认识注解java中的注解就像是贴在类或者属性上的标签,而标签上的文字就是用注解注解中的属性来定义的。注解中的属性定义需要在名字后面加(),这样做是因为,该属性可以在其他类的方法,获取该注解的对象,调用该方法获取该注解所标签的值;案例1:模仿实现一个DAO类和一个Service类:两个测试方法,一个测试类上的注解,一个测试属性上的注解:属性的相关注意:2...原创 2020-02-19 22:51:51 · 197 阅读 · 0 评论 -
java中IO流详解
文章目录1. File类创建File对象1. File类创建File对象注意创建File类,并不是真的创建java并不会对该路径名去检测,仅仅只是根据这个文件名创建一个对象方式一:方式二:方式三:...原创 2020-02-19 22:49:20 · 363 阅读 · 0 评论 -
面试 0:类加载顺序、抽象类和接口的区别
文章目录01 类加载顺序02 抽象类和接口的区别01 类加载顺序代码:package com.rjxy.testAbstract;public class Animal { public String test = "AnimalFeild"; public static String testStatic = "AnimalStaticFeild"; public Anima...原创 2019-06-09 21:06:53 · 492 阅读 · 0 评论 -
整型默认字面量问题
byte b = 123; 为什么不报错超过byte范围便需要强制转换, short也是这样,超过short的范围便会需要强制转换。但在他们的允许范围内不会进行转换。但Java默认的整型字面量确实是int。应该是编译器对其做了优化。...原创 2019-07-28 09:12:02 · 718 阅读 · 0 评论 -
低精度的byte,short,char会自动转换成int
byte报的错误是:cannot convert from int to byte,可以看到自动转换成了int类型,而高精度到低精度需要强制类型转换:而 += 运算符号不会出错,系统自动转换了。short也同理:char类型也同理...原创 2019-07-10 20:10:13 · 997 阅读 · 0 评论 -
Java中Socket编程的常见异常
Java中Socket编程的常见异常。异常:java.net.SocketException: Connection reset。 java.net.ConnectException: Connection refused: connect。 java.net.BindException: Address already in use: JVM_Bind原创 2019-07-23 18:56:29 · 464 阅读 · 0 评论 -
Junit单元测试
文章目录01 为什么要用单元测试?02 案例入门03 练习 API 中的方法04 annotion的使用05 运行多个测试01 为什么要用单元测试?开发简单的只有一两个类的项目,当然可用一个 main 方法,来跑起来程序,然后看控制台结果判断对不对。但是一旦项目大了,有几十个包,上百个类,再用 main 方法,显然不合适了不合适一在于:不可能编写上百个main方法不合适二在于:不可能一...原创 2019-05-19 10:06:56 · 144 阅读 · 0 评论 -
二维数组和方法简介
文章目录1. 二维数组1. 二维数组二维数组可能不规则,可能规则,不一定。定义数据类型[][] a;int a[][];int[] a[]; //不常用创建数组a = new int[2][3]; //两行三列,规则的二维表a = new int[2][]; //正确a = new int[][3]; //错误public class Demo01 { pu...原创 2019-07-15 08:47:52 · 310 阅读 · 0 评论 -
算术运算符、if语句和switch语句
文章目录1.算术运算符:+,-,*,/,%2. 连接符 +3. 赋值运算符4. 自增自减运算符++ --5. 比较运算符6. 逻辑运算符7. 二进制运算符 & | ^ ~8. 两个数交换的解决方案9. 三目运算符10. 赋值运算符11. 语句种类12. package语句13. import语句14. if语句15. switch语句16. 循环1.算术运算符:+,-,*,/,%“+...原创 2019-07-11 08:31:41 · 1028 阅读 · 0 评论 -
for循环、标号语句和数组
文章目录1. for循环语法格式需要注意的地方2. 跳转语句3. 标号语句4. 数组1. for循环语法格式需要注意的地方格式1(死循环)for(;;){}格式2(死循环)int i=1;for(;i<10;)格式3(正确)int a,b;for(int i=0,j=0;true;j++,i++){}格式4int a,b;for(int i=0,j=0;true,i...原创 2019-07-11 08:32:09 · 878 阅读 · 0 评论 -
多态、static、final、抽象类和接口
文章目录1.多态实现代码的重用2.继承关系中构造方法调用3. static关键字static 修饰的变量(类变量)静态块static修饰的方法3.final4. 抽象类和接口5. 接口1.多态实现代码的重用public class Animal { public void eat(){}}public class Bird extends Animal{ public void ea...原创 2019-07-17 09:03:19 · 360 阅读 · 0 评论 -
面向对象之封装、继承和多态
文章目录1. 面向对象2. 面向对象编程,面向过程编程3. 构造方法4. this5. 面向对象的三大特征:封装、继承、多态封装继承多态1. 面向对象类:具有相同特征的一类事物的抽象类体中包含成员变量和方法类成员:成员变量和方法变量分类:成员变量:(static的也是)有没有static修饰:分为类变量和实例变量静态方法不能使用实例方法,实例方法能使用静态方法,优先问题。局部变...原创 2019-07-15 08:47:28 · 298 阅读 · 0 评论 -
java面试题--虚拟机、拆箱装箱、线程创建、泛型等
文章目录1. 什么是java虚拟机?为什么java可以跨平台?2. Java支持的数据类型有哪些?什么是自动拆箱装箱?3. 创建线程的方式有几种?4.进程和线程的区别5. 什么是死锁?6.什么是泛型,怎么使用,有什么好处?7.& 和 && 的区别8.输入一个字符串,统计这个字符串中的字母,数字,符号,和空格的个数1. 什么是java虚拟机?为什么java可以跨平台?答:...原创 2019-12-03 18:27:41 · 158 阅读 · 1 评论 -
lamada表达式以及各种内部类
文章目录原创 2019-07-17 09:03:35 · 275 阅读 · 1 评论 -
变量问题
文章目录1. 字面量默认类型问题2. 变量在操作之前可以不给值3. byte类型的提升问题4. 字符转换问题5. 所有的类型都不能赋值给char,除了它本身6. char类型可以提升为int,float,double类型,但赋值给byte,int,short都需强转7. byte,short,char在底层都是以int类型32位存储的8. char,byte,short无论做任何操作,都会提升为i...原创 2020-01-02 15:49:22 · 663 阅读 · 0 评论 -
java中自增和自减的窍门
文章目录用法练习1:练习2:练习3:练习4:练习5:练习6:练习7:练习8:练习9:用法后++遵循先用后变的原则,此处的先用后变化指的是“变化后用旧值”。并不是用了之后才变,执行完++之后就已经发生改变了,只不被++的变量发生操作时,使用的还是初始值。debug模式下就是这个效果;根据上条原则,如果表达式很长,可以快速写出对应值,算出结果注意运算符的运算对象。自增、自减运算符只能作...原创 2019-08-19 21:39:36 · 538 阅读 · 0 评论