
JavaSE
Java学习笔记
忙碌的上帝シ
这个作者很懒,什么都没留下…
展开
-
java进阶学习十二之自定义注解与Properties类
1: 注解 1.1 定义 : Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注内容,在运行时可以获取到标注内容 。 当然它也支持自定义 Java...原创 2020-03-20 22:28:31 · 441 阅读 · 0 评论 -
java进阶学习十一之反射
Class类 Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的。Class是.class字节码文件对象获取Class对象有三种方式:反射的前提是已经编译生成了字节码文件方式一:通过Object类的getClass()方法(前提是要有实体对象)Person person = new Person();Class c = per...原创 2020-03-20 22:07:53 · 98 阅读 · 0 评论 -
java进阶学习十之序列化和Scanner与PrintWriter类
Serializable接口是启用其序列化功能的接口。实现java.io.Serializable接口的类是可序列化的。没有实现此接口的类将不能使它们的任意状态被序列化或逆序列化。对象实现了Serializable接口才能在网络中穿行序列化:把对象转化为字节序列的过程称之为对象的序列化反序列化:把字节序列转化为对象的过程,称之为反序列化Java Serialize序列化机制缺点:序列...原创 2020-03-19 22:55:58 · 474 阅读 · 0 评论 -
java进阶学习九之网络编程基础
网络编程图解java网络编程需要写两份代码:服务端代码和客户端代码服务端与客户端通过Socket连接,两端之间通过字节流进行数据交互 socket是应用层与传输层中间的一个软件抽象层,它是一组接口。它把TCP/IP这些复杂的协议统一封装起来 对于我们只要知道如何使用socket就好,就已经符合了传输层往下的一大串协议1.服务端 服务端使用ServerSocket类创建服务端 这个类...原创 2020-03-18 22:36:44 · 124 阅读 · 0 评论 -
java进阶学习八之IO字符流
字符流树图一般用于处理文档数据如:文本文件1.字符输入流Reader 我们读取拥有中文的文件时,使用的字节流在读取,那么我们读取到的都是一个一个字节。只要把这些字节去查阅对应的编码表,就能够得到与之对应的字符。API中是否给我们已经提供了读取相应字符的功能流对象,Reader,读取字符流的抽象超类。int read():读取单个字符并返回int read(char[]):将数据读取到数...原创 2020-03-17 19:21:50 · 98 阅读 · 0 评论 -
java进阶学习七之IO字节流
字节流树图字节流一般用于操作非文本文件如:图片,视频等1.字节输入流InputStream InputStream此抽象类,是表示字节输入流的所有类的超类。定义了字节输入流的基本共性功能方法。int read();//从输入流中读取一个字节int read(byte[] b);//从输入流中读取一定数量的字节输入到缓冲数组b中,返回读取到的字节数1.1 FileInputStrea...原创 2020-03-16 22:26:11 · 119 阅读 · 0 评论 -
java进阶学习六之线程的五种状态
当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)5 种状态。尤其是当线程启动以后,它不可能一直"霸占"着 CPU 独自运行,所以 CPU 需要在多条线程之间切换,于是线程状态也会多次在运行、阻塞之间切换1 新建状态(NEW )...原创 2020-03-13 18:19:52 · 117 阅读 · 0 评论 -
java进阶学习五之线程基础
1. 简述进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。线程:线程是进程中的一个执行单元(cpu执行的最小单位),负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程...原创 2020-03-12 19:25:00 · 110 阅读 · 0 评论 -
java进阶学习四之异常
1 概念如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。另外,调用这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器。2 异常分类Throwable 是 Java 语言中所有错误或异常的超类。下一层分为 Error 和 ExceptionError...原创 2020-03-11 19:47:40 · 96 阅读 · 0 评论 -
java进阶学习三之Map
Map接口Map接口树图Map常用方法1 HashMap (数组+链表+红黑树)常用API方法:put(key,value); 添加/修改 remove(key); remove(object); 删除 get(key); 获取一个元素 keySet();获取key的集合;HashMap 根据键的 hashCode 值存储数据,大多数情况下可以直接定位到它的值...原创 2020-03-10 18:17:46 · 152 阅读 · 0 评论 -
java进阶学习二之Set
1 Set接口存放的元素无序不包含重复的集合接口。重点掌握HashSet和TreeSet1.2 HashSet集合(哈希表)不是按照存入顺序储存,而是按照哈希值来存储 元素的哈希值是通过元素的hashcode 方法来获取的 存储自定义类对象一般需要重写hashcode方法和equals方法HashSet 首先判断两个元素的哈希值,哈希值不一样将视为不同元素且不会调用equals方...原创 2020-03-09 19:21:03 · 114 阅读 · 0 评论 -
java进阶学习一之List
List中的元素是有序的,且允许重复。重点掌握ArrayList和LinkedList1.1 List接口相比Colleciton接口的新增方法List接口比Collection接口中新增的几个实用方法:public Object get(int index) 根据下标,返回列表中的元素 public Object add(int index, Object element); 在...原创 2020-03-05 20:17:34 · 337 阅读 · 0 评论 -
java基础学习十四之BigDecimal类与常用日期时间类
1.BigDecimal简述:BigDecimal类处理高精度计算Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计算精度的数字,我们可以直接使用Float和Double处理,但是Doub...原创 2020-03-04 22:47:30 · 1288 阅读 · 0 评论 -
java基础学习十三之String类
特点:字符串是常量,创建之后不可改变。 字符串字面值存储在字符串池中,可以共享。 String s = "Hello" ;产生一个对象,"Helllo"(字符串常量池中存储)。 String s =new String( “Hello”); //单独这一句代码产生两个对象,new String()(堆中),"Hello"(字符串常量池中)如下图:String str1 = ...原创 2020-03-03 21:09:08 · 185 阅读 · 0 评论 -
java基础学习十二之Object类
1.1 简述超类、基类,所有类的直接或间接父类,位于继承树的最顶层。 任何类,如没有书写extends显示继承某个类, 都默认直接继承0bject类,否则为间接继承。 0bject类中所定义的方法,是所有对象都具备的方法。 0bject类型可以存储任何对象。 作为参数,可接受任何对象。 作为返回值,可返回任何对象。 1.2 getClass()方法public fina...原创 2020-03-02 21:39:13 · 156 阅读 · 0 评论 -
java基础学习十一之内部类
内部类概念:在一个类的内部再定义一个完整的类(内部类也可继承类,可实现接口)。特点:编译之后可生成独立的字节码文件。 内部类可直接访问外部类的私有成员,而不破坏封装。 可为外部类提供必要的内部功能组件。1.成员内部类在类的内部定义,与实例变量、实例方法同级别的类。 外部类的一个实例部分,创建内部类对象时,必须依赖外部类对象。 Outer out = new Outer(...原创 2020-02-28 20:59:32 · 274 阅读 · 0 评论 -
java基础学习八之三个修饰符
1.abstract(抽象)抽象含义:具有某种对象的特征,但不完整。(似是而非)1.1 抽象类 语法:在class关键字前面,加上abstract,代表这个类是一个抽象类public abstract class Test{ .......}作用:可被子类继承,提供共性属性和方法 可声明为引用,强制使用多态重点:抽象类不能被实例化. 如果要实例化,...原创 2020-02-28 10:01:15 · 153 阅读 · 0 评论 -
java基础学习七之三大特性
1 封装1.1 什么是封装概念:尽可能隐藏对象的内部实现细节,控制对象的修改及访问的权限。访问修饰符:private(可将属性修饰为私有,仅本类可见)1.2 公共访问方法给私有属性添加公有访问方法get/set方法是外界访问对象私有属性的唯一通道, 方法内部可对数据进行检测和过滤。2 继承概念:“继承”是施方的一种赠与,受方的一种获得,也就是将一方所...原创 2020-02-28 09:46:29 · 113 阅读 · 0 评论 -
java基础学习六之面向对象
1.什么是对象程序是为了模拟现实世界,解决现实问题而使用计算机语言编写的指令集合面向对象思想:一切客观存在的事物都是对象,万物皆对象。 任何对象,一定具有自己的特征和行为。对象就是特征加行为2.类与对象程序中的模板,称之为“类”。 通过程序模板创造出来的实体,称之为“对象”。2.1 类的定义简单的说类就是由类名,属性,方法组成2.2 对象的创建相...原创 2020-02-27 22:07:54 · 102 阅读 · 0 评论 -
java基础学习五之数组
1. 一维数组1.1.数组的定义概念:一组连续的存储空间,存储多个相同数据类型的值数组就是指一组数据的集合,数组中的每个数据被称作元素。在数组中可以存放任意类型的元素,但同一个数组里存放的元素类型必须一致。格式如下:数据类型[] 数组名 = new 数据类型[元素个数或数组长度];1.2.数组的初始化在定义数组时只指定数组的长度,由系统自动为元素赋初值的方式称作动态初...原创 2020-02-27 21:51:24 · 387 阅读 · 0 评论 -
java基础学习四之方法
概念:实现特定功能的一段代码,可反复使用1.方法的定义定义位置:类的内部,与其他函数并列(main函数)。方法的定义格式如下:修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,......){ 执行语句 ……… return 返回值;}对于上面的语法格式中具体说明如下:修饰符:方法的修饰符比较多,有对访问权限进行限定的,有静...原创 2020-02-27 21:23:03 · 198 阅读 · 0 评论 -
java基础学习三之循环
概念:通过某个条件,重复的执行一段逻辑代码1. 循环语句 whilewhile语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会执行,直到条件不成立,while循环结束。while(循环条件){ 执行语句 ………}执行流程图如下:进阶练习:1.输入3次密码,则打印密码锁定。package com.qianfeng.cycle...原创 2020-02-27 21:04:35 · 393 阅读 · 0 评论 -
java基础学习二之选择与分支结构
1.选择结构 if1.1 if 语句if语句是指如果满足某种条件,就进行某种处理。如:如果我有1000W,我就买一辆兰博基尼/***if(条件语句){* 执行语句;* ......*}*/if(money > 10000000){ System.out.println("我就去买了一辆兰博基尼");}1.2 if...else语句if...原创 2020-02-27 20:38:46 · 233 阅读 · 0 评论 -
java基础学习十之常量接口与枚举
1.常量接口概念:将多个常用于表示状态或固定值的变量,以静态常量的形式定义在接口中统一管理,提高代码可读性。使用接口常量. 红绿灯示例interface ITrafficLight{ public static final int RED = 1;//红色 public static final int GREEN = 2;//绿色 public stat...原创 2020-02-27 17:30:35 · 240 阅读 · 0 评论 -
java基础学习一之java编程基础
1.java的历史重点:1995年Sun公司推出了java面向对象的程序设计语言,2009年sun公司被收购2.java的特点面向对象(用计算机模拟现实世界,解决现实问题)简单(相对于C,C++,C#,不易造成内存溢出,减少代码量,代码可读性高)跨平台(操作系统,服务器,数据库,需要依赖Java的虚拟机 JVM)注:编译就是将.java文件转换成二进制.class文件,不同平台只...原创 2020-02-27 10:39:37 · 270 阅读 · 0 评论 -
java基础学习九之接口
1.什么是接口接口从语法角度来说像是一种特殊的抽象类,两者都可以包含抽象方法且不能创建对象。接口是一种标准,通常用来约束其子类(实现类)应具备的功能。优点:程序的耦合度降低更自然的使用多态设计与实现完全分离更容易搭建程序框架更容易更换具体实现2.接口的定义使用interface 关键字定义接口语法:interface 接口名{ }//1.接口中的属性都是公开静态常量...原创 2020-02-26 21:06:15 · 226 阅读 · 0 评论