自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java网络编程——UDP通信原理(超详细解析一看就懂哦!!!)

文章目录前言一、TCP和UDP概述二、UDP1.UDP通信概述2.UDP通信特点3.UDP通信传输实现的基石3.1、DatagramPake常用方法3.2、DatagramSocket常用方法4.UDP通信实现原理5.UDP通信原理(代码实现)总结前言继续今天我们的Java网络编程——TCP和UDP通信一、TCP和UDP概述传输层通常以TCP和UDP协议来控制端点与端点的通信TCPUDP协议名称传输控制协议用户数据包协议是否连接面向连接的协议。数据必须要建立连接

2021-02-28 13:51:17 9202 19

原创 多线程的线程安全与互斥解决方案——同步代码块/同步函数

文章目录一、线程安全与互斥(案例说明)1.经典案例2.代码实现小结二、解决思路1.解决办法——同步代码块2.同步代码块(SellTicket线程)3.解决办法——同步函数2.同步函数(SellTicket线程)总结一、线程安全与互斥(案例说明)1.经典案例1、有100张电影票2、设置三个窗口同时卖电影票3、观察卖电影票的过程2.代码实现代码如下(SellTicket线程):public class SellTicket implements Runnable { // 定义100张票 p

2021-02-25 19:17:03 2183 6

原创 多线程的创建

文章目录前言一、线程的创建概述二、Thread创建线程1.创建步骤2.代码实现三、Runnable创建线程1.创建步骤2.代码实现四、Callable创建线程1.Callable创建线程的优势2.代码实现总结前言记得好几年前无VIP下载视频的时候感觉有点慢,后来推出了花钱开了个VIP,不光能看很多专享电影,这下载速度也是哐哐的上去了,当时觉得这VIP开得值,现在学了多线程,以及了解了seek,感觉VIP没有那么高 大 上了,就是没VIP的时候,一个工作一个人做,有了VIP之后一个工作多人工作,这效率就

2021-02-23 19:39:34 1159 22

原创 Java网络编程——IP、URL编程

文章目录前言一、Java网络编程基础概述二、Java网络API三、IP编程1.InetAddress2.InetAddress示例(代码示例)四、应用层(URL)编程1.URL编程2.构造URL对象3.获取各个参数4.获取URL指向的资源(图片)4.1获取URL指向的资源(图片)思路4.2获取URL指向的资源(图片)代码实现总结前言Java学习真是一环扣一环,学完IO流以后就想着接下来是什么呢,一看Java基础学习计划是——Java网络编程基础,针对这一部分知识点比较多,以免大家出现视觉疲劳,我会写成小

2021-02-26 16:43:14 466 3

原创 线程通信——多线程同步(生产者消费者例子)

文章目录前言一、线程通信概述二、典型例子1.生产者和消费者例子2.通过例子理解与剖析三、常用API四、生产者和消费者例子代码实现总结前言多线程的学习接近尾声了,这次我们的主题是线程通信一、线程通信概述通过加锁的方式保证共享数据访问的完整性,但是并没有规定线程执行的先后顺序。各线程到底谁先执行由操作系统的调度决定在进行多线程的设计时,还会遇到另一类问题:如何控制相互交互的线程之间的运行顺序,及多线程的同步二、典型例子1.生产者和消费者例子生产者和消费者的问题1、生产者:先看是否有数据,如果有

2021-02-24 23:10:06 758 1

原创 多线程——守护线程

文章目录一、守护线程概述二、API三、实例演示(代码)总结一、守护线程概述在Java中有两类线程:用户线程、守护线程后台线程也叫守护线程,通常在后台默默执行。其实用户线程和守护线程几乎内有什么区别,唯一不同就是虚拟机的离开方式不同,如果用户线程已经全部退出去了,只剩下守护线程了,虚拟机也就退出了。因为没有被守护者,守护线程也就没有工作可言了,也就没有继续运行程序的必要了。二、APIsetDaemon(boolean on)设置线程为后台线程(守护线程)。必须在调用stat()方法之前才有

2021-02-24 20:55:55 604 1

原创 线程死锁(文学家与艺术家例子)

文章目录前言一、死锁产生的原因二、死锁示例三、死锁代码演示总结前言多线程的学习还是很有意思的,简绍一下在多线程中比较有名的死锁产生的原因,这也是面试比较爱问的Java基础之一,所以比较重要,特地挑出来简绍一下下一、死锁产生的原因在多线程中使用锁会造成整个程序的效率降低,但是如果出现同步嵌套,就容易产生死锁问题。而死锁就是两个或者两个以上的线程在执行的过程中,因为争夺资源产生的一种互相等待的现象。如果两个或者多个共享对象,分别持有对方所需的共享的锁,在试图获取对方线程所持有本线程的锁的时候,就容易出

2021-02-24 20:22:16 489 1

原创 最简单也最容易理解得线程结束

文章目录前言一、结束线程的常见方式二、结束线程的正确方式(代码演示)总结前言昨天刚刚接触多线程,但是一打开多线的常用的三种常用的创建方式就会发现,它们确实有停止的方式,但是后面有大大的标识——已过时。所以只有找其他的办法解决了,那么就不卖关子了,进入今天的主题——结束线程一、结束线程的常见方式1、自然退出:run()执行完之后自动退出,这种行为是可预测的。当然这也是最好得方式。2、强制退出:传统方式是使用suspend()和resume()来暂停或者恢复线程,或者最后的选择使用stop()来结

2021-02-24 18:42:31 1681

原创 最最简单、功能健全,真正的单例模式

文章目录一、单例模式要点二、实现步骤(详细)1、创建一个简单的构造函数2、构造函数私有化小结3、通过一个公有的方法提供访问小结4、创建一个成员变量5、为了适应在多线程场景在提供访问的方法中加入synchronized小结5、简单单例函数优化(赖汉式)6、简单单例函数(饥汉式)三、总结一、单例模式要点1、某个只能有一个对象2、必须自行创建这个实例3、必须向整个系统提供这个实例4、基于多线程也适用二、实现步骤(详细)1、创建一个简单的构造函数代码如下(创建一个构造函数):public clas

2021-02-24 17:57:43 403 1

原创 非空文件目录(夹)的删除

非空文件目录(夹)的删除import java.io.File;public class Demo06 { public static void main(String[] args) { } public static void delectDir(String dirPath) { File dir = new File(dirPath); // 创建新的file目录对象 File[] filesArray = dir.listFiles(); // 返回目录对象下的所有文件或文

2021-02-23 20:12:01 605 1

原创 HashMap统计字符串中每个字符出现的次数

HashMap统计字符串中每个字符出现的次数import java.util.HashMap;import java.util.Map;public class Demo01 { public static void main(String[] args) { String string = "ask55dHA''hhluSNDG看就看"; HashMap<Character, Integer> map = new HashMap<Character, Integer&

2021-02-23 12:54:46 642 2

原创 乱码的产生及解决(简单)

乱码的产生及解决(简述)代码如下(示例):import java.io.UnsupportedEncodingException;public class Demo05 { public static void main(String[] args) throws UnsupportedEncodingException { // 乱码的产生及解决 String gbkString = "黄河"; byte[] gbkByteArray = gbkString.getBytes("g

2021-02-22 18:13:28 1215 1

原创 史上最简单详细的——字节流文件拷贝

文章目录前言一、文件流的简绍二、使用步骤1.问题分析2.代码实现过程分析三、代码实现1.文件复制代码展示2.文件复制成果展示总结前言由于过年了,就想着玩一下,不过学习得自律啊,今天就开始新年的第一篇文章了——关于字节流与文件的拷贝一、文件流的简绍文件流包括FileInputStream和FileOutputStream,其中它们分别是inputStream和OutputStream的子类,而FileInputStream和FileOutputStream的构造方法可以接受文件路径,也可以接受Fil

2021-02-22 17:44:03 1385

原创 递归算法——阶乘、斐波那契数列

文章目录前言一、什么是递归算法?二、递归算法特点三、递归算法的使用要求四、应用示例——阶乘1.阶乘概述2.思路分析3.代码实现五、应用示例——斐波那契数列1.思路分析2.代码实现注意前言在最近的学习中,我自己感觉我一开始最不理解的就是一个方法里面还可以调用这个方法自己,感觉太不可思议了,今天我们就分享一下这种算法——递归算法一、什么是递归算法?递归是计算机科学的一个重要概念。递归算法就是把问题转化为规模缩小了的同类问题的子问题,然后递归调用函数来表示问题的解。一个函数直接或间接调用自己本身,这种函

2021-02-07 01:05:31 1540

原创 循环语句——for循环

文章目录前言一、循环结构概述语句二、for循环、while循环、do...while循环应用场景分析二、for循环1.for循环语句格式2.关于for循环的执行流程2.1流程2.1例子(代码实现)小结3.多重for循环(详解!重要!理解!)3.1双重for循环——打印直接三角形总结前言其实Java有趣的地方还是非常多的,不要觉得它是一个死板板的编程语言,其实它有自己的生命力,是一个非常好用的工具,能实现我们所想所思的东西,哎,一下话如决堤之水,滔滔不绝,话题止住,进入这次的主题——循环,而这次的循环分为

2021-02-04 23:46:39 4038

原创 重写的介绍/重写与重载的区别

文章目录前言一、在Java中什么是“重写”?二、关于重写的刚性需求三、代码演示重写方法的调用顺序小结四、方法重写和重载的主要区别(重点!!!!!!)总结前言今年是2021年2月4日,是我们的小年,在这里给大家拜个小年,打架小年快乐!!!在这个举国同庆的日子里我想给大家分享一个学Java必须掌握的、重要的东西——重写一、在Java中什么是“重写”?在继承中,子类可以定义和父类相同的名称且参数列表一致(参数列表可以理解成个数相同,类型相同,参数的排列顺序相同)一致的函数,在Java中看是不可思议,但是这

2021-02-04 14:32:30 2759 9

空空如也

空空如也

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

TA关注的人

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