Java进阶(四十三)线程与进程的区别 1.线程的基本概念   概念:线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源.一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行.   好处: (1)易于调度. (2)提高并发性.通过线程可方便有效地实现并发性.进程可创建多个线程来执行同一程序的不同部分. (3)开销少.创建线程比创建进…
进程是操作系统分配资源的最小单元: 线程是操作系统调度的最小单元: 一个程序至少有一个进程:一个进程至少有一个线程 每个进程对应一个JVM实例,多个线程共享JVM里的堆: 线程不能看做独立应用,而进程可以: 进程有独立的地址空间,互不影响,而线程只是进程不同的执行路径: 进程的切换比线程的切换开销大:…
Java进阶(四十七)Socket通信   今天讲解一个 Hello Word 级别的 Java Socket 通信的例子.具体通讯过程如下: 先启动Server端,进入一个死循环以便一直监听某端口是否有连接请求.然后运行Client端,客户端发出连接请求,服务端监听到这次请求后向客户端发回接收消息,连接建立,启动一个线程去处理这次请求,然后继续死循环监听其他请求.客户端输入字符串后按回车键,向服务器发送数据.服务器读取数据后回复客户端数据.此次请求处理完毕后,启动的线程消亡.如果客户端接收到…
Java进阶(四十)Java类.变量.方法修饰符讲解 Java类修饰符 abstract: 将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现. final: 将一个类生命为最终(即非继承类),表示他不能被其他类继承. private: Java语言中对访问权限限制的最窄的修饰符,一般称之为"私有的".被其修饰的类.属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问. Default(friendly): 默认的修饰符即不加任何访问修饰符,通常称为"…
Java中多线程使用匿名内部类的方式进行创建3种方式 package cn.edu.ujn.demo; // 匿名内部类的格式: public class ThreadDemo { public static void main(String[] args) { // 继承thread类实现多线程 new Thread() { public void run() { for (int x = 0; x < 100; x++) { System.out.println(Thread.current…
网站开发进阶(四十三)html中,路径前加"/" 与不加"/"的区别 前言 <script src="js/downloadify.js"></script>表示加载你当前页面目录中名为js的子目录下面名为pic.js的js包. 加"/"是代表绝对路径,不加"/"是代表相对路径. HTML绝对路径(absolute path)在网页制作中指带域名的文件的完整路径. HTML相对路径(…
Java进阶(五十三)屡试不爽之正则表达式 在线测试网址: http://tool.oschina.net/regex/# 上面的在线测试网址,含有正则表达式的生成,非常实用.大家共勉之! 匹配中文:[\u4e00-\u9fa5] 英文字母:[a-zA-Z] 数字:[0-9] 匹配中文,英文字母和数字及_: ^[\u4e00-\u9fa5_a-zA-Z0-9]+$ 同时判断输入长度: [\u4e00-\u9fa5_a-zA-Z0-9_]{4,10} 1.一个正则表达式,只含有汉字.数字.字母.下…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第四十三章:封装 下一章 "全栈2019"Java第四十四章:继承 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学习小组". 全栈工程师学习计划…
线程.进程的区别        进程的定义:进程就是程序在一个数据集合上的一次执行过程.他与程序的区别在于程序是静态的代码,而进程是动态的执行过程. 进程的特性:1.结构性,进程由程序块.数据块.进程控制块(PCB)组成: 2.动态性,进程是一次动态的执行过程,具有生命周期: 3.独立性,进程是系统分配资源和保护的基本单位: 4. 并发性,一组进程在执行时间上可以重叠,在很短的时间内轮流执行,宏观上同时执行.(并行微观上也是同 时执行) 线程则就是进程中能够独立执行的实体,是进程的一条执行路径,…
<<Effective Java>> 第四十三条:返回零长度的数组或者集合,而不是null 如果一个方法的返回值类型是集合或者数组 ,如果在方法内部需要返回的集合或者数组是零长度的,也就是没有实际对象在里面, 我们也应该放回一个零长度的数组或者集合,而不是返回null.如果返回了null,客户端程序员就要检测返回的是不是null,然后才能 进行下一步操作,否则就会引发NullPointException.但是如果是返回的的是空数组或者集合,就不会再后续的使用这个对象上,引发 空指针…