自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 阅来越爱之Java多线程(实现Callable接口+线程池+图解)

文章目录新增两种创建线程的方式一、实现Callable接口概述实现Callable接口中各个类之间的关系Callable接口的使用二、使用线程池创建线程线程池描述线程池的使用ExecutorsExecutorService线程池的代码实现新增两种创建线程的方式我们知道在Java中最常见的实现多线程的方式就是继承Thread类和实现Runnable接口,我们总是会根据实际需求来选择相应的实现方式。相比较而言,通过实现Runnable接口来实现多线程更有优势,详细的内容可以看java中的线程(线程\程序\进

2020-12-22 18:44:14 398

原创 Java实现链表(数据结构)

数据结构——java实现链表/** * @author Lotus_dong * @create 2020-12-21 9:56 * @function 链表:真正的动态数组 */public class MyLinked<T> { /*创建节点,使用内部类*/ private class Node<T> { /*节点元素*/ T element; /*下一个节点*/ Node next;

2020-12-21 13:22:55 286

原创 线程通信和两个经典例题(两个线程交替打印1-100的数字+生产者消费者问题)

文章目录线程通信概述线程通信的经典案例两个线程交替打印1-100的数字生产者消费者问题线程通信概述1、线程通讯指的是多个线程通过消息传递实现相互牵制,相互调度,即线程间的相互作用。2、线程通信中涉及的三个方法:(1)wait():此方法一旦执行,当前线程就进入阻塞状态,并释放同步监视器(锁资源)。(2)notify():此方法一旦执行,就会唤醒被 wait 的一个线程。如果有多个线程被 wait,就唤醒优先级最高的那个。(3)notifyAll():此方法一旦执行,就会唤醒所有被 wait 的

2020-12-19 15:08:12 328 1

原创 Java中的线程(线程同步、线程死锁、Lock锁的使用)

文章目录线程同步概述并发与并行多线程同步实现同步锁同步代码块同步方法同步监视器线程死锁出现死锁的前提死锁描述避免死锁Lock(锁)概述Lock的使用Lock和synchronized的区别线程同步概述并发与并行1、并行:多个CPU同时执行多个任务。比如:多个人同时做不同的事情。2、并发:一个CPU(采用时间片)同时执行多个任务,同一个对象被多个线程操作。比如:买票,取款等等。多线程同步1、多个线程同时读写同一份共享资源时,可能会引起冲突。所以引入线程“同步”机制,即各线程间要有个先来后到。2

2020-12-16 17:35:04 189

原创 线程状态(线程的生命周期详解)及线程分类(用户线程和守护线程)

文章目录线程状态线程状态描述线程的生命周期控制线程线程分类概述设置守护线程线程状态线程状态描述1、新建:当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态。2、就绪:处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时它已具有了运行的条件,只是没有分配到CPU资源。3、运行:当就绪的线程被调度并获得CPU资源时,便进入运行状态,run()方法定义了线程的操作和功能。4、阻塞:在某种特殊情况下,被认为挂起或执行输入输出操作时,让出CPU并临时终止自己

2020-12-15 16:32:56 181

原创 java中的线程(线程\程序\进程、创建线程、图解多线程原理、Thread类中的方法、线程优先级)

文章目录线程程序、进程、线程概念线程和进程的关系多线程的概念创建线程继承Thread类实现Runnable接口图解多线程原理创建线程两种方式的区别Thread类中的方法构造方法常用方法线程优先级概述线程优先级的设置线程程序、进程、线程概念1、程序(program):为了完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码。2、进程(process):正在执行的程序,从Windows角度讲,进程是含有内存和资源并安置线程的地方。3、线程(thread):进程可进一步细化位线程,是一个进

2020-12-15 13:14:13 240

原创 干货满满!!!网络编程(TCP网络通信+UDP网络通信+TCP和UDP的通信交互)

文章目录网络编程Socket套接字概述Socket中的常用方法TCP网络通信客户端工作过程创建客户端服务器工作过程创建服务器TCP实现双方连续交互UDP网络通信概述实现UDP网络通信UDP实现双方连续交互网络编程学习本节网络编程,最好配合Java网络编程概述(IP和端口号、网络通讯协议、TCP和UDP协议的概述及其区别)一起学习,这样能够达到理论与实际相结合,可以对网络编程由一个更加全面的学习。Socket套接字概述1、利用套接字(Socket)开发网络应用早已被广泛的采用,以至于成为事实上的标准

2020-12-10 20:17:17 313

原创 Java网络编程概述(IP和端口号、网络通讯协议、TCP和UDP协议的概述及其区别)

文章目录网络编程概述概述通讯要素:IP和端口号IP地址IP地址的描述InetAddress类端口号端口号的描述端口号+IP地址通讯要素:网络通讯协议计算机网络网络通讯协议概述TCP协议TCP协议的描述TCP三次握手TCP四次挥手UDP协议TCP协议和UDP协议的区别网络编程概述概述1、计算机网络:把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息、共享硬件、软件、数据信息等资源。2、Java网络编程(1)Java是In

2020-12-08 15:15:32 469

原创 Java中的打印流和对象输入输出流

文章目录Print打印流概述常用类的使用对象输入输出流概述对象序列化Print打印流概述1、Print:打印流,只能做输出没有输入。2、打印流分为字节打印流和字符打印流。3、PrintWriter:字符打印流(主要使用)。4、Print方法可以打印各种数据类型。5、从程序中向文件打印输出内容即可。6、Print的底层使用的是Writer方法,只是Print支持更多的数据类型。7、实际应用:从服务器端使用打印流Print将网页内容响应给浏览器。常用类的使用Print打印流的常用类就是字符

2020-12-07 14:01:55 823

原创 复制文件,将大文件分割成小文件再将文件合并成大文件复制

我们需要将一个文件分割为每份1MB大小的若干份,存储在一个temp的文件夹中,然后再写一个方法,将这若干份合并为一个文件。1、首先是将一个文件分割程若干个存储在temp文件夹中,为方便之后合并可以将temp中的文件按先后写入的顺序编号。2、将文件合并到目标文件夹,你需要知道目标文件夹路径,你还需要从要输入的路径中取得复制后的文件名,从temp中读出分割的文件写入目标文件夹的目标文件中,后缀就可以。3、注意:所有分割和合并的过程用户不可见,用户只需要输入要复制的文件路径,和目标文件夹路径即可上代码:

2020-12-04 10:02:17 680

原创 IO流的核心---(输入输出流+字节字符流+节点处理流)

文章目录IO流概述输入及输出的概念输入流与输出流字节流与字符流概述常用类节点流与处理流概述处理流IO流概述IO就是input和output。而流指的就是Java中提供的读写文件操作的类的总称(称呼)。输入及输出的概念1、把电脑硬盘上的数据读到程序中,称为输入,即input,进行数据的read操作。2、从程序往外部设备写数据,称为输出,即output,进行数据的write操作。3、输入和输出都是相对于程序而言的。输入流与输出流流按照数据的传输方向分为:1、输入流:往程序中读叫输入流。2、

2020-12-03 23:29:12 266

原创 数据结构--Java实现队列和循环队列(先进先出)

Java实现队列和循环队列队列接口(Interface)public interface MyQueueInterface<E> { /** * 入队 */ public void enqueue(E element); /** * 出队/删除 */ public E dequeue(); /** * 获取队首元素 */ public E getFront(); /**

2020-12-01 12:01:18 570 2

原创 数据结构--Java实现栈(先进后出)

Java实现栈(先进后出)栈的接口(interface)public interface MyStackInterFace<E> { /** * 压(入)栈 */ public void push(E element); /** * 出栈 */ public E pop(); /** * 查看栈顶元素 */ public E peek(); /** * 获取元素数量

2020-12-01 11:55:49 856 2

原创 数据结构--Java实现动态数组

Java实现动态数组//定义一个自己的数组---泛型public class MyArray<T> { int size;//定义数组存放内容的实际个数 T [] data;/*定义一个数组 构造方法--->定义数组长度*/ public MyArray(int capacity) { size = 0; this.data = (T[]) new Object[capacity]; } public

2020-12-01 11:51:06 169

原创 LeetCode_237_棒球比赛两解(栈求解,栈+队列求解)

LeetCode_237_棒球比赛题目描述:你现在是一场采特殊赛制棒球比赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。比赛开始时,记录是空白的。你会得到一个记录操作的字符串列表 ops,其中 ops[i] 是你需要记录的第 i 项操作,ops 遵循下述规则:整数 x - 表示本回合新获得分数 x“+” - 表示本回合新获得的得分是前两次得分的总和。题目数据保证记录此操作时前面总是存在两个有效的分数。“D” - 表示本回合新获得的得分是前一次得分的两倍。题目数据保

2020-12-01 11:36:54 238

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除