![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA基础
文章平均质量分 56
我是传奇丶丶
不要着急,你想得到的,岁月都会给你
展开
-
JAVA 基础(三十九)反射机制
【定义】JAVA反射机制是在运行状态中,对于任意一个类(class文件),都能够知道这个类的所有属性和方法。对于任意一个对象,都能够调用它任意一个方法和属性;这种动态获取信息以及动态调用对象的方法的功能称为java语言的反射机制简单来讲就是动态获取类中信息,就是java反射,可以理解为解剖【应用场景】比如说现在我们有一个已经写好的应用软件,已经可以独立运行了。软件如果...原创 2020-02-11 10:56:44 · 90 阅读 · 0 评论 -
TCP练习
【文本转换】public class TransClient { /** * @param args * @throws IOException * @throws UnknownHostException */ public static void main(String[] args) throws UnknownHostEx...原创 2020-02-09 14:22:49 · 114 阅读 · 0 评论 -
JAVA网络编程
【网络模型】OSI 应用层、表示层、会话层、传输层、网络层、数据链路层、物理层TCP/IP --------应用层--------、传输层、网际层、----主机至网络层-- 【网络通讯要素】IP地址端口号传输协议【网络分层】1.物理层主要定义物理设备标准,如网线的接口类型,光纤的接口类型、各种传输介质的传输速率等。它的主要作...原创 2020-02-09 14:22:14 · 248 阅读 · 0 评论 -
编码表
这篇博客讲得更加详细:https://www.cnblogs.com/davidwang456/p/7766956.html【由来】计算机早期只能识别二进制数据,早期由来是电信号,为了方便应用计算机,让它可以识别各个国家的文字(也就是让计算机和生活中的文字产生对应关系)。就将各个国家的文字用数字来表示,并一一对应,形成一张表。这就是编码表的由来。ASCII:美国标准信息交交换码...原创 2020-02-02 11:27:57 · 353 阅读 · 0 评论 -
JAVA基础(三十八)File
【概念】1.将文件和文件夹封装成了对象,方便对文件和文件夹的属性信息进行操作File对象可以作为参数传递给流的构造函数【构造方法】//可以将一个存在或者不存在的文件或者目录封装成file对象File file=new File("c:\\a.txt");File file2=new File("c:\\","a.txt");File f=new File("c:\\")...原创 2020-02-02 11:24:43 · 211 阅读 · 0 评论 -
IO流相关练习
【文件切割】public class SplitFileDemo { private static final int SIZE = 1024 * 1024; /** * @param args * @throws Exception */ public static void main(String[] args) throws Exc...原创 2020-02-02 11:22:44 · 102 阅读 · 0 评论 -
JAVA基础(三十七)IO流
【分类】按操作数据分为两种:字节流和字符流字节流的两个顶层父类:1.inputstream 2.OutputStream字符流的两个顶层父类:1.Reader 2.Writer这些体系的子类都以父类名作为后缀。而且子类名的前缀就是该对象的功能记住:如果操作文字数据,建议优先考虑字符流。而且要将数据从内存写到硬盘上。要使用字符流中的输出流Writer...原创 2020-02-02 11:21:18 · 200 阅读 · 0 评论 -
java基础(二十三)接口
对于接口当中常见的成员:而且这些成员都有固定的修饰符1.全局常量:public static final2.抽象方法:public abstract接口中的成员都是公共的权限interface Demo{ public stati final int NUM=4; public abstract void show1(); public abstract void show2();}如果不写这些...原创 2018-06-10 17:44:34 · 122 阅读 · 0 评论 -
java基础(二十四)多态
在java中一个对象有多种形态存在,叫做多态例如: class animal{}class cat extend animal{}表现形式animal x=mew Cat();x 这类事物既具备猫额形态,又具备动物形态。这就是对象的多态简单的说:就是一个对象对应着不同类型多态在代码中的体现:父类或者接口的引用指向子类对象多态的好处: 提高了代码的扩展性,前期定义的代码可以使用后期的内容...原创 2018-07-14 21:01:56 · 164 阅读 · 0 评论 -
java基础(二十五)Object
Object的概念object是所有类的根类object是不断抽取而来,具备着所有对象都具备的共性内容object相关API1.equals(object obj)用于判断两个对象是否相同,比较的是地址,地址相同就返回true;1.1.equals覆盖public class Person{private int age;public Person(int ag...原创 2018-09-01 17:20:02 · 121 阅读 · 0 评论 -
java基础(二十六)异常
【什么是异常】异常:是在运行时期发生的不正常情况。。在java中用类的形式对不正常的情况进行了描述和封装对象。描述不正常的情况的类,就称为异常类。以前正常流程代码和问题处理结合,现在将正常流程代码和问题处理代码分离,提高阅读性。其实异常就是java通过面向对象的思想将问题封装成了对象。用异常类对其进行描述。不同问题用不同的类进行具体的描述。比如角标越界。空指针等等。类中包含...原创 2018-09-02 15:32:16 · 109 阅读 · 0 评论 -
java基础(二十七)包
包与包之间的类进行访问,被访问的包中的类必须是public的,被访问的包中的类的方法也必须是public修饰符权限: public protected default private同一类中 ok ok ok ok同一包中 ok ok ...原创 2018-09-02 16:39:28 · 93 阅读 · 0 评论 -
java基础(二十八)多线程一
【概念】进程:正在运行的程序叫做进程。比如,我开了一个QQ,那么QQ在内存中就占了一块内存。线程:进程是不直接执行的,执行程序由线程来执行。进程只是负责分配内存控件。线程是执行路径(控制单元)。一个进程中可以多执行路径,称之为多线程一个进程中至少要有一个线程而多线程的运行是由cpu来切换处理的,这个切换的时间是很短的。其实应用程序的执行都是cpu在做着快速切换完成的。这...原创 2018-10-04 18:49:14 · 101 阅读 · 0 评论 -
java基础(二十九)多线程二 线程安全
【线程安全问题现象】例:class Demo implements Runnable{ private int num=100; public void run(){ while(true){ if(num>0){ try{ Thread.sleep(10); ...原创 2018-12-01 18:38:50 · 102 阅读 · 0 评论 -
java基础(三十)多线程三 线程间的通信
【等待唤醒机制】涉及的方法:1.wait():让线程处于冻结状态,被wait的线程会被存储到线程池中2.notify();唤醒线程池中的一个线程(任意的线程)3.notifyAll();唤醒线程池中所有的线程这些方法都必须定义在同步中。因为这些方法是用于操作线程状态的方法必须要明确到底操作的是哪个锁上的线程即:调用的时候,锁.wait();...ps:这些方法...原创 2018-12-01 18:40:22 · 91 阅读 · 0 评论 -
java基础(三十一)Stringbuffer和StringBuilder
【StringBuffer】构造方法:StringBuffer();构造一个不带字符串的缓冲区,初始化容量为16个字符.当超过16个字符时他会复制一个新的字符数组,然后把原来的字符串赋值过去(Stringbuffer内部用字符数组实现)。StringBuffer(int capacity);构造一个不带字符串,但具有指定容量的字符串缓冲区。初始化一个刚刚好的,就不用做多余复制数组的动作...原创 2018-12-13 00:11:00 · 101 阅读 · 0 评论 -
java基础(三十二)String类
【概念】字符串是一个特殊的对象字符串一旦初始化就不可以被改变String s="abc";String s1="abc";String s2=new String("abc");此时 s==s1; 这个表达式是true 因为这两个指向的地址一样s==s2,这个表达式是false,因为他们指向的地址一样s="abc";是在字符串常量池中创建对象,如果常量池中已经...原创 2018-12-16 19:56:34 · 180 阅读 · 0 评论 -
java基础(三十三)基本数据类型包装类
【概念】 基本数据类型对象包装类 为了方便操作基本数据类型值,将其封装成了对象,在对象中定义了属性和行为丰富了该数据的操作。 用于描述该对象的类就称为基本数据类型对象包装类 byte Byteshort Shortint Integerlong Longfloat Floatdouble Doublechar Characterboolean ...原创 2018-12-29 00:52:55 · 120 阅读 · 0 评论 -
JAVA基础(三十四)集合
【集合的由来】 对象用于封装特有数据,对象多了需要存储,如果对象的个数不确定。就使用集合容器进行存储【集合框架的构成及分类】1、集合的顶层Collection |--List:有序(存入和取出的顺序一致),元素都有索引(角标),元素可以重复。 |--Set:元素不能重复,无序。 Map | ...原创 2019-04-17 01:40:09 · 133 阅读 · 0 评论 -
JAVA基础(三十五)集合相关工具类
【Arrays工具类】数组转成集合Arrays.asList();可以使用集合的方法操作数组中的元素注意:数组的长度是固定的,所以对于集合的增删方法是不可以使用的集合转成数组使用的就是Collection接口中的toArray方法。集合转成数组:可以对集合中的元素操作方法进行限定。不允许对其进行增删长度最好指定为集合的sizeString[]arr=list.t...原创 2019-05-03 13:49:58 · 88 阅读 · 0 评论 -
JAVA基础(三十六)calender、date、math、system
【Calender日历】日历类需要根据键来取值Calendar c=Calendar.getInstance();获取年份int year=c.get(Calendar.YEAR);月份int month=c.get(Calendar.MONTH)+1;天int day=c.get(Calendar.DAY_OF_MONTH);weekint week=c.ge...原创 2019-06-01 16:22:59 · 119 阅读 · 0 评论 -
java基础(六)java程序运行的三个步骤
Java程序的3步1.将Java代码写到扩展名为.java2.通过javac命令对该java文件进行编译, 生成为.class文件3.通过java命令对生成的class文件进行运行。原创 2018-05-11 00:21:13 · 10309 阅读 · 2 评论 -
java基础(二十二)抽象类
特点:1.方法只有声明没有实现时,该方法就是抽象方法,需要被abstract修饰。 抽象方法必须定义在抽象类中。该类必须也被abstracts修饰。2.抽象类不可以被实例化,因为调用抽象方法没有意义,也就是不能new对象3.抽象类必须有其子类覆盖了所有的抽象方法后,该子类才可以实例化 否则还是抽象类tips:1.抽象类中有构造函数吗?有,用于给子类对象进行初始化2,抽象类可以不定义抽象方法吗...原创 2018-06-09 16:19:49 · 218 阅读 · 0 评论 -
Android:三种对话框比较
https://blog.csdn.net/androidstarjack/article/details/73824885转载 2018-06-07 13:51:49 · 237 阅读 · 0 评论 -
java基础(十一)位运算
位运算符就是二进制位的运算运算符<< 左移>> 右移>>> 无符号右移& 与运算 | 或运算^ 亦或运算~ 反码与运算(&)6&3=2 110&011------- 010=2或运算(|)6|3=7 110| 011------ 111=7异或运算(^)6^3=5 110^ 011--...原创 2018-05-13 13:02:12 · 212 阅读 · 1 评论 -
java基础(十)运算
【算术运算符】%运算1%5=12%5=2。。。模运算时当左边的数比右边的小时取模运算得到的值为左边的数3+"2"="32""5+5="+5+5="5+5=55"字符串加任何类型都得字符串【赋值运算】int a=3,b;b=a++System.out.println("a="+a+",b="+b);结果是 a=4,b=3;int i=3;i=i++;System.out.println(&q原创 2018-05-13 02:55:42 · 365 阅读 · 0 评论 -
java基础(九)变量
变量概念; 变量是内存中的一个存储区域 该区域有自己的名称(变量名)和类型(数据类型) 该区域的数据可以在同一类型范围内不断变化【数据类型】包括:基本数据类型:数值类型:整数类型(byte,short,int,long) 浮点类型(float,double)字符型(char) 布尔型(boolean)引用数据类型类(class) 接口(interface)数组([])【变...原创 2018-05-13 02:27:19 · 100 阅读 · 0 评论 -
java基础(八)进制
对于整数:有四种表现形式二进制:0,1 满2进1八进制:0-7,满8进1 用0开头十进制:0-9,满10进1十六进制:0-9,A-F,满16进1 用0x开头【进制的由来】计算机中存储的都是电信号,电信号包含的信号无非就是0,1,计算机中的文字、图片都是电信号演变来的。但是由0,1能表示的东西太少了,所以为了表示的东西更多,用8个0,1来表示。所以 1byte字节=8个二进制位。【进制转换...原创 2018-05-13 01:17:05 · 628 阅读 · 0 评论 -
java基础(七)语言基础
Java语言基础组成【关键字】 被java赋予特殊含义的单词【标识符】 由26个英文字母大小写,数字:0-9符号:_$组成 规则:数字不可以开头,不可以用关键字【注释】 单行注释 // 多行注释 /**/ 文档注释 /** */ 文档注释和多行注释的区别是,文档注释可以使用javadoc进行...原创 2018-05-13 01:11:59 · 109 阅读 · 0 评论 -
java基础(五)jdk环境变量配置
为什么要配置环境变量?如果不配置环境,那么你只能在命令所在的路径下,就比如你要执行javac命令,那么你要进入到javac.exe所在的路径下才能执行,而我们希望的是在任何目录下都能执行到这个应用程序。如notepad,在任何目录下都能执行到,这就是配置环境的原因。为什么在任何目录下都能执行notepad呢?因为系统如果在当前目录下没有找到notepad,它会到Path的路径中去找,所以我们可以把...原创 2018-05-10 01:58:25 · 96 阅读 · 0 评论 -
java基础(四)常用命令行
1.查看硬盘中的目录e: 进入e盘dir 查看目录列表 2.退到上一级目录:cd..3.进入文件夹cd xxx* (cd 相当于进入的意思,xxx表示文件的头几个字母)4.直接退回到根目录 cd\5.创建文件夹mk +文件夹名6.删除文件夹(文件夹是空的才能删除)rd +文件名 remove 英文缩写7.删除文件 del +文件...原创 2018-05-10 01:30:37 · 102 阅读 · 0 评论 -
java基础(三)JDK和JRE
JRE:java运行环境,能运行java程序的环境。JRE包含了java程序所需的核心类库和JVMJDK:java的开发工具包JDK是提供给java开发人员使用的,其中就包含了java的开发工具,也包括了JRE。所以安装了JDK就不用单独安装JRE了。开发工具包括:编译工具(javac.exe) 打包工具(jar.exe)简而言之:使用JDK开发完成的java程序,交给JRE去运行...原创 2018-05-10 01:03:35 · 108 阅读 · 0 评论 -
java基础(二)
【1】java的特点:跨平台性java语言程序一次编译到处运行这样特性,如java开发的扫雷,可以在WINDOW中运行,也可以在Linux中运行,而其他语言不行。原理:依赖的是JVM虚拟机,对应平台安装对应的JVM版本。java是在JVM中运行,所以与平台没有关系PS:凡是用C/C++编写的语言都可以在WINDOW中运行,因为WINDOW平台本身是C语言开发的,所以内置了C的解析...原创 2018-05-10 00:54:26 · 120 阅读 · 0 评论 -
java基础(十四)排序与查找
【选择排序】概念:挨个比首先得出最小(最大值),接着得到第二最小值(最大值)例:从小到大排序19 ,34,13,109,11,56过程:第一轮:19<34 不用动19>13 调换位置 13,34,19,109,11,5613<109 不用动13>11 调换位置 11,34,19,109,13,5613<109 不用动 第一次循环的结果是11,34,19...原创 2018-05-19 15:30:07 · 142 阅读 · 0 评论 -
java基础(十五)面向对象
【概念】例子:对象装进冰箱面向过程:例如c语言打开冰箱存储大象关上冰箱对于面向过程的思想,强调的是过程(动作) 面向对象:冰箱打开冰箱存储冰箱关闭强调的是对象,如例子中的(冰箱)自己的理解面向过程,强调的是 打开冰箱--》存储大象--》关闭冰箱,这样的一个过程,对应程序中的模式就是,定义一个函数实现一个功能,然后去调用这样一个过程。面向对象,关注的是冰箱有的功能,然后去指挥冰箱执行这些功能,冰箱...原创 2018-05-21 00:35:25 · 129 阅读 · 0 评论 -
java基础(二十一)final关键字
final关键字1.final是一个修饰符,可以修饰类,方法,变量2.final修饰的类不可以被继承3.final修饰的方法不可以被覆盖4.final修饰的变量是一个常量,只能赋值一次继承的弊端:打破了封装性用final关键字修饰类不可以被继承为什么要用final修饰变量。其实在程序中如果一个数据是固定的,那么直接使用这个数据就可以了,但是这样阅读性差,所以给该数据起个名称,而且这个变量名称的值不...原创 2018-06-07 01:19:11 · 147 阅读 · 0 评论 -
三种封装json数据的方式
https://blog.csdn.net/surpass0728/article/details/79372775转载 2018-06-13 17:27:23 · 9139 阅读 · 0 评论 -
java基础(二十)继承二
在子类构造对象时,发现,访问子类构造函数时父类也运行了。class Fu{ Fu(){ System.out.println("fu run")}}class Zi extends Fu{ Zi(){ super();//默认 System.out.println("zi run");}}原因是:在子类的构造函数中第一行有一个默认的隐式语句。super();子类实例化过程:子类中所有的构造函数默认...原创 2018-06-06 01:49:12 · 170 阅读 · 0 评论 -
java(十七)static
【特点】1.static 是一个修饰符,用于修饰成员。2.static 修饰的成员被所有的对象所共享3.static 优先于对象存在,因为static的成员随着类的加载就已经存在了4.static 修饰的成员多了一种调用方式,就可以直接被类名所调用,类名.静态成员。5.static 修饰的数据是共享数据,对象中存储的是特有数据【成员变量和静态变量的区别】1.两个变量的生命周期不同。 成员变量随...原创 2018-05-30 00:27:01 · 122 阅读 · 0 评论 -
java基础(十九)继承
【继承的好处】 1.提高了代码的复用性 2.让类与类之间产生了 关系,给第三个特征多态提供了前提 java中支持单继承。不支持多继承,但对c++中的多继承机制进行改良。 不支持多继承,是因为多个父类中有相同成员,会产生调用不确定性【成员变量】子类可以直接使用父类的变量当本类成员和局部变量同名用this区分当子类中的成员变量同名 用super:代表父类class Fu{ int num...原创 2018-06-05 01:43:50 · 134 阅读 · 0 评论