
java
文章平均质量分 61
程冉
这个作者很懒,什么都没留下…
展开
-
多线程之Future
【代码】多线程之Future。原创 2022-11-03 16:06:31 · 288 阅读 · 0 评论 -
如何判断10个线程都已执行完;
【代码】如何判断10个线程都已执行完;原创 2022-11-03 15:57:30 · 219 阅读 · 0 评论 -
设计模式之建造者模式
建造者模式使用多个简单的类创建一个复杂的对象,用于将一个复杂的构建与其表示分离,使得同样的构建过程可以创建不同的表示,然后通过一个Builder类(该Builder类是独立于其他对象的)创建最终的对象。建造者模式与工厂模式的最大区别是,建造者模式更关注产品的组合方式和装配顺序,而工厂模式更关注产品的生产本身。...原创 2020-10-06 12:08:39 · 76 阅读 · 0 评论 -
设计模式之单例模式
单例模式首先通过将类的实例化方法私有化来防止程序通过其他方式创建该类的实例,然后通过提供一个全局唯一获取该类实例的方法帮助用户获取类的实例,用户只需也只能通过调用此方法获取类的实例。一、懒汉模式在获取对象实例时做了加锁操作,因此是线程安全的。public class LazySingleton { private static LazySingleton instance; private LazySingleton() {} // 类的具体功能待写 public sta.原创 2020-10-05 22:38:57 · 192 阅读 · 1 评论 -
排序算法之计数排序、基数排序、桶排序
一、计数排序计数排序不是基于比较的排序算法,其核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。当输入的元素是 n 个 0到k之间的整数时,时间复杂度是O(n+k),空间复杂度也是O(n+k),其排序速度快于任何比较排序算法。当k不是很大并且序列比较集中时,计数排序是一个很有效的排序算法。import java.util.Arrays;public class CountingSort { public原创 2020-10-05 01:49:17 · 152 阅读 · 0 评论 -
经典排序之比较类排序:交换排序(冒泡排序、快速排序)、插入排序(简单插入、希尔排序)、选择排序(简单选择、堆排序)、归并排序
比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。本文先介绍比较排序的八种算法:一、交换排序——冒泡排序import java.util.Arrays;public class BubbleSort { public static void main(String[] args) { .原创 2020-10-03 22:46:35 · 347 阅读 · 0 评论 -
java输入与输出
java应用程序中,数据是以三种方式呈现的,分别是文件、屏幕(console)和套接字(socket)。java应用程序从这三种方式的来源读取数据时,所经过的流称为输入流。反之,当java程序输出数据到上面三种方式的目的地时,所经过的流称为输出串流。根据传输文件大小又可将流分为byte为传输单位(8b)的字节流和以char为传输单位(16b)的字符流。原创 2020-09-30 18:44:33 · 462 阅读 · 0 评论 -
java的多线程
进程是系统进行资源配置和调度的基本单位,是操作系统结构的基础。一个标准的线程由线程id、指令指针(PC)、寄存器集合和堆栈组成。线程是进程中的一个实体,是被系统独立调度和分派的基本单位。线程自己不拥有系统资源,与其他同属于同一个进程的线程共享进程所拥有的全部资源。基于进程的多任务特点:每个进程在执行时,都有独立的内存空间。进程又称重量级进程。各进程间的信息传递是昂贵的。从一个进程切换到另一个进程需要分别保留和下载缓存器、内存映像、更新串行等。基于线程的多任务特点:由于各线程间是独立.原创 2020-09-29 17:44:18 · 104 阅读 · 0 评论