JavaSE笔记
文章平均质量分 63
JavaSE笔记
aigo-2021
亿分耕耘一分收获
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
注解(Annotation)
一、注解(Annotation)是JDK5版本后加入的技术,注解相当于是提供给JVM的注释,注解不影响程序的运行。 注解可以起到一些标注的作用,也能做一些数据的配置二、使用注解在使用注解时,要清楚使用注解的位置,注解的属性1. @Override注解 : 只能修饰一个方法,标注这个方法是符合重写的语法的。2. @Deprecated注解:标注一个方法是已过时的方法可以修饰构造器、属性、局部变量、方法、包、参数、类和接口3. @SuppressWarnings注解:解除警告原创 2022-03-20 22:58:10 · 489 阅读 · 0 评论 -
定义DAO类,通过@Id,@Column,@Table注解来实现CURD方法
1.定义注解//定义注解import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)public @inter.原创 2022-03-21 09:00:00 · 1058 阅读 · 0 评论 -
python中使用Turtle库绘制图形
1. turtle库:•没有显示的input()与output()•没有赋值语句•大部分语句为<a>.<b>()的形式•表示使用<a>中的方法<b>()•调用函数库<a>中的函数<b>()用<a>中的方<a>中的函数<b>()•2. 形状绘制函数•turtle.forward(distance):画笔向前移动distance距离•turtl...原创 2022-03-17 23:58:34 · 3459 阅读 · 0 评论 -
【网络编程】
一、IP地址:计算机在网络中一定要有一个IP地址,IP地址是计算机自网络中的唯一标识。IP地址v4是由四段组成的,每一段的范围是0~225二、端口号(port):代表了计算机中的一个服务,服务和服务的端口号不能重复,一个端口号被占用后,另一个服务就不能使用这个端口号了,除非占用这个端口的服务关闭了三、TCP和UDP协议TCP协议:是面向连接的协议,在传输数据前先要保证两台计算机已经建立好了连接。是可靠的协议,在建立连接时 采用三次握手,在断开连接时采用四次挥手,能保证数据能安全可靠的传输原创 2022-03-04 20:53:04 · 207 阅读 · 0 评论 -
线程同步锁
一、对象锁/同步锁/互斥锁每个对象都有一个自己的同步锁,当一个线程调用了对象的synchronized修饰的方法或语句块时,这个线程就获得 了对象的同步锁,其他线程如果这时调用了对象的synchronized修饰的方法或语句块时,将等待,当线程执行完 synchronized方法或语句块时,释放锁。public class Account { private int money = 20000; public synchronized void add() { mo原创 2022-03-03 23:35:00 · 1259 阅读 · 0 评论 -
【多线程】
进程: 当运行了一个程序,开始了一个进程。window操作系统是多进程的操作系统,操作系统能够同时运行多个 进程。其实是由CPU交替执行这些进程,间隔时间非常短,认为这些进程是同时执行的。线程:一个进程中执行的多个顺序流(任务),多线程的实现是通过创建Thread类的对象。创建线程的第一种方式:创建Thread类的对象需求:模拟一个火车站窗口买票的程序,有三个窗口同时卖票,每个窗口要卖1000张票,用编程模拟//多线程类,本身的功能:JVM允许MyThread对象 并发运行public原创 2022-03-02 22:45:30 · 110 阅读 · 0 评论 -
JDk新特性
一、枚举在定义枚举时,就声明了枚举中的元素了,在使用枚举时,不能对枚举的元素进行添加、修改和删除的操作。public enum Week { Monday,Tuesday,Wednesday,Thursday,Firday,Saturday,Sunday;}public static void main(String[] args) { System.out.println(Week.Monday); Week[] weeks = Week.values();原创 2022-03-01 21:49:15 · 109 阅读 · 0 评论 -
序列化和反序列化
一、序列化和反序列化对象实现序列化后,可以进行网络传输或存储磁盘的功能。本质是,序列化就是将对象变成byte[ ]形式;反序列化 就是将byte[ ] 变成对象。对象要实现序列化,类一定要实现Serializable接口 ObjectInputStream和ObjectOutputStream直接读写对象,前提是对象的类实现Serializable接口public static void main(String[] args) { //将一个Person对象存储到temp.原创 2022-02-28 22:44:00 · 297 阅读 · 0 评论 -
JDK8新特性——在接口中定义默认方法和静态方法
在jdk8之前,接口(interface)中之中可以定义变量和方法,变量必须是public、static、final的,方法必须是public、abstract的。由于这些修饰符都是默认的,所以在JDK8之前,接口中只能定义变量和抽象方法。而JDK8及以后,可以在接口中定义静态(static)方法和默认(default)方法。例:定义一个接口,在接口中定义默认方法和静态方法,想办法调用这两个方法。1.定义接口public interface ITest { //默认方法原创 2022-02-15 22:47:58 · 1333 阅读 · 0 评论 -
IO流的分类举例
一、FileInputStream 方法 说明 int available() 返回可以从该输入流不阻塞地读取(或跳过)的字节数的估计值,该值可能为0,或当检测到流的结束时为0 int read() 向流中写一个字符 int read(byte[] b) 将多个字节读到 b 数组中 int read(byte[] b, int原创 2022-02-10 22:23:12 · 632 阅读 · 0 评论 -
集合框架总结
处理key的hashcode步骤原创 2022-02-09 19:48:59 · 369 阅读 · 0 评论 -
File类、递归算法、IO流
一、File类类代表与平台无关的文件和目录File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。1. 构造器:public class TestFile { public static void main(String[] args) { //路径中的\要写 \\ 还可以写 / //String参数的构造器 //File file1 = new File("D:/Lession/Ja.原创 2022-02-08 22:20:38 · 550 阅读 · 0 评论 -
集合框架(4)——Map、Set
一、Map接口通过Key和Value存储数据的,Key和Value形成了一个映射关系•Map 用于保存具有映射关系的数据,因此 Map 集合里保存着两组值,一组值用于保存 Map 里的 Key,另外一组用于保存 Map 里的 Value•Map 中的 key 和 value 都可以是任何引用类型的数据•Map 中的 Key 不允许重复•Key 和 Value 之间存在单向一对一关系,即通过指定的 Key 总能找到唯一的,确定的 Value。import ja..原创 2022-02-07 22:45:06 · 822 阅读 · 0 评论 -
集合框架(3)——泛型
一、泛型将类型参数化定义泛型在定义类、接口、方法时,定义泛型//类中定义泛型public class Work<P> { public void work(P p) { }}可以定义多个泛型//类中定义泛型public class Work<P,M> { public void work(P p) { } public M method() { return null; }}原创 2022-02-06 20:57:58 · 384 阅读 · 0 评论 -
集合框架(2)——LinkedList(链表)
一、 LinkedList(链表)每个元素有几个属性,存储值、存储上一个元素的引用(地址)、存储下一个元素的引用(地址)LinkedList是双向链表的数据结构LinkedList源码实现1.定义Node内部类//定义一个节点类 (内部类)class Node{ private Node prev;//左节点,存储上一个元素的地址 private Node next;//右节点,存储下一个元素的地址 private Object data;//数据域,存储原创 2022-02-05 20:31:59 · 1093 阅读 · 0 评论 -
集合框架(1)——ArrayList
Collection接口 有两个子接口 List 和 SetList接口特点: 存储的元素是有序可重复的Set接口特点: 存储的元素是无序不可重复的一、ArrayList集合ArrayList类中封装了一个数组,存储的元素都是存在封装的数组中。实现ArrayList类的源代码1. 定义MyArrayList中的方法public class MyArrayList { public int size() { // TODO Auto-generated m原创 2022-02-04 18:17:44 · 419 阅读 · 0 评论 -
Java中的日期处理
一、Date类Date类的对象代表了一个瞬时时间,Date大部分的功能已过时。构造器:import java.util.Date;public class TestDate { public static void main(String[] args) { Date date=new Date(); System.out.println(date);//Fri Feb 04 17:05:45 CST 2022 //程序执行一段时间后原创 2022-02-04 17:33:05 · 1669 阅读 · 0 评论 -
Java中的异常处理
异常是指在程序执行中发生不正常的情况。一、为什么要处理异常?1. 程序在运行的过程中出现了异常,程序就不能正常向下运行了。要确保程序能顺利的运行,一定要处理程序中出现的异常2. 在出现异常,进行处理时,可以为用户提示错误信息。二、异常的分类异常的层次结构图:异常类图的顶层类是Throwable,有两个子类分别是Error 和 Exception常见的异常:Error : JVM系统内部错误、资源耗尽等严重情况 ,通常情况程序员不处理...原创 2022-02-03 21:50:45 · 785 阅读 · 0 评论 -
String类
字符串是内容不可改变的字符序列。解释:当通过一些方法功能改变字符串的内容时,就会得到一个新的字符串;字符序列体现的是CharSequence接口,也就是String类实现了CharSequence接口字符串中封装了一个char[ ]数组类型的属性,字符串所有的方法都是操作这个char[ ]数组的。所有的 " " 在Java中都是字符串对象也是常量。" " 字符串对象都存储在字符串池中;new构造器创建的String对象都存储在堆内存中。字符串池是存储字符串常量对象的内存空间,具有共享性。原创 2022-02-03 20:37:50 · 249 阅读 · 0 评论 -
Java常用类
一、API应用程序接口,泛指Java中的类和接口、方法。JDK提供了官方的API帮助文档二、Math类abs:绝对值方法sin 、cos、asin、acostoRadians: 角度角转弧度角toDegrees :弧度角转角度角pow :计算次幂random: 获得0~1 不包含1的一个随机小数round :四舍五入取整sqrt :根号三、Object类clone : 复制一个对象获得一个新的对象,克隆的对象的类一定要实现Cloneable接口finali原创 2022-02-03 19:59:34 · 140 阅读 · 0 评论 -
内部类和匿名内部类
一、内部类在类中定义的类,叫内部类,内部类也是一个类的成员public class Outer { //内部类 class Inner{ }}内部类是为外部类提供服务的一个类,内部类中可以直接调用外部类的成员 在外部类中创建 内部类的对象,直接使用内部类就可以了public class Outer { //内部类 class Inner{ } public void method() { Inner inn原创 2022-02-02 22:05:47 · 493 阅读 · 0 评论 -
抽象类和接口
一、抽象类和抽象方法abstract修饰的类是抽象类,修饰的方法时抽象方法;抽象方法没有方法体,如果一个类中含有抽象方法,这个类 一定是抽象类,也就是抽象类中可以有抽象方法和非抽象方法,抽象类不能实例化。//抽象类public abstract class Shape { String name; //抽象方法 public abstract double area() ; //非抽象方法 public void show() { }原创 2022-02-02 21:36:50 · 671 阅读 · 0 评论 -
final关键字
final关键字可以修饰类、变量(局部变量/全局变量) 、方法final修饰类:不能被继承 ,通常项目中一些核心类 不能被继承;JDK中String类是final的final修饰方法:不能被重写。final修饰的变量:不能被修改,包括不能修改存储值和引用地址。final修饰的是全局变量,一定要初始化public static void main(String[] args) { final int i = 3; i = 3; //错误的 final Perso.原创 2022-02-01 21:43:35 · 233 阅读 · 0 评论 -
23种设计模式之一——单例设计模式
人们在生活为了解决某些特定的问题,总结的一些方式或方法。Java开发时,会有一些特定需求,为了解决这些需求,出现了23种设计模式单例设计模式一个类只能创建出一个对象,解决的需求例如:有的应用程序只能打开一个窗口;无论如何创建时间,计算机的时间只有一个。实现单例的三个步骤:1. 构造器私有化2. 定义一个静态的属性,引用一个当前类的对象3. 定义一个public的方法,返回这个对象饿汉写法:public class SingleTon { private stat原创 2022-02-01 21:16:19 · 352 阅读 · 0 评论 -
static关键字
static关键字可以修饰属性、方法、游离块、内部类。分别称为静态属性、静态方法、静态游离块和内部类。没有static修饰的属性,对象和对象之间的属性是不共享的。 类中的属性和方法都是对 对象的描述 ,而有些属性和 方法是修饰类的,例如人类的人口数量、人类的起源、人类的文明 ,这些属性和方法就可以用static修饰。确切的理解:static修饰的属性,对象和对象之间是共享的。public class Person { String name; //人口总数 显示内存中的人口总数原创 2022-02-01 20:32:27 · 629 阅读 · 0 评论 -
toString方法和equals方法
一、toString方法获得对象的一种字符串形式,默认的字符串格式为: 全类名@十六进制内存地址public String toString() {return getClass().getName() + "@" + Integer.toHexString(hashCode());}print/println方法默认调用参数对象的toString()方法public class BankAccount { private String name; ...原创 2022-01-31 23:55:29 · 1119 阅读 · 0 评论 -
面向对象特征之——多态
生活中的多态:一个事物有多种称呼程序中的多态:父类的类型 引用子类的对象。//创建一个Person对象,用一个引用类型引用这个对象//引用类型是Animal 是Person的父类 ,引用的是子类Person的对象//多态Animal p = new Person();//多态Object p2 = new Person();多态体现了对象类型的灵活性多态写法的注意事项1. 多态的写法,只能调用父类的方法,不能调用子类独有的方法。在编译期,编译器认为这个对象是.原创 2022-01-30 21:48:58 · 719 阅读 · 0 评论 -
面向对象特征之——继承
子类继承了父类,子类会拥有父类所有的属性和方法。子类继承的属性和方法就不用在重复定义了,体现了类的复用性。在类定义时通过extends关键字实现继承父类 。父类又叫超类,从子类向父类的角度叫继承,从父类向子类的角度叫派生。如果一个类没有继承任何类,这个类默认是继承Object类的,Object类是所有类的根类 Java中的继承是单继承,一个子类只能有一个父类;继承可以多层继承访问范围修饰符访问范围修饰符,可以修饰属性、方法、类 本类 同一个包 子类 全局 pr原创 2022-01-30 21:38:32 · 660 阅读 · 0 评论 -
面向对象特征之——封装
封装封装是 一个面向对象的特征,将功能过程或属性的操作进行包装,调用者不需要知道包装的过程,只要知道如何 使用这个包装,对过程属性的封装体现了对对象使用的安全性。封装的好处:实现代码的重用性、可维护性。针对属性的封装:对属性的操作进行方法的封装。属性的操作就是赋值和取值(通过调用get/set方法实现属性的赋值和取值)如果属性是boolean 规范方法名 是 :is+属性名public class Person { //全局变量 String name ...原创 2022-01-30 20:56:07 · 486 阅读 · 0 评论 -
JVM(Java虚拟机)内存分类简介
1. 程序计数器内存 :记录程序执行的行号,记录程序执行到哪里。2. 堆内存:存储对象的,所有用new关键字创建的对象都是存在堆内存中,堆内存存储对象的空间是不固 定的,但每个对象的内存空间都有地址。3. JVM方法栈内存 :JVM每执行一个方法,都会为方法创建一个方法栈内存,方法中所有的变量、参数等 都在方法栈中声明。执行一个方法时,JVM就会将方法栈内存的栈帧压入到JVM方法栈内存中。例如:调用了a() 方法,在a()方法中调用 b() ,我们都知道 b()执行完毕后,a()才能执行完毕 .原创 2022-01-30 20:37:46 · 632 阅读 · 0 评论 -
面向对象编程(OOP)
注意面向对象思想和面向过程思想的区别一、类和对象的概念和关系对象(Object):万事万物皆对象,在程序的运行过程中,对象都是在内存中类(class):是抽象出来是编程时定义的,是对对象的描述,对象是类的实例。在做面向对象编程时,尽量要使在计算机中对事物的描述和现实世界中对事物的描述尽可能一致任何对象一定具有自己的特征和行为(即:属性和方法) 特征:称为属性,一般为名词,代表对象有什么。在定义类时,可以在类中定义属性,属性体现的是数据的存储。 行为:称为方法,一般为动词,代表对象..原创 2022-01-29 20:35:24 · 638 阅读 · 0 评论 -
算法及其时间复杂度
算法算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法 描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有 缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完 成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。常用算法1.递推法递推是序列计算机中的一种常用算法。它是按照一定的规律来计算序列中的每个项,通常是通过计算机前面的原创 2022-01-28 22:00:01 · 752 阅读 · 0 评论 -
数组(Array)
数组是用来存储相同数据类型数据的一种数据结构。定义一个数组一定要指定长度。数组定义后,长度不能改变。数组变量的声明方式一:int[ ] arr ; //arr代表了 存储的数组方式二:int arr2[ ] ; //arr2代表了 存储的数组数组的创建1. 静态初始化方式创建//数组类型 是 引用类型//arr中存储的是数组的地址//{2,3,5,6,7} 创建了一个长度为5的int类型数组int[ ]arr = {2,3,5,6,7}...原创 2022-01-28 21:38:42 · 1429 阅读 · 0 评论 -
Java流程控制语句
一、条件语句/分支语句根据条件的判断,执行不同的代码1. if ... else语句 语法:if (boolean表达式){statement语句}[ else if(boolean表达式){statement语句}else if(boolean表达式){statement语句}else{statement语句} ]注意:(1)如果if控制语句中只有一条语句,大括号可以省略例如:...原创 2022-01-11 22:55:08 · 296 阅读 · 0 评论 -
Java概述
一、编程语言的历史1. 低级语言 (1)机器语言,是由0和1组成的语言,计算机只能识别机器语言。 (2)汇编语言,是由一些指令组成的,例如move , 使用这些指令 操作计算机内存中的数据,计算机要执行这 些指令,一定先要对这些执行进行编译,翻译成机器语言,计算机才能执行。 (编译:将编程语言翻译成计算机所能识别的机器语言)2. 高级语言 ,由一些英文单词组成的语言 (1)C语言,面向过程的编程语言,嵌入式开发。 (2)C++语...原创 2021-12-27 21:52:43 · 243 阅读 · 0 评论 -
Java概述2
一、常见的进制二进制 、八进制、十进制、十六进制二进制: 只有0 或 1 逢2进1十进制:只有0-9 逢10 进 1八进制:只有0-7 逢8 进 1十六进制:只有0-9,A-F 逢16 进 1二、数据类型1.变量定义一个变量,变量中存储一个值,变量存储的值是可以改变的。定义变量的语法: 数据类型 变量名字 [= 值 ]定义变量的名字不能重复定义。2.常量定义一个常量,常量中存储一个值,常量存储的值是不可以改...原创 2022-01-01 22:30:34 · 408 阅读 · 0 评论 -
Java数据类型
一、关键字在java语言中具有一定语法含义的词,关键字所有的字母都小写二、标识符编程时,自己定义的名字(包括类名、变量名等)标识符的语法规范:1. 只能以字母、$ 或 _开头,后面可以是字母、$ 或 _ 或数字。2. 标识符不能和关键字重名3. 标识符的长度没有限制,尽量用英文表示其含义三、变量概念:在编程时,可以定义变量存储数据,存储的数据在内存中存储的,变量应该先定义,再使用 定义变量语法: 数据类型 标识符 [= 值 ] 其中[]代表的是可写可不写的注意:1原创 2022-01-11 22:01:17 · 157 阅读 · 0 评论
分享