- 博客(12)
- 收藏
- 关注
原创 java学习笔记12
JDBC(JavaDatabaseConnectivity)是Java语言中用于连接和操作数据库的一组API。它允许Java程序通过标准的数据库连接方式,与不同种类的关系型数据库进行通信和交互。JDBC提供了一种统一的编程接口,使得开发人员可以使用相同的代码来访问不同的数据库。它提供了一组类和接口,用于建立数据库连接、执行SQL查询和更新语句、处理事务以及处理数据库结果集等操作。
2025-02-22 17:51:24
1062
原创 java学习笔记11
通过反射,你可以在运行时检查和获取类的方法,即使在编译时你可能不知道具体的类和方法。代表类的字节码,每个类在JVM中都有对应的Class对象,可以通过该对象获取类的各种信息(如方法、字段、构造器等)。Class对象是描述类的结构信息的特殊对象,而不是类的实例。每个类在运行时都有一个对应的Class对象,该对象包含了类的结构信息,如属性、方法、构造方法等。Java中的Class类用于表示和操作类的结构信息,它是所有类的模板,但本身不能被实例化。类的类对象中存储了类中定义的内容 属性/方法/构造方法。
2025-02-22 17:51:11
553
原创 java学习笔记10
与sleep方法不同的是wait方法调用完成后,线程将被暂停,但wait方法将会释放当前持有的监视器锁(monitor),直到有线程调用notify/notifyAll方法后方能继续执行,而sleep方法只让线程休眠并不释放锁。(Circular Wait):存在一种等待循环,即线程1等待线程2持有的资源,线程2等待线程3持有的资源,...,线程N等待线程1持有的资源。通过线程池,可以将任务提交给线程池,线程池会自动管理线程的生命周期,使得线程可以被重复利用,避免频繁地创建和销毁线程的开销。
2024-07-30 22:20:42
630
原创 java学习笔记9
普通的变量在多线程环境下可能存在数据不一致的问题,因为线程A修改了变量的值,但是线程B在此之前已经缓存了该变量的旧值,导致线程B读取的是一个过期的值。当一个线程尝试获取一个同步代码块的锁时,如果当前锁处于偏向状态且偏向线程是当前线程,则可以直接获取锁而无需进入阻塞状态。如果相等,则将共享资源的值更新为新值,如果不相等,则表示有其他线程已经修改了该值,此时需要重新读取共享资源的值并重试。,使用锁对象来实现线程同步。在同步代码块中,遇到相同的锁对象的同步代码块,不需要再次获取锁对象的权限,而是直接进入执行。
2024-07-29 22:24:06
815
原创 java学习笔记8
(1).检查型异常(编译异常):在编译时就会抛出的异常(代码上会报错),需要在代码中编写处理方式 (和程序之外的资源访问) 直接继承Exception。7. 如果catch块抛出了异常, 没有finally就会中断程序,如果有finally,会运行finally会运行 并且正常返回,此方法正常运行结束。(2).运行时异常: 在代码运行阶段可能会出现的异常,可以不用明文处理可以通过代码避免异常的发生 继承RunTimeException。catch(要捕获的异常对象){捕捉到异常后要处理的代码}
2024-07-25 22:45:51
835
原创 Java学习笔记7
在类或方法上都可以使用泛型返回的类型和传入的类型是同一种return j;return e;类型转换时没有明确对象的数据类型进行强制数据类型转换会抛出ClassCaseException(类型转换异常)类型不安全//类型安全//类型不安全//只要是泛型就是对象泛型类的语法格式:第一种:class 泛型类名称<类型形参列表> {// 这里可以使用类型参数第二种: class 泛型类名称<类型形参列表> extends 继承类/* 这里可以使用类型参数 */ {
2024-07-23 20:48:23
940
原创 java学习笔记6
静态内部类(类中定义)、成员(对象)内部类(类中定义)、局部内部类(方法中定义),匿名内部类(方法中定义)四种。并可通过内部类的实例访问内部类的成员变量和方法,即使是私有的。内部类可以访问外部类的所有成员(包括私有成员),同时也可以拥有自己的成员变量、方法、构造器以及嵌套类。4、当内部类与外部类有同名成员变量和方法时,内部类可通过Outer.this方式来引用外部类成员。一个类的定义放在另一个类的定义(称为外部类)内部,这个类这就是内部类。2、外部类可通过内部类的对象调用内部类的私有成员变量或方法。
2024-07-19 22:20:10
843
原创 java学习笔记5
方法往StringBuilder数组中追加字符,没有产生新的字符串对象。生成一个[0,1)的随机数。如果不存在就复制一份存入常量池中,然后返回常量池中的副本对象,intern 返回 str对象在字符串常量池中的副本对象。destPos:目标数组中要复制到的元素的起始位置。srcPos:源数组中要复制的元素的起始位置。过程:检查str是否在字符串常量池中存在副本,如果已经存在副本对象,直接返回副本对象。那么两个字符串的intern方法 ==length:要复制的元素数量。
2024-07-18 22:39:24
1850
原创 java学习笔记4
abstract不能和static,private,final或native并列修饰同一方法。abstract不能修饰变量,代码块,构造器。
2024-07-17 21:49:20
1682
原创 java学习笔记3
子类不是父类的子集而是父类的扩展,是包含了父类中所有实例变量和方法,并包含了自己特殊的元素的,一个专门用途的版本。不是所有的属性和方法都能访问的,访问权限见上图。java只支持单一继承,即一个类只能有一个直接父类。实现代码重用多态实现的基础可以使用this来指定本类的属性和方法,super指定父类的属性和方法。对象转换:引用数据类型也可以像基本数据类型一样自动或强制实现类型转换。(1)向上转型(隐式转换):声明一个父类类型的引用指向一个子类的对象。
2024-07-16 22:33:06
2089
原创 java学习笔记2
&是按位与运算符,&&是逻辑运算符,两者运算方式不同,但是可以得到相同结果,&没有短路现象,&&有短路现象。在循环中使用break退出所在的循环体,continue语句则是不再执行此语句下面的语句,继续下一次循环。将A和B转为二进制,右侧对齐上下比较,两者有一个1结果即为1,两者都为0结果才为0.将A和B转成二进制 右侧对齐上下比较,两者都为1,结果为1,否则为0.写多个if语句时,尽量让条件严格的放在上面,减少重复判断造成的资源浪费。将A和B转为二进制,右侧对齐上下比较,两者不同则为1,相同则为0.
2024-07-15 22:42:21
814
原创 Java学习笔记1
强制类型转换,可将范围大的类型的值转为范围小的类型的值,但是需要注意,如果截断的二进制位为有效位则会造成数据错误,如。标识符尽量使用驼峰命名法(单词首字母大写),所有标识符尽量见名知意,标识符可以缩写,如果影响见名知意,就不要缩写。标识符只能有字母,数字,$,_组成,不能是关键字,首字符不能是数字(中文语法上是通过的,但不允许)。3.程序运行过程:源码---javac---字节码---Java---系统指令。隐式转换系统自动完成,取值范围小的类型的值可自动转化为取值范围大的类型的值。
2024-07-14 21:34:27
861
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅