JavaSE
文章平均质量分 54
基础不牢,地动山摇,致力于Javase编程计数分享。
JungleiRim
Stay hungry stay foolish.
展开
-
Windows 10专业版上安装 OpenJDK 1.8.0_222教程(Java8环境安装)
在Windows 10专业版上安装 OpenJDK 1.8.0_222 是一个简单的过程。原创 2024-08-15 14:59:22 · 816 阅读 · 0 评论 -
Java动态代理机制,创建代理对象的方法(InvocationHandler,Proxy)
特点:无侵入式的给代码增加额外的功能。在Java中,动态代理是一种机制,允许在运行时创建一个代理对象来代替原始对象,并可以在代理对象的方法执行前后追加额外的逻辑。动态代理是通过Java的反射机制实现的。动态代理常用于在不修改原始类的情况下,增加额外的功能或在方法执行前后进行一些操作,比如日志记录、性能统计、事务管理等。动态代理主要涉及两个关键接口:InvocationHandler和Proxy。InvocationHandler负责实现代理对象的方法逻辑,而Proxy则用于创建代理对象。原创 2024-01-08 21:53:10 · 1007 阅读 · 1 评论 -
Java反射之获取构造方法,成员变量,成员方法以及反射的作用
在Java中,反射是指程序在运行时动态地获取类的信息、调用方法和访问属性的能力。通过反射,可以在运行时获取类的构造函数、方法和字段等信息,并且可以在运行时动态地创建对象、调用方法和访问属性,而不需要在编译时知道类的具体信息。反射提供了一种机制,使得编写通用的、灵活的代码成为可能,但同时也会增加代码的复杂性和性能开销。反射允许对封装类的字段(成员变量),方法(成员方法)和构造函数(构造方法)的信息进行编程访问。原创 2024-01-07 21:59:20 · 1063 阅读 · 0 评论 -
Java网络编程之IP,端口号,通信协议(UDP,TCP)
③协议:数据在网络传输中的规则,常见的协议有:UDP、TCP、HTTP、HTTPS、FTP。使用广播通信,发送方可以将数据包一次性发送给所有计算机,而无需指定单独的目标IP地址。由于互联网的蓬勃发展,IP地址的需求量愈来愈大,而IPV4的模式下IP的总数是有限的。在组播通信中,发送方将数据包发送到一个特定的组播IP地址,而不是单独的目标IP地址。单播是一种UDP通信的方式,其中一台发送方的计算机向一台接收方的计算机发送数据包。所有加入该组播组的接收方都可以接收到发送方发送的数据包。原创 2024-01-03 21:41:51 · 1826 阅读 · 0 评论 -
Java多线程之线程池,volatile,悲观锁,乐观锁,并发工具类
/创建自定义线程池3,//核心线程数量,不能小于06,//最大线程数,要大于核心线程数60,//空闲线程最大存活时间TimeUnit.SECONDS,//时间单位new ArrayBlockingQueue(3),//任务队列Executors.defaultThreadFactory(),//创建线程工厂new ThreadPoolExecutor.AbortPolicy()//任务拒绝策略。原创 2024-01-01 18:06:02 · 915 阅读 · 0 评论 -
Java多线程的生命周期,同步互斥锁机制(Lock,synchronized)
等同于操作系统中进程对临界资源的互斥操作,防止进程发生死锁,从而导致操作系统不安全。案例:厨师做面条,吃货吃面条,缓冲区为桌子,大小为10。①锁的状态默认打开,当一个进程占用时,锁自动关闭。②共享代码全部执行完毕之后,线程出来,锁自动打开。Lock是接口不能直接实例化的,这里采用它的实现类。特点:①同步方法是锁住方法里面的所有代码。:底层是链表,无界,最大为int的最大值。JDK5以后提供一个新的锁对象Lock。:当前类的字节码文件对象。同理线程的同步也是如此。实现线程的同步互斥。是单线程,不同步的,原创 2023-12-30 21:36:39 · 931 阅读 · 0 评论 -
Java多线程常见的成员方法(线程优先级,守护线程,礼让/插入线程)
让当前执行的线程睡眠对应的时间,参数单位为毫秒,当睡眠时间结束后,线程会继承执行后面的其他代码。应用场景:当聊天窗口关闭时,传输文件(守护线程)就没有存在的必要了。测试类:查看线程优先权,修改线程优先权并运行查看线程的执行顺序。他的作用就是去调用main方法,并执行里面的代码,当JVM虚拟机启动之后,会自动的启动多条线程,在以前,我们写的所有的代码,其实都是运行在。其中有一条线程就叫做main线程,线程优先级最小为1,最大是10,定义非守护线程:打印10次线程名。主函数:观察守护线程的结束时机。原创 2023-12-28 18:07:00 · 377 阅读 · 0 评论 -
Java多线程的概念以及三种实现方式(Thread类,Callable接口,Runnable接口)
将类声明为 Thread 的子类。该子类应重写 Thread 类的。线程是操作系统能够进行运算调度的最小单位。:在同一时刻,有多个指令在单个CPU上。:在同一时刻,有多个指令在多个CPU上。主函数:创建线程测试接口中的求和方法。之中,是进程中的实际运作单位。可以获取到多线程运行的结果。进程是程序的基本执行实体。②加载大量的资源文件。聊天软件,后台服务器。①拷贝,迁移大文件。原创 2023-12-27 21:24:09 · 467 阅读 · 0 评论 -
Java网络爬虫拼接姓氏,名字并写出到txt文件(实现随机取名)
1.爬虫函数(使用转换流,输入输出流)拼接成指定集合元素的格式:“目标网站,仅作为实验目的。使用正则表达式匹配汉字。原创 2023-12-25 11:04:31 · 267 阅读 · 0 评论 -
Java: Hutool工具包
【代码】Java: Hutool工具包。原创 2023-07-26 21:10:05 · 417 阅读 · 0 评论 -
Java: Commons-io
Commons-io是apache开源基金组织提供的一组有关IO操作的开源工具包。原创 2023-07-26 20:23:20 · 288 阅读 · 0 评论 -
Java:解压缩流和压缩流
压缩包里面的每一个文件在java里都是一个ZipEntry对象。解压本质:把每一个ZipEntry按照层级拷贝到本地另一个文件夹中。案例1:解压一个文件到指定路径。原创 2023-07-24 21:34:22 · 578 阅读 · 0 评论 -
Java: 打印流
(字节打印),(字符打印)两个类。特点:(只能读,不能写)打印一次数据=写出+换行+刷新。原创 2023-07-24 20:25:33 · 524 阅读 · 0 评论 -
Java:序列化流和反序列化流
使用对象输出流将对象保存到文件时会出现NotSerializableException异常。一旦实现了Serializable接口,就表示该对象可以被序列化。序列化流写到文件中的数据是不能修改的,一旦修改就无法再次读回来了。作用:不会把当前属性序列化到本地文件中。可以把序列化到本地文件中的对象,读取到程序中来。案例1:将文件中的序列化文件读取到控制台。保证修改成员属性时,能正确的被反序列化。可以把Java中的对象写到本地文件中。案例1: 把一个对象写到本地文件当中。接口内没有抽象方法,称为。原创 2023-07-23 21:22:54 · 254 阅读 · 0 评论 -
Java: 转换流
是字符流和字节流之间的桥梁。原创 2023-07-23 20:27:32 · 207 阅读 · 0 评论 -
Java:缓冲流
原理:底层自带了长度为的缓冲区提高性能。案例1:拷贝文件。原创 2023-07-09 20:56:42 · 164 阅读 · 0 评论 -
Java:字符流
字符流的底层其实就是字节流。输入流:一次读一个字节,遇到中文时,一次读多个字节。输出流:底层会把数据按照指定的编码方式进行编码,变成字节再写到文件中。原创 2023-06-07 23:18:35 · 596 阅读 · 0 评论 -
Java: 字符集详解
在计算机中,任意数据都是以的形式来存储的。每一个二进制数表示的0,1被称为,8个比特位组成一个字节。:计算机最小的存储单元。原创 2023-06-03 22:29:33 · 1282 阅读 · 0 评论 -
Java:IO流中不同JDK版本中的try catch异常处理
注意:只有实现了AutoCloseable接口的类,才能在小括号中创建对象。try后面的小括号中写创建对象的代码,接口代替异常处理语句。原创 2023-06-02 23:19:35 · 383 阅读 · 0 评论 -
Java: FileInputStream
操作本地文件的字节,可以把本地文件中的数据读取到程序中来。原创 2023-05-31 15:53:28 · 1424 阅读 · 0 评论 -
Java:FileOutputStream
操作本地文件的字节输出流,可以把程序中的数据写到本地文件中。原创 2023-05-29 23:12:34 · 685 阅读 · 0 评论 -
Java: IO流
IO流:存储和读取数据的解决方案用于读写文件中的数据(可以读写文件,或网络中的数据...)原创 2023-05-29 22:33:43 · 845 阅读 · 0 评论 -
Java:File类
4.当调用者File表示的路径是一个有内容的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回。delete方法默认只能删除文件和空文件夹,delete方法直接删除不走回收站。5.当调用者File表示的路径是需要权限才能访问的文件夹时,返回null。3.当调用者File表示的路径是一个空文件夹时,返回一个长度为0的数组。1.当调用者File表示的路径不存在时,返回null。2.当调用者File表示的路径是文件时,返回null。无法获取文件夹大小。原创 2023-05-21 19:58:04 · 424 阅读 · 0 评论 -
Java:自定义异常
1.定义异常类名命名后缀为2.写继承关系编译时:继承类, 核心:表示由于参数错误而导致的问题运行时:继承类, 核心:提醒程序员检查本地信息3.空参构造4.带参构造。原创 2023-05-21 00:15:57 · 50 阅读 · 0 评论 -
Java:抛出异常
编译时异常:必须要写。运行时异常:可以不写。原创 2023-05-20 23:42:44 · 583 阅读 · 0 评论 -
Java:异常 常见方法
(CTRL+alt+T:可生成有可能发生异常的代码)仅仅打印信息,不会结束虚拟机。原创 2023-05-19 23:39:45 · 92 阅读 · 0 评论 -
Java:异常处理的方式
try遇到问题,直接跳转到对应的catch如果没有对应的catch与之匹配,则交给虚拟机处理。答:会把try里面所有的代码全部执行完毕,不会执行catch里面的代码。答:相当于try...catch白写了,当前异常会交给虚拟机处理。4.如果try中遇到了问题,那么try下面的其他代码还会执行吗?答:会写多个catch与之对应,父类异常需要写在下面。3.如果try中遇到的问题没有被捕获,怎么执行?2.如果try中可能会遇到多个问题,怎么执行?1.如果try中没有遇到问题,怎么执行?可能出现异常的代码;原创 2023-05-19 22:21:58 · 682 阅读 · 0 评论 -
Java:异常
异常:就是代表程序出现的问题。原创 2023-05-18 23:30:36 · 438 阅读 · 0 评论 -
Java:方法引用
定义:把已经有的方法拿过来用,当做函数式接口中抽象方法的方法体。原创 2023-05-07 21:53:23 · 145 阅读 · 0 评论 -
Java:Stream流的终结方法
使用终结方法处理数据后,就不能使用流里的其他方法了。原创 2023-05-07 00:14:35 · 426 阅读 · 0 评论 -
Java:Stream流的中间方法
注意1∶中间方法,返回新的Stream流,原来的Stream流只能使用一次,建议使用链式编程。注意2 : 修改Stream流中的数据,不会影响原来集合或者数组中的数据。原创 2023-05-06 17:30:27 · 291 阅读 · 1 评论 -
Java:获取Stream流
结合了表达式,简化集合、数组的操作。原创 2023-05-05 20:49:28 · 649 阅读 · 0 评论 -
Java:创建不可变的集合
不可变集合:不可以被修改的集合才开始支持的。原创 2023-05-01 20:19:38 · 193 阅读 · 0 评论 -
Collections:Java集合工具类
【代码】Collections:Java集合工具类。原创 2023-04-19 23:56:13 · 110 阅读 · 0 评论 -
Java:可变参数
方法的形参个数是可以发生变化的。原创 2023-04-19 23:41:56 · 65 阅读 · 0 评论 -
Java:TreeMap类
TreeMap类是接口的实现类。原创 2023-04-09 20:43:18 · 175 阅读 · 0 评论 -
Java:LinkedHashMap类
LinkedHashMap是HashMap的子类。原创 2023-04-09 19:48:21 · 156 阅读 · 0 评论 -
Java:HashMap集合
如果键存储的是自定义对象,需要重写hashcode和equals方法;如果值存储自定义对象,不需要重写hashCode和equals方法。依赖hashCode方法和equals方法保证键的唯一。案例1:存储学生对象并进行遍历。案例2:统计投票人数。原创 2023-04-08 20:26:11 · 112 阅读 · 1 评论 -
双列集合的顶层接口Map
注:在添加数据时,如果存在,则添加,方法返回null;如果不存在,则覆盖,方法返回原有的值。Map是双列集合的顶层接口,它的功能是全部双列集合都可以继承使用的。获取所有键,放入一个单列集合,通过遍历获得每一个键,再找值。3.Lambda表达式。原创 2023-04-05 19:16:42 · 92 阅读 · 0 评论 -
Java:TreeSet类
TreeSet是Set接口的实现类。原创 2023-03-23 08:57:35 · 151 阅读 · 0 评论