
JAVA学习笔记
文章平均质量分 81
偏基础项的Java学习笔记
iFinder@
秃头少年欢乐多
展开
-
【JavaSE】01-概述
1.计算机的体系结构定义:高级计算、使用广泛的计算设备 由硬件和软件两部分构成硬件:客观存在的计算机相关设备软件:用于控制计算机完成各种功能常见硬件:中央处理器CPU、内存、IN-OUT设备、主板、电源、机箱……CPU(Central Processing Unit)概述: 计算机的控制核心,所有运算都由CPU完成 解释指令 处理软件中的数据内存概述: 暂时存储CPU的运算数据,与硬盘交换数据 CPU可以直接访问,效率比较高 容量小,不能永久存储 ····时刻注意Ctrl+S原创 2021-01-31 15:57:01 · 236 阅读 · 4 评论 -
【JavaSE】02-标识符、关键字
关于注释定义:出现在Java源代码之中,对Java源代码进行解释说明注释不会编译到.class文件中一个好的Java程序应该编写多行注释,可以使可读性增强注释的分类单行注释// 单行注释,只注释当前行多行注释/*多行注释内容多行注释内容······*/Javadoc注释(能解析提取,生成帮助命令,可以被javadoc工具提取)/**注释内容注释内容······*/标识符1.什么是标识符Java程序当中程序员能够自己命名的元素都是标识符类名、原创 2021-01-31 23:22:04 · 195 阅读 · 0 评论 -
【JavaSE】03-变量、常量、数据类型
变量、数据类型变量、数据类型定义:变量、数据类型定义:本质上是内存中的一块空间,这块空间有 数据类型、变量名、字面值。变量是内存中存储数据的最基本的单元。数据类型:不同的数据有不同的数据类型,用于指导内存应该分配多大的内存空间。变量中存储的数据必须和变量的数据类型一致,否则编译时就会报错。声明格式:数据类型 变量名 (= 字面值);变量必须先声明在赋值,才可以访问。作用域:变量的有效范围“出了大括号就失效了 ”分类:局部变量:在方法体当中声明的变量成员变量原创 2021-02-02 23:53:40 · 224 阅读 · 0 评论 -
【JavaSE】04-基本运算符
04-基本运算符①.运算符列表②.自增自减运算符——++ - -③.关系运算符——> < >= <= == !=④.数据类型提升⑤.逻辑运算符 && || !⑥.位运算符 & | ! >> <<⑦.条件、扩展赋值运算符 += -= *= /=⑧.字符串连接符 +⑨.条件(三元)运算符 ? :①.运算符列表Java支持以下运算符类型符号算数运算符+ - &n原创 2021-02-07 15:25:29 · 143 阅读 · 0 评论 -
【JavaSE】05-Java包机制,JavaDoc生成文档
Java包机制,JavaDoc生成文档①.包机制②.JavaDoc①.包机制目的:为了更好的组织类,Java提供包机制,用于区别命名空间。语法格式:package pkg1[. pkg2[. pkg3...]];一般利用公司域名作为倒置作为包名:com.ifinder.learn导入包:为了能够使用一个包中的某一个成员,在程序中需要导入包导入语法:import package1[. package2[. package3...]].(classname|*);. *是通配符,原创 2021-02-09 22:11:17 · 164 阅读 · 1 评论 -
【JavaSE】06-顺序结构,选择结构[if,switch]
06-顺序结构,选择结构[if,switch]①.Scanner的使用Scanner基础知识Scanner进阶知识②.顺序结构③.选择结构- if单选择结构- if双选择结构- if多选择结构- 嵌套的if结构if结构注意事项- switch多选择结构拓展小知识①.Scanner的使用Scanner基础知识什么是Scanner:是JDK5的新特性,在java.util.Scanner中,为用户提供一种输入的交互的方法。基本语法:Scanner scanner = new Scanner(Sys原创 2021-02-11 00:45:32 · 156 阅读 · 1 评论 -
【JavaSE】07-循环结构[while,do···while,for]
07-循环结构①.while循环②.do···while循环③.for循环④.增强for循环⑤.break与continuegoto语句⑥打印9*9乘法表,三角形①.while循环结构:while(布尔表达式){//循环语句}只要布尔表达式为true那循环就会一直进行下去。通常是需要一个能让循环停下来的方法的,不能让程序一直循环。少部分循环会一直执行,例如服务器请求的响应监听。//使用while循环实现1+2+3···+100 public static void main(S原创 2021-02-11 13:16:21 · 187 阅读 · 4 评论 -
【JavaSE】08-什么是方法
08-什么是方法①.什么是方法②.方法的调用③.方法的重载①.什么是方法Java的方法是语句的集合,他们在一起执行一个功能。方法是解决一类问题的步骤的有序集合方法包含于类或对象中方法可在程序中被创建,在其它地方被引用方法的设计原则:保持方法的原子性,一个方法只用来完成一个功能。方法的定义:类似于其他语言(C,JavaScript)所说的函数,本质上是一段用来完成特定功能的代码块。方法包含 方法头 和 方法体,一个方法应当包含:修饰符:[可选]用于告诉编译器如何调用该方法。定原创 2021-02-11 18:00:18 · 229 阅读 · 0 评论 -
【JavaSE】09-参数与递归
09-参数与递归①.命令行传参②.可变参数③.递归①.命令行传参有时候开发者希望一个程序运行时再传递给他消息,这要靠传递命令参数给main()函数实现。引入包机制之后,想要执行一个.class文件,就要直接输入其相应的包路径。在包中进行编译:javac TestMethod.java使用 cd …/返回到src目录输入完整的包名才能执行对应的.class文件:java com.ifinder.method.TestMethod②.可变参数从JDK1.5开始,Java支持传递同类型的原创 2021-02-12 11:05:21 · 169 阅读 · 1 评论 -
【JavaSE】10-数组
10-数组①.什么是数组②.数组的声明与创建Array内存分析数组的初始化③.数组的基本特点数组的边界④.数组的使用⑤.多维数组⑥.Arrays类⑦.稀疏数组①.什么是数组定义:数组是相同数据类型的有序集合。它是若干相同类型的数据,按照一定的先后顺序排列组合而成。每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问他们。②.数组的声明与创建首先需要声明,才能使用数组:dataType[ ] arrayRefVar; //Java声明数组推荐的呀dataType arra原创 2021-02-14 16:27:44 · 176 阅读 · 0 评论 -
【JavaSE】11-OOP 面向对象编程[对象与方法,对象的创建]
11-OOP 面向对象编程[对象与方法,对象的创建]①.初识面向对象- 面向对象编程(Object-Oriented Programming OOP)②.方法的回顾与加深-方法的调用③.对象的创建与内存分析-类与对象的关系-创建与初始化对象-构造器详解-内存分析④.小结扩展:IDEA查看class文件方法①.初识面向对象面向对象与面向过程:面向过程:步骤清晰简单,第一步做什么,第二部做什么······面向过程,适合处理一些较为简单的问题面向对象:物以类聚,分类的思考方式,思考问题首先会解原创 2021-02-14 21:05:33 · 301 阅读 · 1 评论 -
【JavaSE】12-OOP 面向对象编程[OOP特性、接口、内部类]
12-OOP 面向对象编程[OOP特性、接口、内部类]①.面向对象的三大特性②.抽象类和接口③.内部类以及OOP实战①.面向对象的三大特性②.抽象类和接口③.内部类以及OOP实战原创 2021-02-15 20:03:01 · 266 阅读 · 0 评论 -
【JavaSE】13-异常机制
13-异常机制①.什么是异常②.异常的体系架构-Error-Exception③.Java的异常处理机制-捕获异常-抛出异常④自定义异常⑤.总结①.什么是异常在程序运行的过程中出现了突发状况:用户输入异常,文件丢失,网络异常等异常发生在程序运行期间,影响了程序的正常执行流程。异常的分类:检查性异常:最具代表性,是由用户输入错误引起的异常,这是程序无法预见的。这些异常在编译时不能被简单的忽略。运行时异常:运行时可以被程序员避免的异常,与检查性异常相反,运行时异常可以在编译时被忽略。错误原创 2021-02-15 23:10:54 · 181 阅读 · 0 评论 -
【JavaSE】多线程1
多线程1①.多线程概述Java.Thread-进程与线程—process与Thread-线程的创建-通过继承Thread类实现多线程-通过实现Runnable接口实现多线程实现Runnable与继承Thread对比-龟兔赛跑案例来测试多线程①.多线程概述Java.Thread-进程与线程—process与Thread程序:是指令与数据的有序结合,其本身没有任何运行的含义,是一个静态的概念。进程:是程序一次执行的过程,是一个动态的概念,是系统分配的单位。线程:一个进程道中至少有一个线程,线程是CP原创 2021-02-24 00:10:08 · 199 阅读 · 2 评论 -
【JavaSE】多线程2
多线程2①.实现Callable接口-了解②.静态代理③.Lambda表达式①.实现Callable接口-了解实现Callable接口重写call方法,需要抛出异常创建目标对象执行服务:ExecutorService ser = Executors.newFixedThreadPool(1);提交执行:Future result1 = ser.submit(t1);获取结果:boolean r1 = result.get();关闭服务:ser.shutdownNow();使用实现Ca原创 2021-02-24 00:10:28 · 223 阅读 · 3 评论 -
【JavaSE】多线程3
多线程3线程状态-线程方法-线程停止-线程休眠 sleep-线程礼让 yield-线程强制执行 join-线程的状态观测 Thread.state-线程的优先级-守护线程 daemon线程状态创建状态:new一个线程就绪状态:开始start方法运行状态:CPU调度完成阻塞状态:CPU调度之后未执行完死亡状态:线程执行完之后-线程方法方法说明setPriority(int newPriority)更改线程的优先级static void sleep(long原创 2021-02-24 00:10:43 · 135 阅读 · 0 评论 -
【JavaSE】多线程4
多线程4①.线程同步②.三大线程不安全案例-抢票不安全的案例-取钱不安全的案例列表不安全的案例③.线程同步-抢票案例的优化-银行取钱案例的优化-列表的优化-CopyOnWriteArrayList④.死锁①.线程同步并发:同一个对象被多个线程同时操作上万人同时抢票,两个银行同时取钱处理多线程问题时,多个线程访问同一个对象,并且某些线程还想修改这个对象。这个时候我们就需要线程的同步。线程同步其实就是一种等待机制,多个需要同时访问此对象的线程进入这个对象的等待池形成队列,等待前面线程使用完毕,下一个原创 2021-02-24 00:11:00 · 254 阅读 · 0 评论 -
【JavaSE】多线程5
多线程5①.Lock锁②.线程协作-解决方式一 管程法-解决方法二 信号灯法③.线程池多线程总结①.Lock锁从JDK5.0开始,Java提供了更加强大的线程同步机制——通过显示定义同步锁对象来实现同步。同步锁使用Lock对象充当java.util.concurrent.locks.Lock接口是控制多个线程对共享资源进行访问的工具。锁提供了对共享资源的独占访问,每次只能有一个线程对Lock对象加锁,线程开始访问共享资源之前应先获得Lock对象ReentrantLock(可重入锁)类实现了Loc原创 2021-02-24 00:11:25 · 178 阅读 · 0 评论 -
【JavaSE】常用类1[内部类、Object类]
常用类1①.内部类-成员内部类-静态内部类-局部内部类-匿名内部类②.Object类-getClass()方法①.内部类内部类的分类成员内部类:将一个类定义在另外一个类当中作为它的成员静态内部类:在类的前面有static关键字修饰的类局部内部类:定义在方法内部的类匿名内部类:没有名字的内部类,在接口等的使用中较多概念:内部类就是在一个类的内部再定义一个完整的类。二者是包含关系特点:编译后能够生成独立的.class文件内部类可以直接访问外部类的私有成员,而不会破坏封装内部类可原创 2021-04-20 13:25:44 · 143 阅读 · 0 评论 -
【JavaSE】常用类2[包装类、装箱拆箱、基本类型-字符串型]
常用类2①.包装类-装箱拆箱-类型转换①.包装类包装类就是基本类型所对应的引用数据类型 java.lang包当中基本类型存储在内存栈空间中,引用类型数据存储在堆空间中(栈中存的是地址)Object可以统一所有数据包装类的默认值是null基本数据类型包装类型byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublebooleanBooleancharCha原创 2021-04-20 13:26:02 · 181 阅读 · 0 评论 -
【JavaSE】常用类3[String类、StringBuffer、StringBuilder]
常用类3①.String类-String常用方法①.String类字符串是常量,在创建之后“不可改变”。字符串字面值存储在字符串池(常量池)中(位于方法区中),可以共享。String s = “iFinder”;产生一个对象"iFinder"在字符串池中存储 s → “iFinder”String s = new String(“iFinder”); 产生两个对象,一个new … 存在堆中,一个"iFinder"对象存在字符串池中s → new … → “iFinder”public原创 2021-04-20 13:26:17 · 298 阅读 · 1 评论 -
【JavaSE】集合框架1[集合概念、Collection、List]
集合框架1①集合②Collection父接口①集合定义:是对象的容器,定义了对多个对象进行操作的方法.可以实现数组的功能。与数组的区别:数组长度固定,集合长度不固定。数组可以存储基本类型和引用类型,集合只能存储引用类型。位置:java.util.*;②Collection父接口特点:代表一组任意类型的对象,无序,无下标,不可重复.方法作用boolean add(Object obj)添加一个对象boolean addAll(Collection c原创 2021-04-27 11:18:21 · 163 阅读 · 0 评论 -
【JavaSE】集合框架2[泛型、Set接口]
集合框架2①泛型- 泛型类- 泛型接口- 泛型方法- 泛型的好处- 泛型集合②Set集合- Set子接口①泛型Java的泛型是JDK1.5中引入的一个新特性,它的本质是参数化类型,把类型作为参数传递常见使用形式: 泛型类 , 泛型接口 , 泛型方法语法: <T,E,K,V,…> T称为类型占位符,表示一种引用类型好处:提高代码的重用性防止类型转换异常,提高代码的安全性- 泛型类public class TestGenericClass { public stat原创 2021-04-27 11:18:39 · 167 阅读 · 0 评论 -
【JavaSE】集合框架3[Map接口、Collection工具类]
集合框架3① Map集合① Map集合特点: 存储一对数据 (Key-Value),无序, 无下标, 键值不能重复, 值可以重复方法说明V put(K key, V value)将对象存入到集合当中,关联键值,key重复则覆盖原值Object get(Object ket)根据键值取得对应的值Sey<K> keySet()返回所有的key值的Set集合Collection<V> values()返回所有value值的Collec原创 2021-04-27 11:18:59 · 167 阅读 · 0 评论 -
【JavaSE】IO流1[IO简介、File类]
IO流1① IO简介- IO流的概念- Java中的四大IO抽象类**InputStream**:**OutputStream**:**Reader**:**Writer**:② 入门案例③ File类的使用④ 常用IO流对象⑤ Apache IO包⑥ 总结① IO简介- IO流的概念定义:Input-Output.程序运行时程序与外部系统进行通信的过程, 外部系统可能是文件, 数据库, 其它程序, 网络, IO设备等等.Input: 可以让程序从外部系统获得数据(核心是"读", 读取外部的数据)原创 2021-05-18 17:06:08 · 211 阅读 · 0 评论 -
【JavaSE】IO流2[常用IO流对象]
IO流2① 常用IO流对象② Apache IO包③ 总结① 常用IO流对象② Apache IO包③ 总结原创 2021-05-18 17:06:27 · 357 阅读 · 0 评论 -
【JavaSE】IO流3[Apache包、IO总结]
@[TOC]IO流3① Apache IO包- 简介JDK提供的文件相关的操作的类功能都很基础,在进行复杂操作时需要进行大量的编程工作。Apache-commons工具包提供了IOUtils/FileUtils,可以更方便的对文件和目录进行操作。Apache软件基金会(Apache Software Foundation,ASF)是专门为9支持开源软件项目而办的一个非盈利性组织。官网为:www.apache.org很多著名的Java开源项目都来源于Apache。例如:commons、kaf原创 2021-05-18 17:06:50 · 217 阅读 · 0 评论 -
【JavaSE】网络编程1[IP,通信协议简介,TCP应用]
网络编程1①.计算机网络②.网络通信的要素③.IP地址④.端口Port①.计算机网络地球村:也译为世界村(global village),对地球的一种比喻说法。现代科技的迅速发展,缩小了地球上的时空距离,国际交往日益频繁便利,因而整个地球就如同是茫茫宇宙中的一个小村落。——百度词条打电话 接听——通话 → TCP通信发短信 发送了就结束了 → UDP通信计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网原创 2021-05-30 17:01:25 · 190 阅读 · 0 评论 -
【JavaSE】网络编程2[Tomcat,UDP应用]
@[TOC]网络编程2①.初识Tomcat服务端:原本—自定义 Server后来—Tomcat服务器 Server :Java后台开发客户端原来—自定义 Client后来—浏览器 B下载地址:https://tomcat.apache.org/download-10.cgi原创 2021-05-30 17:01:44 · 398 阅读 · 0 评论 -
【JavaSE】GUI编程1[GUI简介,AWT使用]
@[TOC]GUI编程1①.GUI简介GUI的核心技术: Swing AWT编程,因为界面不美观,运行需要jre环境,所以不太流行但是为什么要学习:GUI是MVC的基础平时自己可以写一些小工具工作的时候可能会有几率维护到swing界面②.AWT- AWT简介AWT(Abstract Windowing Toolkit-抽象窗口工具):本质是Java中一系列的类,提供了很多的类和接口GUI(Graphical User Interface-图形用户接口)元素:窗口、原创 2021-06-12 21:09:17 · 259 阅读 · 0 评论 -
【JavaSE】GUI编程2[Swing使用,游戏Demo]
@[TOC]GUI编程2原创 2021-06-12 21:09:45 · 263 阅读 · 2 评论 -
【JavaSE】注解与反射
@[TOC]注解与反射①.注解入门注解:Annotation注释:Comment- 什么是注解Annotation是Java5.0之后引入的新技术Annotation的作用:不是程序本身但是可以对程序作出一些解释(这一点和Comment没有区别)可以被其它程序(例如:编译器)进行读取Annotation的格式:注解是以“@注释名”在代码中存在的,还可以添加一些参数例如:@SuppressWarnings(Value=“unchecked”)Annotation在哪里使用:原创 2021-06-18 17:30:16 · 272 阅读 · 0 评论