java基础
文章平均质量分 58
草莓味的狮子座leo
这个作者很懒,什么都没留下…
展开
-
开发小知识
reduce的作用是把stream中的元素给组合起来,我们可以传入一个初始值,它会按照我们的计算方式依次拿流中的元素和初始化值进行计算,计算结果再和后面的元素计算。没有对 equals 方法进行重写,则相当于“==“,比较的是对象的地址值。Ⅲ,三个参数使用(带初始值,并行计算,改变返回值类型)1.2 作用于引用数据类型,比较其所指向对象的地址值。2.1 equals是Object的方法,用来比较。1.1 作用于基本数据类型 ,比较其存储的值。'=='是判断两个变量或实例是不是指向。不能作用于基本数据类型。原创 2024-01-10 16:05:47 · 456 阅读 · 1 评论 -
Stream流操作
对节点流进行系列包装,例如:BufferedInputStream和BufferedOutputStream:提供带缓冲的读写,DataInputStream和DataOutputStream:提供基本数据类型的功能。2 FileInputStream(String name):打开一个到实际文件的连接来创建一个FileInputStream,该文件通过文件系统中的路径名name指定。JDK 8引入了Stream API,它是Java中处理集合数据的一种新方式。从计算机内存输出,写入显示器,文件写入等。原创 2023-09-11 16:30:18 · 110 阅读 · 0 评论 -
java基础-Stream(流)、File(文件)和IO
Java中的流(Stream)提供了一个统一的接口来处理文件(File)提供了一种简单的方式来操作,而I/O则允许我们在J。原创 2023-08-08 14:40:28 · 280 阅读 · 0 评论 -
Spring,注解开发
Spring的Java配置支持的核心工件是 @Configuration 注解的类和 @Bean 注解的方法。3、使用@Autowired可以不写set(),前提是自动装配的属性在IOC容器中存在,且符合byName。1、byName:保证所有bean的id唯一,并且这个bean需要和自动注入的属性的set方法值一致。2、byType:保证所有bean的class唯一,并且这个bean需要和自动注入的属性类型一致。当多个Bean自动注入到一个单值依赖的候选者时,优先考虑一个特定的Bean。原创 2023-06-11 17:13:10 · 833 阅读 · 0 评论 -
注解和反射
interface// 注解的参数:参数类型+参数名() public class TestAnnotations {// 注解参数:类型+参数名() String name();int age();// 默认值 String name() default "";原创 2023-06-07 09:46:23 · 364 阅读 · 0 评论 -
mysql数据库
【代码】mysql数据库。原创 2023-05-31 15:52:44 · 124 阅读 · 0 评论 -
死锁和LOCK锁
唤醒同一对象上所有调用wait方法的线程,区分优先级。线程一直等待,指导其他线程通知,会释放锁。唤醒一个等待状态的线程。原创 2023-05-29 14:19:18 · 574 阅读 · 0 评论 -
java多线程1
【代码】java多线程。原创 2023-05-24 16:55:48 · 566 阅读 · 0 评论 -
Abstract抽象类与接口implements
抽象方法将拥有相同行为,但不同表现形式的行为进行抽象,包含抽象方法的类,就是抽象类// 声明方法,但不需要具体实现方法内容// 使用·`abstract`修饰这个类中包含抽象方法,则这个类一定是抽象类;但是抽象类中的方法,不一定是抽象方法// 1、抽象类不能被实例化,不能new,只能子类实现// 2、 抽象类中可以有普通方法,抽象方法一定在抽象类中// 3、抽象类的子类必须重写父类(抽象类)中所有的抽象方法或者子类也为抽象类。原创 2023-05-23 16:29:24 · 262 阅读 · 0 评论 -
HashMap和HashTable的区别
区别继承不同HashMap继承的是· AbstractMap·,而HashTable继承的是·Dictionary 类(已被废弃)存储的健值对HashMap 的键有一个可为null,值可有任意多个null,由于键可为空值,使用containsKey()判断是否有键HashTable 键值对不能为空扩容HashMap默认大小16HashTable 默认初始大小11哈希值HashTable的hash值是直接使用对象中的hashCode方法,而HashMap则是重原创 2021-07-07 12:10:19 · 148 阅读 · 0 评论 -
java垃圾回收机制
详细博客Young区:对象被new创建时,一般放在Young区,经过一定的垃圾回收Minor GC还活着的对象会被移至Old区Old区:(FullGC)是针对年老代的回收栈内存局部变量、堆内存new 创建的对象java内存运行时程序计数器,虚拟机栈,本地方法栈随线程(方法)结束而自动回收垃圾回收主要针对是堆区的回收,引用计数法给对象添加一个引用计数器,被引用一次计数器+1,当引用失效时,计数器-1;当计数器值为0时,对象不再被使用,即可垃圾回收可达性分析原创 2021-07-07 11:35:40 · 122 阅读 · 0 评论 -
ArrayList集合框架
如果要存放多个对象,可以使用数组,但是数组有局限性,如声明数组的长度是固定的;为了解决数组的局限性,引入了容器类概念,常用的容器类就是ArrayList容器的容量capacity会随着对象的增加,自动增长ArrayList list = new ArrayList();1. 常用方法list.add()list.get(index)list.set(index,newValue)list.remove(index) / list.remove(element)list.inde.原创 2021-06-23 12:12:05 · 136 阅读 · 0 评论 -
转换流InputStreamReader和OutputStreamWriter
InputStreamReader、OutputStreamWriter实现从字节流到字符流之间的转换,类的继承关系InputStreamReader简介InputStreamReader 是字符流Reader的子类,字节流->字符流InputStreamReader(Inputstream in) //创建一个使用默认字符集的 InputStreamReader。InputStreamReader(Inputstream in,Charset cs) //创建使用给定字符集的 I原创 2021-06-03 12:41:34 · 201 阅读 · 0 评论 -
I/O输入输出流
变量、数组和对象中存储数据都是栈内存中,程序结束后会立即消失,为了永久保存创建的数据,将其保存至磁盘文件。Java中的I/O技术可以将数据保存到文本文件、二进制文件、zip文件,达到永久保存。1. 流概述流是一组有序的数据序列,数据在两设备之间的传输称为流,流的本质就是数据传输程序从指向源的输入流中读取源中的数据,输出流的指向是数据要到达的目的2. 输入流InputStream:字节输入流的抽象类遇到错误的时候引发 IOException异常Reader:字符输入流的抽象类原创 2021-06-03 12:29:46 · 160 阅读 · 0 评论 -
JAVA集合
一、Collection接口方法功能add(E,e)添加指定对象remove(Object o)删除指定对象isEmpty()判断当前集合是否为空,返回booleaninerator()迭代器,遍历集合对象size()集合中元素的个数实现:Collection<E> list = new ArrayList<>()list.add()Iterator<E> it = list.inerator()wh.原创 2021-06-03 10:26:47 · 125 阅读 · 1 评论 -
java接口Interface
1. 接口声明接口中所有方法只声明方法标识,不做具体的方法体,具体的方法体由继承该接口的类实现public interface 接口名[extends 其他接口名]{ //声明变量 // 抽象方法, public void travel();}接口是隐式抽象,不需要abstract关键字接口方法是共有的2.接口实现类实现接口,必须实现接口中的所有方法,否则类要声明为抽象类类使用implements实现接口public class Test implements 接口名[..原创 2021-05-29 12:23:58 · 103 阅读 · 0 评论 -
java异常处理
1.Exceptioin异常运行时异常RuntimeException:空指针、数组越界、类型转换错误检查异常CheckedException:发生在编译阶段,2.捕捉异常try、catch、finallytry{ //可能发生异常代码}catch(Exception e){// 对异常处理}finally{// 无论try如何退出,都会执行}try catch执行完catch代码块,将继续执行catch之后的代码Exception 是try传递给catch代码块原创 2021-05-29 11:49:49 · 104 阅读 · 0 评论 -
类的高级特性-内部类
java类包创建包 package 包名导入包 import 包名一、抽象类抽象类:只声明方法的存在,而不去具体实现抽象类不能被实例化关键字abstract定义抽象类:权限修饰符 abstract class 类名{ 类体 // 抽象方法}抽象方法:abstract 返回值类型 方法名(参数列表)必须要在子类中重写抽象方法不能使用private、static、final修饰在子类中应实现抽象类的所有抽象方法,如果还有未实现的抽象方法,则子类必须声明为抽象类二原创 2021-05-28 13:56:33 · 130 阅读 · 1 评论 -
继承与多态
1、封装实现封装的步骤:设置属性 private为每个属性创建一对setter和getter方法,一般设为public在赋值和取值方法中,加入属性控制语句public class Employee { private String name; // 姓名 public String getName() { return name; } public void setName(String name) { this.name = na原创 2021-05-25 15:58:47 · 165 阅读 · 0 评论 -
数字和日期处理
Math类常用方法求最大值和最小值、绝对值Math.max()Math.min()Math.abs()求整运算Math.ceil // 返回大于或等于 a 的最小整数Math.floor // 返回小于或等于 a 的最大整数Random类生成随机数Math.random()默认返回 0< 随机数 <1.0Random类Random r = new Random();double d1 = r.nextDouble(); // 生成[0,1原创 2021-05-25 15:15:04 · 138 阅读 · 0 评论 -
包装类(Integer为例)
Java为每个基本类型都提供了包装类,如int的包装类为Integer,将基本类型转换为对象处理,并能连接相关方法java.lang包里boolean —> Booleanchar —> Characterbyte—> Byteshort—> Shortlong—> Longint —> Integerfloat—> Floatdouble—> DoubleInteger构造方法Integer(int number)I原创 2021-05-25 12:02:00 · 430 阅读 · 2 评论 -
内存分配
栈内存:局部变量定义在方法中的变量,使用完毕会立即消失堆内存:new出来的内容(实体、对象)每一个new出来的内容都有一个地址值,使用完毕会在垃圾回收器空闲时回收原创 2021-05-22 15:35:55 · 71 阅读 · 0 评论 -
java数组
1. 数组的定义数组元素是相同数据类型的变量在堆内存中开辟连续的空间数组元素的总个数就是数组的长度 数组名.length数组下标从0开始 数组名[下标]2. 数组声明数据类型 [] 数组名称 = new 数据类型[长度];动态初始化一维数组:int [ ] arr =new int[10]二维数组:int[] [] arr = new int [2][3]静态初始化一维数组 int [] arr = {1,2,3,4.....}二维数组int [][] arr原创 2021-05-22 14:59:27 · 201 阅读 · 0 评论 -
方法
1. 方法的命名方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符 addPerson下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件2. 方法重载 被重载的方法可以声明新的或更广的检查异常方法名相同,但参数列表不同(参数类型、个数、顺序)重载方法返回类型可相同、可不同重载方法可访问修饰符方法能够在同一个类中或者在一个子类中被重载3.方法重写重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变重.原创 2021-05-22 12:23:15 · 134 阅读 · 0 评论 -
String 类
在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。1. 创建字符串String str = ‘Runooo 存储在公共池中用构造函数创建String str = new String(’hello‘) new创建的字符串在堆上2. 长度length()方法3. 连接字符串"我的名字是 ".concat("Runoob")"Hello," + " runoob" + "!"Java StringBuffer 和 StringBuilder原创 2021-05-21 20:29:07 · 117 阅读 · 0 评论 -
java基础
一、变量类型类变量(静态变量)独立于方法之外,用static修饰static int age =10静态变量在第一次被访问时创建,在程序结束时销毁静态变量可以通过:ClassName.VariableName的方式访问。无论一个类实例化多少对象,它的静态变量只有一份拷贝实例变量独立于方法之外,String str = ‘hello java当一个对象被实例化之后,每个实例变量的值就跟着确定;实例变量在对象创建的时候创建,在对象被销毁的时候销毁;实例变量可以声明在使用前或者原创 2021-05-21 15:03:23 · 154 阅读 · 0 评论 -
数据类型
一、内置数据类型Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。byteshortintlongfloatdoublebooleanchar二、引用数据类型引用数据类型指向一个对象,指向对象的变量就是引用变量,变量一旦声明,类型就不能被改变了对象,数组都是引用数据类型默认值为null三、常量final 类型 常量名=常量值常量名一般全部大写 如final double PI=3.1415类型转换低——高byte,原创 2021-05-21 14:24:29 · 114 阅读 · 0 评论 -
对象和类
java是面向对象编程对象和类类:类是一个模板,描述对象的行为和属性对象:对象是类的一个实例,有属性和行为public class Person{ //属性 String name; int age; String sex...... // 方法 void eat(){ } void run(){} void sleep(){}}构造方法java编译器会为类提供一个默认构造方法每个类都有构造方法,构造方法和类同名,一个类可以有多个构造方法public class原创 2021-05-21 13:54:00 · 85 阅读 · 0 评论 -
java基础语法
大小写敏感Java 是大小写敏感的,Hello和hello是不同的类名类名首字母大写,如MyName方法名方法名以小写字母开头,如果方法含有若干单词,则后面的每个单词首字母大写 如myFirstWork源文件名源文件名必须和类名相同,保存文件时,应使用类名作为文件名保存,后缀为.java主方法入口所有的java程序public static void main(String[] args) 方法开始执行java修饰符访问控制类 public 、private 、protected.原创 2021-05-21 12:13:03 · 99 阅读 · 0 评论