JavaSE
Java基础
追JAVA的小菜鸟
这个作者很懒,什么都没留下…
展开
-
JAVA入门————反射机制Reflection AND JAVA内存分析
反射Reflection动态语言定义:在运行时可以改变其结构的语言eg:新的函数、对象、甚至代码可以被引进eg:已有的函数可以被删除或是其他结构上的变化静态语言定义:在运行时不可以改变其结构的语言eg:Java C C++ Java——准动态语言————拥有反射机制定义Reflection是Java被视为动态语言的关键反射机制允许程序在执行期借 助于Reflecti...原创 2019-12-13 21:41:15 · 350 阅读 · 0 评论 -
JAVA入门————注解Annotation
注解 AnnotationAnnotation是一个接口,程序可以通过反射来获取指定程序元素的Annotation对象,然后通过Annotation对象来获取注解里面的元数据。注解API非常强大,被广泛应用于各种Java框架,如Spring,Hibernate,JUnit。定义:可以对程序作出解释(eg:注释)——但可以被其他程序(比如:编译器等)读取格式:@+注释名eg:@Su...原创 2019-12-13 11:06:47 · 296 阅读 · 0 评论 -
JAVA入门————网络编程UDP/TCP —通信协议—TCP—文件上传—UDP—Tomcat服务器—URL
通信协议定义:通过通信信道和设备互连起来的多个不同地理位置的数据通信系统,要使其能协同工作实现信息交换和资源共享,它们之间必须具有共同的语言。交流什么、怎样交流及何时交流,都必须遵循某种互相都能接受的规则协议分类TCP/IP:核心:UDP协议和TCP协议TCP/IP是由一组具有专业用途的多个子协议组合而成的,这些子协议包括TCP、IP、UDP、ARP、ICMP等。TCP/IP凭借其...原创 2019-12-12 14:21:31 · 410 阅读 · 0 评论 -
JAVA入门————网络编程UDP/TCP —IP地址—端口
网络编程定义:网络编程最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的 计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统 网络通信:网络是用物理链路将各个孤立的工...原创 2019-12-06 21:36:13 · 722 阅读 · 0 评论 -
JAVA入门————GUI图形界面管理器————Swing---窗口 弹窗 标签 面板 按钮(单选框&复选框) 列表(下拉框) 文本框
Swing——跨平台运行警告:Swing 不是线程安全的。把依赖于本地平台的AWT组件称为重量级组件把不依赖于本地平台的Swing组件称为轻量级组件 总框架是JFrame 在框架之中添加各种组件JComponent ——用于显示某一部分 eg:面板JPanel,标签JTable,文本域JTextArea等窗口JFrame顶级窗口——用于短文本字符串或图像或二者的显示区 还可以...原创 2019-12-06 20:54:35 · 2623 阅读 · 0 评论 -
JAVA入门————GUI图形界面管理器————AWT--输入监听,画笔绘图,鼠标监听,窗口监听,键盘监听
输入监听文本框 ——TextFiled(添加在弹窗Frame里)构造方法:TextFiled()——构造新文本字段TextField(int columns) ——构造具有指定列数( 近似平均字符宽度 ) 的新空文本字段成员方法:setText(String t)—— 将此文本组件显示的文本设置为指定文本setEchoChar(’*’)——替换弹窗中输入的文本setText(""...原创 2019-12-06 14:39:43 · 415 阅读 · 0 评论 -
JAVA入门————GUI图形界面管理器————AWT组件,布局,事件监听
GUI图形用户界面:是一个界面用图形的方式,来显示计算机操作的界面 更方便快捷AWT抽象窗口工具包:给用户提供基本的界面组件 eg:窗口 按钮 菜单 ——支持数据传输和图像操作 父Component:组件类——许多组件的父类 子1 Container:容器类—— 一种特殊组件 在可视区域内显示其他组件组件不能独立显示 必须在Container里面才可见 子2 Butto...原创 2019-12-05 20:16:53 · 346 阅读 · 0 评论 -
JAVA入门—————线程协调 AND 懒汉饿汉单例模式
线程协调void wait ()——在其他线程调用此对象的 notify () 方法或 notifyAll () 方法前,导致当前线程等待。void wait (long timeout)——在其他线程调用此对象的 notify () 方法或 notifyAll () 方法,或者超过指定的时间量前,导致当前线程等待。若没有唤醒 则线程一直等待…void notify ()——唤醒在此对...原创 2020-10-25 16:29:12 · 128 阅读 · 0 评论 -
JAVA入门—————线程同步 AND 线程死锁
线程同步概念:由于同一进程的多个线程共享一块储存区域 在他们同时操作一个对象时 需要线程同步 线程同步是一种等待机制 多个需要操作一个对象的线程进入对象的等待池 等待前面的线程使用完毕 下一个线程在使用 eg:排队买单被操作的对象必须定义成静态成员变量 才能被所有线程共享线程同步的优点:解决了多线程的安全问题线程同步的缺点:当有多个线程时 每个线程都回去判断同步上的锁 降低...原创 2019-11-29 18:09:27 · 176 阅读 · 0 评论 -
JAVA入门————多线程创建 AND 更改名称 AND 线程状态
线程进程:是系统进行资源分配和调用的独立单位每个进程都有属于自己的内存资源和系统空间线程:是CPU执行和调度的基本单位一个进程内部执行多个任务 每个任务为一个线程 一个进程包含一个或多个线程多线程同一个时间段可以执行多个任务 ————eg:边打游戏边听歌打游戏和听歌不是同时进行,他们在CPU里来回切换执行 计算机速度很快 我们无法察觉 一个时间点 一个CPU只能...原创 2019-11-29 15:53:31 · 196 阅读 · 0 评论 -
JAVA入门————IO流——各种流
数据输入输出流——DateInputStream优点:可以读写基本数据 eg; DataOutputStream bos = new DataOutputStream(new FileOutputStream("A.txt")); bos.writeInt(123); bos.writeDouble(2.75); bos.writeBoole...原创 2020-02-10 23:34:23 · 213 阅读 · 0 评论 -
JAVA入门—————IO流——字符流——OutputStreamWriter——BufferedWriter_BufferedReader
字符流字符流写完后必须刷新!!!只能读写文本文件字符流 = 字节流 + 编码表 Reader 抽象类 字符输入流的父类 Writer 抽象类 字符输出流的父类编码——发出概念:把字符串转换成字节数组public byte[] getBytes()——使用平台的默认字符集将此 String编码为 byte 序列,并将结果存储到一个新的 byte 数组中。public b...原创 2019-11-21 17:05:15 · 420 阅读 · 0 评论 -
JAVA入门—————IO流 ———字节流——FileOutputStream—BufferedOutputStream
IO流概念:IO流用来处理设备之间的数据传输JAVA对数据的操作是通过流的方式实现的分类内存角度: 输入流 —— 读入数据 输出流 —— 写出数据数据类型 字节流 ———— 可以读写任何类型的文件 eg:音频 文本 字符流 ———— 只能读写文本文件IO流的基类描述...原创 2019-11-20 18:14:24 · 617 阅读 · 0 评论 -
JAVA入门————异常 AND IO流 AND File类
异常概念:Java程序在运行中出现的错误异常的基类——Throwalbe基类 Error错误:严重问题 内存溢出 无法解决 Ecxeption异常:非严重问题 可以解决 异常分为两种 运行期异常和编译期异常运行期异常 RuntimeException——发生在程序运行过程中,可以解决也可以不解决 不影响程序的编译编译期异常 非 RuntimeException——发生在程序编...原创 2019-11-15 17:50:33 · 163 阅读 · 0 评论 -
JAVA入门————Map AND 嵌套 AND 工具类
Map接口概念:存储键值映射关系的数据 一个键对应一个值 是一个接口一个映射不能包含重复的键Map接口下的三个实现类 HashMap , LinkedHashMap TreeMap键相同 值覆盖:第一次储存一个键值对时,返回true 第二次储存同一对键值对时 返回falseHashMap——无序HashMap键的数据结构是哈希表 键值可以为nullMap——双列集合 ...原创 2019-11-13 22:07:50 · 767 阅读 · 0 评论 -
JAVA入门—————Set集合
SetSet子类:HashSet — LinkedHashSet — TreeSet顶层数据结构是哈希表(数组+链表 JDK1.7 数组+链表+二叉树——JDK1.8之后)概念:元素唯一哈希表:是一个元素为链表的数组,综合了数组和链表的优点 (像新华字典一样)HashSet概念:元素唯一且无序———存取顺序不一致,集合元素可以是nullHashSet 底层数据结构是哈...原创 2019-11-13 09:48:03 · 175 阅读 · 0 评论 -
JAVA入门—————泛型 AND 其他语法
泛型原创 2019-11-08 20:12:43 · 172 阅读 · 0 评论 -
JAVA入门—————List子接口:Vector AND LinkedList
ListList的三个子类的特点 ArrayList:1. 底层数据结构是数组,查询快,增删慢。2. 线程不安全,效率高。 Vector:1. 底层数据结构是数组,查询快,增删慢。2. 线程安全,效率低。 LinkedList:1. 底层数据结构是链表,查询慢,增删快。2. 线程不安全,效率高。Vector概念:实现可增长的对象数组 Vector 是同步的...原创 2019-11-07 20:06:57 · 131 阅读 · 0 评论 -
JAVA入门—————Collection集合 AND 子子接口ArrayList AND 数据结构
集合定义:方便增删改查容器中的元素 是一种容器数组和集合的区别数组:长度固定存储基本数据类型和引用数据类型储存同类型数据集合:长度可变存储引用数据类型可以存储不同类型数据Collection集合定义:是集合的顶层父接口子接口:set 和 listArrayList:List接口的子接口添加功能boolean add(Objec...原创 2019-11-07 14:38:48 · 192 阅读 · 0 评论 -
JAVA入门—————Date类 AND SimpleDateFormat类 AND Calendar类
Date类概念:类 Date 表示特定的瞬间,精确到毫秒 构造方法public Date()eg: Date date = new Date(); System.out.println(date);————输出:Wed Nov 06 11:01:02 CST 2019 星期 月 日 时分秒 年public Date(long date) ——把一个long类型...原创 2019-11-06 17:26:48 · 145 阅读 · 0 评论 -
JAVA入门——Math类 AND Random类 AND System类 AND BigDecimal类
Math类概念:Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数Math 类 里面的 属性和方法,全是静态修饰,直接使用类名调用 成员变量public static final double E ——自然底数eg: double pi = Math.PI; System.out.println(pi);public static fi...原创 2019-11-06 14:55:08 · 197 阅读 · 0 评论 -
JAVA入门——正则表达式 AND 模式器匹配器
正则表达式定义:一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串 是一种规则。字符类regx = “[a-z]”; ————小写字母regx = “[A-Z]”;————大写字母regx = “[0-9]”;或者 \d ————数字regx = “[a-zA-Z0-9]”;或者 \ w ————大小写字母和数字regx = “[^abc]” ————除了...原创 2019-11-04 15:13:34 · 625 阅读 · 0 评论 -
JAVA入门——Arrays AND 包装类 AND 自动拆装箱
Arrays类定义:针对数组进行操作的类public static String toString(int[] a):打印该数组eg: int[] arr = {11, 84, 31, 94, 28, 59, 78, 69, 15}; System.out.println(Arrays.toString(arr));————————————输出:[11, 84, 31, 94...原创 2019-11-01 21:23:22 · 155 阅读 · 0 评论 -
JAVA入门———StringBuffer AND StringBuilder
StringBuffer定义:线程安全的可变字符序列——字符串可以改变String: 定义后,内容和长度就固定了 是一个长度不可变得字符序列往容器中增加,删除,替换,反转内容 返回得还是容器本身public StringBuffer(): 无参构造方法——初始容量默认16字符eg: StringBuffer sb1 = new StringBuffer();publi...原创 2019-11-01 17:17:08 · 149 阅读 · 0 评论 -
JAVA入门——数组排序 AND 二分查找
数组排序冒泡排序: 从0索引开始,依次和后面元素比较 大的往后放,经过比较后,最大得元素会出现在最大索引处。public class demo1 { public static void main(String[] args) { int[] arr = {24, 69, 80, 57, 13}; //冒泡排序 for (int j = ...原创 2019-11-01 20:17:05 · 131 阅读 · 0 评论 -
JAVA入门———Scanner类 AND String类
Scanner类作用:用于获取用户键盘录入的结果 标准输入流:public static final InputStream in;常用Scanner的构造方法:Scanner( InputStream source) + InputStream:IO流——字节输入类型 (类名可直接打点调用静态成员变量)想要创建对象,就看提供的构造方法,若有空参构造,则不用传参,若无空参构造...原创 2019-10-30 18:33:40 · 213 阅读 · 0 评论 -
JAVA入门———API概述 AND object类下的方法
objectobject是一个顶层父类,所有的类都直接或间接地继承它object下有很多的系统自带的方法,例如:hashcode(),equal(),toString()等等hashcode()[ ]List itemhashcode()...原创 2019-10-25 00:40:47 · 109 阅读 · 0 评论 -
JAVA入门———内部类 AND 匿名内部类
内部类定义:把类定义在其他类内部内部类访问特点内部类可以直接访问外部类的所有成员变量和成员方法,包括私有的外部类若要访问内部类的成员,必须创建对象位置分类:成员内部类——在类中方法外—成员位置定义的类public class demo2 { public static void main(String[] args) { A.B b = new A...原创 2019-10-24 14:42:21 · 123 阅读 · 0 评论 -
JAVA入门———传参 AND 返回值 AND 链式编程 AND 包 AND 权限修饰符
传参当一个方法的形参需要一个类类型,就传该类的一个对象eg:Student stu = new Student();eg: SetStudent(stu,19);——————输出结果为19当一个方法的形参需要一个 抽象类类型,就传该抽象类的一个子类对象eg:AA bb = new BB();eg:Get(bb,300);——————输出结果为抽象类中定义的100;注:若用抽象类接收...原创 2019-10-23 22:17:13 · 210 阅读 · 0 评论 -
JAVA入门——多态AND抽象AND接口
多态定义:一个事物有不用的身份与状态,eg:我是学生,我也是人前提:1. 要有继承关系2. 要有方法重写3.要有父类接收子类new出来的对象eg:FU f = new Zi;eg: Cat c = new Cat(); // 用Cat自己接收自己的成员 Aninal an = new Cat(); // 用Cat的父类Animal接收Cat的成员 ————多...原创 2019-10-16 13:28:40 · 179 阅读 · 0 评论 -
JAVA入门——方法重写 AND 关键字 final
方法重写概念:子类中出现了和父类一模一样(返回值,形参,参数列表均相同)的方法声明,称为方法覆盖应用:子类需要父类的功能,但又想定义自己独有的特点时,应用方法重写 需继承父类,然后改写父类中的方法注意:父类中的私有方法不能被重写(私有方法无法被继承)子类继承父类的方法时,访问权限只能高于或等于父类的 权限修饰符:public>protected>缺省的>...原创 2019-10-14 20:34:52 · 161 阅读 · 0 评论 -
JAVA入门——构造函数赋值问题
直接赋值public class student { String name; // 不能有private int age; student(){} // 不可缺少 student(String name,int age){ this.n...原创 2019-10-14 00:50:27 · 4710 阅读 · 1 评论 -
JAVA入门——继承
代码块定义:被 { }括起来的代码称为代码块分类局部代码块:在方法中,限定变量生命周期,定时释放,提高内存利用率构造代码块:在类中方法外,多个构造方法中相同的代码存放到一起,每次创建对象时调用,并且在构造方法前执行静态代码块:在类中方法外,有关键字static,用于给类初始化,只执行一次class StudentDemo { static { System.out...原创 2019-10-10 22:09:21 · 90 阅读 · 0 评论 -
JAVA入门——构造方法 AND 对象赋值 AND static关键字
构造方法作用:创建对象,给对象中的成员初始化特点:方法名和类名相同,没有返回值类型,没有void用空参构造创建对象eg:public Teacher(){——类中eg:Teacher teacher = new Teacher();——对象为默认值 null或0——text中用一个参数构造创建对象eg:public Teacher(String name) {——类中eg:T...原创 2019-10-09 20:23:45 · 172 阅读 · 0 评论 -
JAVA入门———面向对象AND局部变量
面向对象特征:封装,继承,多态定义类:定义类的成员(成员变量和成员方法)成员变量 和以前定义变量是一样的,只不过位置发生了改变。在类中,方法外。成员方法 和以前定义方法是一样的,只不过把static去掉,后面在详细讲解static的作用。类:是一组相关的属性和行为的集合对象:是该类事物的具体体现...原创 2019-10-08 22:55:55 · 119 阅读 · 0 评论 -
JAVA入门———二维数组AND递归
方法栈定义:存放局部变量(在方法中定义的变量)特点:先进后出——弹出栈堆定义:存放的是所有new出来的东西,每一个new后面的东西在堆内存存放时都会分配一个地址值每个变量都有一个默认的值1.byte,short,int,long ——02.float,double ——0.03.char ——’\u0000’4.boo...原创 2019-10-07 00:26:14 · 137 阅读 · 0 评论 -
JAVA入门———一维数组
数组定义:数组是存储同一种数据类型多个元素的集合 既可以存储基本数据类型,也可以存储引用数据类型格式: 数据类型[ ] 数组名;(推荐)eg: int[ ] a; //定义了一个int类型的数组a格式2:数据类型[ ] 数组名=new 数据类型[数组长度]eg:int a[ ]; // 定义了一个int类型的a数组数组必须先初始化,然后才能使用——为...原创 2019-10-03 00:41:32 · 152 阅读 · 0 评论 -
JAVA入门———循环语句AND跳转语句AND方法概述
循环语句for循环格式:for(初始化表达式语句;判断条件语句;控制条件语句) {循环体语句;}eg:for(i = 1;i<=10;i++);初始化表达式语句只执行一次注意:有左大括号就没有分号,有分号就没有左大括号while循环格式:while(判断条件语句) {循环体语句;}eg:while(i<100);{..........i++;}do...原创 2019-10-02 00:08:48 · 288 阅读 · 0 评论 -
JAVA入门———运算符(2) AND 键盘录入AND流程控制语句
运算符逻辑运算符:&(且) , |(或) , !(非) , ^(异或) , &&(短路与) , ||(短路或) eg:x>3 & x<6&:一个为false则结果为false&&:效率更高———若左边为false则右边不计算直接出结果为false|:一个为true则结果为true||:效率更高———若左边为t...原创 2019-10-05 16:25:44 · 308 阅读 · 0 评论 -
JAVA入门———变量AND数据类型
变量定义:程序运行中,值可以在某个范围内变化的量(可重复使用)格式:数据类型 变量名 = 变量值注意:1). 变量名一般小写,多个单词时首字母小写 eg:name2). 在同一个作用域 { } 中,不能定义两个同名变量 ...... int a = 10; a = 100; // 重新赋值后,a = 103).没有...原创 2019-09-25 14:02:14 · 453 阅读 · 0 评论