
javase
m0_47423338
这个作者很懒,什么都没留下…
展开
-
获取时间或随机数
【代码】获取时间或随机数。原创 2023-03-28 01:20:18 · 66 阅读 · 0 评论 -
线程与进程的理解
进程和线程进程正在执行的程序叫做进程(Process),是一个动态的概念。进程是程序的一次动态执行过程, 占用特定的地址空间.每个进程由3部分组成:cpu,data,code。每个进程都是独立的,保有自己的cpu时间,代码和数据,即便用同一份程序产生好几个进程,它们之间还是拥有自己的这3样东西。 缺点:内存的浪费,cpu的负担多任务(Multitasking)操作系统将CPU时间动态地划分给每个进程,操作系统同时执行多个进程,每个进程独立运行。以进程的观点来看,它会为自己独占Cpu的使用权原创 2020-11-15 19:24:48 · 164 阅读 · 0 评论 -
序列化与反序列化
序列化流和反序列化流 ObjectInputStream和ObjectOutputStream概述Java是面向对象语言,万事万物皆对象,如果我们想要将对象持久化写入到本地或者在网络中传输,我们可以使用序列化流和反序列化流特点字节流读写文件的功能能够读写引用数据类型,即读写对象需要写入到文件的对象需要该对象的类实现Serializable,否则会抛出异常如果不希望对象的某个成员写入到文件,保障成员的安全性,可以使用transient关键字修饰。serialVersionUID用作Se原创 2020-11-15 16:37:31 · 86 阅读 · 0 评论 -
io流常用类及文件拷贝
FileReader fr = new FileReader("xxx\\fr.txt"); char[] chs = new char[5]; int len = 0; while ((len = fr.read(chs)) != -1) { System.out.println(len);//数组里存的字符个数,一般等于数组长度,除非后面没有字符,换行符\r\n也算 System.out.println(原创 2020-11-09 19:21:27 · 261 阅读 · 2 评论 -
Set
Set接口特点:1 无序2 继承自Collection的接口,无重复元素3 可以存null值,但只有一个4 set的实现类大多数都是基于Map实现的5 成员方法全部来自Object类和Collection类HashSet类实现Set接口,由哈希表(HashMap)支持。不保证Set的迭代顺序,元素允许为null.特点底层数据结构是哈希表(JDK1.8数据结构为数组 + 链表 + 红黑树)去除重复元素依赖hashcode和equals方法当hashcode相等时,比较元素的equa转载 2020-11-05 22:19:13 · 229 阅读 · 0 评论 -
List接口及相关类
list接口概述: 有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。遍历方式List接口是有序的,可以通过普通for遍历,还可以通过ListIterator遍历。E get(int index)ListIterator listIterator() 返回此列表元素的列表迭代器(按适当顺序)。ListIterator listIterator(int?index)原创 2020-11-05 20:03:56 · 113 阅读 · 0 评论 -
2020-11-05
集合1集合只能存储引用类型注意:虽然集合不能存储基本数据类型,但是可以存储基本数据类型的包装类类型2.集合顶层父类为什么设计成接口而不设计成普通类?因为我们认为容器中的元素有不同的特点:a.是否有序 【存储有序,怎么样存进去的就怎样出来】b.是否唯一c.是否可以存储null值d.是否可排序e.是否安全f.容器存取的效率数据结构 【数据的存储方式】针对不同的特点会有不同的实现,那么这个时候父类必须设计成接口,子类根据不同的数据结构和实现方式实现自己的增删查改的功能,所以父类设计为接口原创 2020-11-05 19:27:15 · 105 阅读 · 0 评论 -
Integer包装类
Integer成员字段介绍static int MAX_VALUE 值为 231-1 的常量,它表示 int 类型能够表示的最大值。static int MIN_VALUE 值为 -231 的常量,它表示 int 类型能够表示的最小值。static int SIZE 用来以二进制补码形式表示 int 值的比特位数。static Class TYPE 表示基本类型 int 的 Class 实例。构造方法介绍:Integer原创 2020-11-01 21:57:02 · 316 阅读 · 0 评论 -
异常
throws的引入为什么有了try…catch处理异常还需要学习throws关键字?在实际开发当中,可能某个异常我处理不了,或者我没有权限处理,更或者说我压根就不想处理,那么我们可以抛给其他人处理,即调用者处理,谁调用谁处理。格式[修饰符] 返回值类型 方法名(参数列表) [throws 异常类1,异常类2…]{}特点1.该方法抛出异常类,表示抛出调用者处理,谁调用谁处理2.一个方法可以声明多个异常类3.如果一个方法抛出的是一个编译时异常,那么必须处理,调用者也必须处理4.子类继承父类,原创 2020-11-01 19:30:13 · 101 阅读 · 0 评论 -
正则表达式及pattern类和Matcher类
Java中的pattern类在JDK 1.4中,Java增加了对正则表达式的支持。final修饰,不被继承。含义,模式类,正则表达式的编译表达的形式。实例不可变常用正则表达式:[abc] a、b 或 c(简单类)[^abc] 任何字符,除了 a、b 或 c(否定)[a-zA-Z] a到 z 或 A 到 Z,两头的字母包括在内(范围)[a-d[m-p]] a到 d 或 m 到 p:[a-dm-p](并集)[a-z&&[def]] d、e 或 f(原创 2020-10-30 22:16:05 · 297 阅读 · 0 评论 -
String类
String类1是特殊的引用类型,本质是字符数组。2存放在常量池中,创建后不可更改,如字符串值相等,对象的引用指向同一个地址,不同则在常量池新创建一个地址用来存放新字符串。String类表示不可变的字符串,当前String类对象创建完毕之后,该对象的内容(字符序列)是不变的,因为内容一旦改变就会创建一个一个新的对象。String s = “Hello”;和String s3 = new String(“Hello”);的区别前者在类加载的时候在方法区创建字符串对象,后者在new的时候在堆区中创建对原创 2020-10-30 20:08:43 · 97 阅读 · 0 评论 -
继承/访问权限修饰符/方法重写
继承继承概述继承的本质: 类是对一批对象的抽象,继承是对一批类的抽象,继承本质就是抽取多个类共性代码.继承的格式class 子类 / 派生类 extends 父类/基类/超类 {}通过extends关键字可以实现类与类的继承被继承的这个类称为父类,基类或者超类继承的这个类称为子类或者派生类继承的好处1.简化了代码2.提高了扩展性和可维护性3.继承是多态的必要条件 (后面讲解多态的时候详细讲解)继承的缺点建立了类与类之间的关系,违背高内聚,低耦合的设计原则,如果父类方法发生了修改原创 2020-10-25 21:03:37 · 357 阅读 · 0 评论 -
封装/构造方法/代码块
封装封装概述隐藏对象的属性和功能实现,仅对外提供公共访问方式封装的步骤1.给成员加上private关键字2.对外提供公共的访问方式 (get/set方法)3.在get/set方法里面添加相应的逻辑业务代码或者数据校验代码封装的好处1.提高了代码的复用性。2.提高了程序安全性构造方法构造方法的引入通过一个一个初始化成员变量非常麻烦,Java可以使用构造方法构造方法的格式[访问权限修饰符] 方法名(参数列表) {方法体 // 帮助我们快速初始化成员}构造方法的特点1.构造方法原创 2020-10-25 20:42:24 · 112 阅读 · 0 评论 -
数组
数组是相同类型数据的有序集合,可以理解为是一个数据容器。数组的特点其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。其元素必须是相同类型,不允许出现混合类型。数组中的元素可以是任何数据类型,包括基本类型和引用类型。数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。数组的初始化声明一维数组的声明方式有两种数据类型[] 数组名;(推荐使用这中原创 2020-10-25 19:25:40 · 81 阅读 · 0 评论 -
javase方法
方法的定义格式:[访问权限修饰符] 返回值类型 方法名(参数类型 参数名1, 参数类型 参数名2, 参数类型 参数名3, … 参数类型 参数名n) {方法体;[return [返回值];]}说明:一、访问权限修饰符: 目前暂时使用 public static, 后面学习static再详细介绍二、返回值类型:1、这里的类型可以是八大基本数据类型也可以是引用数据类型2、这个类型需要和return关键字返回的类型一致,或者比返回值的类型范围更大3、如果一个方法的没有返回值,那么这里书写原创 2020-10-25 19:04:59 · 91 阅读 · 0 评论 -
循环语句
一、while循环语法:while( 布尔表达式 ) {//循环内容}只要符合布尔表达式,即表达式结果为true,循环就会一直执行下去。二、do…while循环对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。do…while 循环和 while 循环相似,不同的是,do…while 循环至少会执行一次。语法:do{//代码语句}while(布尔表达式);注:布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了原创 2020-10-25 12:32:09 · 153 阅读 · 0 评论 -
Java运算符和表达式
运算符运算符的分类算术运算符 赋值运算符 关系运算符 逻辑运算符 位运算符(了解) 三目运算符自增自减运算符 ++ –分为单独使用表示自增或者自减,没有任何区别参与运算如果++放在操作数的左边,就表示先自增再参与运算如果++放在操作数的右边,就表示先参与运算,再自增或者自减1赋值运算符扩展赋值运算符: += 、-= 、*=、 /= 、%=例如 a += 10; 在计算结果上等同于 a=a+10;面试题:short s1 = 1; s1 = s1 + 1;有什么错? short s1原创 2020-10-25 10:26:33 · 103 阅读 · 0 评论 -
二维数组单调
二维数组单调 int arr[][] = {{1, 2, 3, 4, 5}, {2, 3, 4, 5, 6}, {3, 4, 5}, {4, 5, 6, 7, 8}}; int dex = 1; for (int i = 0; i < arr.length; i++) { System.out.println(Arrays.toString(arr[i])); } int j; for (int原创 2020-10-24 09:57:57 · 162 阅读 · 0 评论