(笔记 - 纯手敲)java线程基础

本文介绍了线程的基本概念,包括进程与线程的区别、线程的创建方式及并发原理。此外,还详细讲解了XML的基础知识,如XML的用途、元素属性及解析方式等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


process: 进程
thread: 线程

线程:  通常使用内部类来创建线程
  1.  extends Thread 中重写run()方法,实例化thread并调用start();
  2.  implements Runnable 重写run()方法,用thread 实例化线程并传入runnable,然后start();

并发原理:
  * 多个线程同时运行只是我们感官上的一种表现。事实上,线程是并发运行的。
    OS将时间划分为很多时间片段,尽可能均匀的分配给每一个线程,获取时间片段的线程被CPU运行,
    而其他线程全部等待。所以微观上走走停停,宏观上都在运行。这种现象叫并发,但不是绝对意义上的“同时发生”。

使用ExecutorService实现线程池
  * 线程池两个主要作用:
    - 控制线程数量
    - 重用线程

BlockingQueue:双缓冲队列
  * 多线程并发时,若需要使用队列,我们可以使用Queue,但是要解决一个问题就是同步,
    但同步操作会降低并发对Queue操作的效率。
  * BlockingQueue内部使用两条队列,可允许两个线程同时向队列一个做存储,一个做取出操作。
    在保证并发安全的同时提高了队列的存取效率。

Socket:通常称作“套接字”
  * 用于描述IP地址和端口,是一个通信链的句柄。
    在Internet上的主机一般运行了多个服务软件,同时提供几种服务。
    每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。
  * 应用程序通常通过Socket向网络发出请求或者应答网络请求。
    Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,
    操作这个实例,完成所需的会话。
  * 通过Socket获取输入流和输出流,这两个方法是使用Socket通讯的关键方法。
  * 使用完毕后,要关闭Socket以释放系统资源。 void close();

XML用途:
  * XML 可扩展标记语言(EXtensible Markup Language) 
    - 是独立于软件和硬件的信息传输工具
  * XML应用与web开发的许多方面,常用于简化数据的存储和共享。
  * XML简化数据共享/简化数据传输/简化平台的变更。

XML元素和属性
  * XML文档包含XML元素
  * XML元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。
    元素可包含其他元素/文本或者两者的混合物。元素也可以拥有属性。
  * XML对大小写敏感,这一点不像HTML。
    - 在XML中<Letter>标记和<letter>标记是不一样的。
  * CDATA段:<![CDATA[文本内容]]>  特殊标签中的实体引用都被忽略,所有内容被当成一整块文本数据对待。

XML解析方式 :Dom4J
  * SAX(simple API for XML)是一种XML解析的替代方法。
    相比于DOM,SAX是一种速度更快更有效的方法。
  * DOM(Document Object Model 即文档对象模型) 常用。

XPath
  * XPath是一门在XML文档中查找信息的语言。
    XPath可用来在XML文档中对元素和属性进行遍历。
  * XPath使用路径表达式在XML文档中进行导航
  * XPath包含一个标准函数库
  * XPath是XSLT中的主要元素?
  * XPath是一个W3C标准

路径表达式:
  * 相对路径和绝对路径。
    - "." 表示当前节点
    - ".."表示当前节点的父节点
  * 举例
    - /bookstore :选取根节点bookstore,绝对路径写法。
    - bookstore/book :选取所有书店下面的书元素,相对路径
    - //book :选择所有book子元素,不管在文档的哪个位置
    - bookstore//book :bookstore后代中的book元素
    - //@lang :选取所有名为lang的属性
  * 谓语条件:[] 对节点进行进一步筛选
  * 通配符:
    - //*  :选择文档中的所有元素节点
    - /*/* :表示选择所有第二层的元素节点
    - /bookstore/* :表示选择bookstore的所有元素子节点
    - //title[@*]  :表示选择所有带有属性的title元素

转载于:https://my.oschina.net/u/3572551/blog/1486584

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值