- 博客(14)
- 收藏
- 关注
原创 Java高级-反射
类加载器的作用:将class字节码文件内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后在堆中生成一个代表这个类的Class对象,作为方法去中类数据的访问入口。加载完类之后,会在堆内存中生成Class类型的对象,一个类只生成一个(也就意味着通过反射创建的对象的地址值指向同一个),这个Class类型的对象包含了类的完整的结构信息。当前类就是这两行代码写的类。class :外部类,内部类,静态内部类,局部内部类,匿名内部类,接口,注解,枚举类,基本数据类型,void。
2025-07-28 18:54:06
840
原创 Java高级-网络编程
在指定协议时,把复杂成份的分解成一些简单的成份,再将它们组合起来,最常用的复合方式就是层次方式,即同层间可以通信,上一层可以调用下一层,不跨层处理,各层互不影响,利于系统的开发和扩展。Java提供的网络类库,可以实现网络连接,联网的底层细节被隐藏在Java的本机安装系统中,由jvm进行控制,并且Java实现了一个跨平台的网络库,面对的是一个统一的网络编程环境。close()关闭套接字,关闭之后,不能再使用,只能重新创建新的套接字对象,关闭套接字后,该套接字的输入流和输出流也会关闭。
2025-07-24 11:40:11
705
原创 Java高级-IO流
如果文件存在,且有内容,再去做写的操作,则会从文件内容的0下标开始覆盖,知道写入的内容结束,比如,文件原有内容123456,写入,789,运行后,文件内容则会变成789456,如果要做,追加,或插入操作,可以使用 seek()来移动指针,如果是追加,则可以使用file.length(),如果是插入则可以指定位置。根据数据流的流向不同分为:输入流和输出流 (输入、输出,主要看针对于谁说的,如果是内存读磁盘,把磁盘的文件读入到内层中,叫输入,把内存的东西写到磁盘中,叫输出)如果此文件目录存在,就不创建了。
2025-07-23 09:44:15
738
原创 Java高级-枚举类、注解、泛型
如何定义枚举类* 方式1:jdk5.0之前,自定义枚举类 class Xxx* 方式2:jdk5.0,可以使用enum关键字定义枚举类 enum Xxx* Enum类的常用方法* values() 返回枚举类型的对象数组,该方法可以很方便地遍历所有的枚举值* valueOf(str) 可以把一个字符串转为对应的枚举类对象,要求字符串必须是枚举类的* 名字,如果不是,会有运行时异常* toString() 返回当前枚举类对象常量的名称。
2025-07-13 17:33:38
594
原创 Java高级-常用类的使用
以京东页面举例,需要筛选商品,可以通过价格,评价等筛选,每个商品就是一个对象,价格,评论等都是属性,实现compareablle,重写compareTo后,方法内部就可以以属性比较大小,并进行排序。解码: byte[]-->String : 调用String的构造器 new String(byte[],"字符集") (把看不懂的二进制数据,转换成看得懂的文本内容)编码: String --> byte[]: 调用String的getBytes("字符集") (就是从看的懂的文本内容,转换成二进制数据)
2025-07-11 11:54:11
835
原创 Java高级-集合
定制排序,通过Comparator接口来实现。//在带参构造器中,首先判断传进来容量是否小于0,如果小于抛异常,如果不小于继续判断,判断传进来的容量是否大于最大容量,如果大于,将传进来的容量改成最大容量如果不大于继续判断,判断填充因子是否小于等于0,或填充因子是否为数字,满足两个其中一个条件,则抛异常,如果不满足就继续往下运行,如果key的哈希值与已经存在的某一个数据(key1,value1)的哈希值相同,则继续比较,调用key所在的类的equals(key1)方法。
2025-07-06 21:37:24
1848
原创 Java基础-异常
throws + 异常类型 写在方法的声明处,代表该方法执行时,可能会抛出的异常类型,当方法执行时,出现异常,仍会在异常代码处生成一个异常类的对象,此对象满足throws后异常类型时,就会被抛出。异常代码后续的代码就不再执行。2.执行的方法a中,先后又调用了另外的几个方法,这几个方法是递进关系执行的,这几个方法可以使用throws的方式处理,而执行方法a可以使用try-catch-finally的方式处理。过程一:“抛”,程序在正常执行过程中,一旦出现异常,就会在异常代码处生成一个对应异常类的对象。
2025-07-03 21:00:03
283
原创 Java基础-面向对象下
abstract 用来修饰方法(抽象方法) 抽象的方法只有方法的声明,并没有方法体,包含抽象方法的类,一定是个抽象类,抽象类中可以没有抽象方法,若子类重写了父类中的所有抽象方法后,此子类可以实例化,若子类没有重写父类中的抽象方法,则子类也是抽象类,需要用abstract修饰。通过实现类的对象,可以调用接口中的默认方法,如果实现类重写了接口中的默认方法,调用的是重写的方法,调用接口A中的默认方法 ,接口A.super.默认方法();静态变量: 创建类的多个对象,多个对象共享同一个静态变量。
2025-07-02 15:14:56
1374
原创 Java基础-面向对象上
一旦子类A继承父类B后,子类A中就获取了父类B声明的所有的属性和方法,特别的,父类中声明为private的属性或方法,子类继承父类以后,仍然认为获取了父类中私有化的结构。只因封装性的影响,使得子类不能直接调用父类的结构而已。2.当子类重写了父类中的方法以后,在子类的方法中调用父类中被重写的方法时,则必须显式的使用super.方法的方式,表明调用的是父类的被重写的方法。特殊情况:1.当子类和父类的属性相同时,要调用父类的属性,必须显式的使用super.属性的方式,表明调用的是父类中的属性。
2025-07-02 15:14:47
1692
原创 Java基础3
一旦匹配成功,则进入相应的case结构中,调用其执行语句,当调用完执行完语句以后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字结束switch-case结构。优先使用方式1,因为方式1,当条件1,为真,无论条件2是否为真,都不会走else if 去判断条件3,而方式2,当条件1为真,还需要看条件2是否为真,如果条件2为假,则仍然会走else if 判断条件3。执行顺序:1->2->3->4->2->3->4... ...直到循环条件为false,结束循环。
2025-07-01 13:55:17
786
原创 java基础2
比如定义了一个整型变量,它就只能存储整数类型的数据,不能存储字符串或者浮点数,否则就会出现错误,就像规定水杯只能装液体,你却想往里面装固体,这显然是不符合规则的。例如,一个字节类型的变量,它能存储的整数范围是有限的,如果我们给它赋值一个超出这个范围的数,就会导致数据溢出,产生错误的结果。用大小,每个类型能装的大小是不一致的,就比如盘子。用的盘子大,有的盘子小。比如,鱼会用外形像鱼一样的特色盘子盛放,汤则用圆深的盘子来装,一般盘子大小要么刚好容纳菜,要么大于菜的大小,因为用小盘子装大量的菜容易撒汤。
2025-06-30 14:54:53
702
原创 Java-基础1
不再使用的内存,应该回收---垃圾回收,垃圾回收在Java程序运行过程中自动进行,程序员无法准确控制和干预。Java 从C语言和C++语言继承了许多成分,也舍去了C语言中容易引起错误的指针等,也增加了C语言中没有的功能,比如垃圾回收机制自动拆、装箱,泛型等(取其精华,去其糟粕)JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域,负责执行指令,管理数据,内存,寄存器等。安装完成后,打开软件,点击上方的工具,选择参数设置,可以修改颜色,字体等。面向过程语言:C,Pasca,FORTAN。
2025-06-29 22:18:20
680
原创 Java环境配置
然后创建变量classpath : 指示Java虚拟机(JVM)和JDK工具在哪些目录或文件中查找用户程序依赖的类文件(.class)及压缩包(.jar)%JAVA_HOME%\lib\dt.jar;在系统变量中找到Path ,并点击编辑,给Path新加一个值。新增一个值并上移到最顶部 值为%JAVA_HOME%\bin。然后一路点确定,退出设置既可。变量起名为JAVA_HOME。在右边下滑并点击系统信息。然后点击高级系统设置。
2025-06-29 09:00:00
135
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅