随笔分类 - JAVA 基础深化和提高
摘要:3 正则表达式 3.1正则表达式介绍 3.1.1 什么是正则表达式 正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为 regex、regexp 或 RE),是计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式并不仅
阅读全文
摘要:Lambda表达式语法 语法结构 (parameters) -> expression 或 (parameters) ->{ statements;} 语法形式为 () -> {} () 用来描述参数列表,如果有多个参数,参数之间用逗号隔开,如果没有参数,留空即可; -> 读作(goes to),为
阅读全文
摘要:Lambda表达式介绍 Lambda简介 Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。 在Java语言中,可以为变量赋予一个值: 能否把一个代码块赋给一变量吗? 在Java 8之前
阅读全文
摘要:反射机制介绍 什么是反射 Java 反射机制是Java语言一个很重要的特性,它使得Java具有了“动态性”。在Java程序运行时,对于任意的一个类,我们能不能知道这个类有哪些属性和方法呢?对于任意的一个对象,我们又能不能调用它任意的方法?答案是肯定的!这种动态获取类的信息以及动态调用对象方法的功能就
阅读全文
摘要:JAVA网络编程总结 端口是虚拟的概念,并不是说在主机上真的有若干个端口。在www上,每一信息资源都有统一且唯一的地址,该地址就叫URL(Uniform Resource Locator),它是www的统一资源定位符。TCP与UDP的区别 TCP是面向连接的,传输数据安全,稳定,效率相对较低。UDP
阅读全文
摘要:UDP通信的实现和项目案例 UDP通信实现原理 UDP协议与之前讲到的TCP协议不同,是面向无连接的,双方不需要建立连接便可通信。UDP通信所发送的数据需要进行封包操作(使用DatagramPacket类),然后才能接收或发送(使用DatagramSocket类)。 DatagramPacket:数
阅读全文
摘要:TCP通信的实现和项目案例 TCP通信实现原理 我们提到TCP协议是面向的连接的,在通信时客户端与服务器端必须建立连接。在网络通讯中,第一次主动发起通讯的程序被称作客户端(Client)程序,简称客户端,而在第一次通讯中等待连接的程序被称作服务器端(Server)程序,简称服务器。一旦通讯建立,则客
阅读全文
摘要:Java网络编程中的常用类 Java为了跨平台,在网络应用通信时是不允许直接调用操作系统接口的,而是由java.net包来提供网络功能。下面我们来介绍几个java.net包中的常用的类。 InetAddress的使用 作用:封装计算机的IP地址和DNS(没有端口信息) 注:DNS是Domain Na
阅读全文
摘要:网络编程基本概念 计算机网络 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 从其中我们可以提取到以下内容: 计算机网络的作用:资源共享和信息传递。计算机网络的组
阅读全文
摘要:全网最全JAVA多线程总结思维导图奉上:(下载后为超高清图) 文章上方提供PDF版本,有需要的小伙伴可以自取呦!感谢小伙伴支持!
阅读全文
摘要:线程并发协作(生产者/消费者模式) 多线程环境下,我们经常需要多个线程的并发和协作。这个时候,就需要了解一个重要的多线程并发协作模型“生产者/消费者模式”。 角色介绍 什么是生产者? 生产者指的是负责生产数据的模块(这里模块可能是:方法、对象、线程、进程)。 什么是消费者? 消费者指的是负责处理数据
阅读全文
摘要:线程同步 什么是线程同步 同步问题的提出 现实生活中,我们会遇到“同一个资源,多个人都想使用”的问题。 比如:教室里,只有一台电脑,多个人都想使用。天然的解决办法就是,在电脑旁边,大家排队。前一人使用完后,后一人再使用。 线程同步的概念 处理多线程问题时,多个线程访问同一个对象,并且某些线程还想修改
阅读全文
摘要:守护线程 什么是守护线程 在Java中有两类线程: User Thread(用户线程):就是应用程序里的自定义线程。Daemon Thread(守护线程):比如垃圾回收线程,就是最典型的守护线程。 守护线程(即Daemon Thread),是一个服务线程,准确地来说就是服务其他的线程,这是它的作用,
阅读全文
摘要:线程的优先级 什么是线程的优先级 每一个线程都是有优先级的,我们可以为每个线程定义线程的优先级,但是这并不能保证高优先级的线程会在低优先级的线程前执行。线程的优先级用数字表示,范围从1到10,一个线程的缺省优先级是5。 Java 的线程优先级调度会委托给操作系统去处理,所以与具体的操作系统优先级有关
阅读全文
摘要:线程联合 当前线程邀请调用方法的线程优先执行,在调用方法的线程执行结束之前,当前线程不能再次执行。线程A在运行期间,可以调用线程B的join()方法,让线程B和线程A联合。这样,线程A就必须等待线程B执行完毕后,才能继续执行。 join方法的使用 join()方法就是指调用该方法的线程在执行完run
阅读全文
摘要:线程的使用 终止线程的典型方式 终止线程我们一般不使用JDK提供的stop()/destroy()方法(它们本身也被JDK废弃了)。通常的做法是提供一个boolean型的终止变量,当这个变量置为false,则终止线程的运行。 终止线程的典型方法 public class StopThread imp
阅读全文
摘要:线程状态和生命周期 一个线程对象在它的生命周期内,需要经历5个状态。 新生状态(New) 用new关键字建立一个线程对象后,该线程对象就处于新生状态。处于新生状态的线程有自己的内存空间,通过调用start方法进入就绪状态。 就绪状态(Runnable) 处于就绪状态的线程已经具备了运行条件,但是还没
阅读全文
摘要:线程的创建 通过继承Thread类实现多线程 继承Thread类实现多线程的步骤: 在Java中负责实现线程功能的类是java.lang.Thread 类。 **此种方式的缺点:**如果我们的类已经继承了一个类(如小程序必须继承自 Applet 类),则无法再继承 Thread 类。 可以通过创建
阅读全文
摘要:多线程介绍 多线程与并发编程 什么是程序? 程序(Program)是一个静态的概念,一般对应于操作系统中的一个可执行文件。 什么是进程? 执行中的程序叫做进程(Process),是一个动态的概念。其实进程就是一个在内存中独立运行的程序空间 。 现代操作系统比如Mac OS X,Linux,Windo
阅读全文
摘要:IO流章节全网最全总结(附详细思维导图) 本篇开始,先奉上思维导图:(下载下来为超高清图,不愁小伙伴看不清!) 按流的方向分类: 输入流:数据源到程序(InputStream、Reader读进来)。输出流:程序到目的地(OutputStream、Writer写出去)。 按流的处理数据单元分类: 字节
阅读全文