- 博客(10)
- 收藏
- 关注
原创 创建线程的四种方法
这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。提高了系统的复杂度,需要分离出外部状态和内部状态,而且外部状态具有固有化的性质,不应该随着内部状态的变化而变化,否则会造成系统的混乱。缺点:在run方法内部需要获取到当前线程的Thread对象后才能使用Thread中的方法。缺点:继承Thread类之后就不能继承其他的类,Java的单根继承体系。大大减少对象的创建,降低系统内存的使用,以提高程序的执行效率。优点:可以直接使用Thread类中的方法。4、使用线程池【3星】
2024-03-07 18:13:38
541
原创 多线程简述
Thread类可以理解为是java用于管理线程的一个类,里面封装了操作系统提供的线程管理这一方面的应用编程接口API,Java代码创建的每个线程都可以理解为Thread实例化的对象,Thread对象用于描述线程的信息。Java标准库中Thread类可以视为是对操作系统对线程管理方面提供的API进行了进一步的抽象和封装。定义类继承Thread类,并重写Thread类的run()方法,该run()方法的方法体就代表了线程需要完成的任务。因此把run()方法称为线程执行体。
2024-03-06 09:08:59
373
1
原创 多线程基础
进程是程序的一次执行过程,通常是一个可执行程序在内存中的一个完整副本,每个进程都有自己的数据段、栈段和代码段,是一段完整的程序,在内存中占据较大的空间,是系统进行调度和资源分配的一个独立单位。线程是进程中的一个独立执行线索,是进程中的一个实体,是CPU调度和分派的基本单位,是比进程更小的能独立运行的基本单位,线程自己基本上不拥有系统资源。在进程中加入了时间的概念。进程是具有一定独立功能程序的运行过程,是系统进行资源分配和调度的一个独立单位,重点在系统资源调度的单位,也就是说进程是可以独立运行的一段程序。
2024-03-04 09:28:59
1256
1
原创 排序算法-冒泡
2、排除问题规模的影响,将运行次数和问题规模建立一个等式,例如上面的执行次数为N,其中N为问题规模。3、剔除等式中常量部分,只保留最高次幂部分,并且写成O(n),称为时间复杂度---正相关。这种方式目前无法使用,因为受到多方面的限制,例如内存大小、CPU主频等。空间复杂度:O(1),这里的1(表示所额外需要的空间数)为。1、查找算法中执行次数最多的语句,例如是第7句。- 有2个指标:时间和空间。时间复杂度:O(n**2)
2024-03-01 09:08:15
1045
1
原创 对象克隆简述
不是克隆,而是两个变量指向同一个对象Object类中定义一个clone方法native方法用于声明一个非java语言实现的代码,供java程序调用。因为java语言程序是运行在JVM上, 如果要访问比较底层的与操作系统相关的方法就没有办法了,只能通过比较靠近系统的语言来实现,比 如C/C++。Java中有两种不同的克隆方法:浅克隆shallowClone和深克隆deepclone。浅克隆不支持引用类型成员 变量的复制,仅仅只是克隆的地址;深克隆支持引用类型成员变量的复制。
2024-02-29 09:14:08
587
原创 过滤流简介(2)
一般使用缓存流的目标是在于以透明的方式引入缓冲区,以提高代码的执行效率,所以不会使用什 么特殊的方法,还是使用Reader/Writer、InputStream/OutputStream之类的父类中提供的方法。打印流都是用于实现打印输出,其中有PrintWriter和PrintStream,分别针对字符和字节,都提供了一 系列重载的print和println方法,可以输出多种类型数据。针对对象的序列化和反序列化是通过JVM实现的,编程中只做声明,序列化的目标就是将对象保存到磁盘中或者允许在网络中直接传动。
2024-02-28 17:54:54
842
原创 过滤流简介(1)
处理类型字符流字节流缓存BufferedReader和BufferedWriterBufferedInputStream和BufferedOutputStream过滤处理FilterReader和FilterWriterFilterInputStream和FilterOutputStream桥接处理InputStreamReader和OutputStreamWriter对象处理ObjectInputStream和ObjectOutputStream数据转换。
2024-02-28 09:14:42
845
原创 设计模式—装饰器模式
具体装饰器Concrete Decorator:实现了抽象装饰器的接口,负责向抽象组件添加新的功能。抽象装饰器Decorator:继承自抽象组件,它包含了一个抽象组件对象,并定义了与抽象组件相同的接口,同时可以通过组合方式持有其他装饰器对象。装饰类和被装饰类可以独立发展,不会相互耦合,装饰模式是继承的一个替代模式,装饰模式可以动态扩展一个实现类的功能。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。4、具体装饰器,负责向抽象组件添加新的功能。
2024-02-27 09:11:54
664
原创 BIO编程
读写文件使用文件流,如果操作文本文件建议使用FileReader和FileWriter,如果操作二进制文件,例如图片、声音、视频等,则建议使用FileInputStream和FileOutputStream。需要注意docx文件不是文本文件需要建立缓冲区,可以考虑建立临时文件,这种方式效率低下。
2024-02-26 09:05:36
1113
原创 File类
等价于File ff=new File("c:\\windows","win.ini")File[] children = file.listFiles(new FilenameFilter() { //匿名内部类。
2024-02-22 11:40:13
803
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人