<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">//测试removeChild()方法 删除节点window.onload = function() {//alert(1);var bjNode = document.getElementById("bj");//var c = bjNode.parentNode.removeChild(bjNode);//指向已经删除的节点//alert(c.firstChild.nodeValue);//为li节点添加一个confirmvar liNodes = document.getElementsByTagNam...
遍历“DOM2级遍历和范围” 定义了两个用于辅助完成顺序遍历的DOM结构类型NodeIterator 和 TreeWalk上述两种类型可以基于给定起点的DOM结构执行深度优先的遍历操作对于检测浏览器对于该功能的实现可以使用以下代码var supportTraversals = document.implementation.hasFeature("Traversal","2.0");var supportsNodeIterator = (typeof document.createNodeIterator === "function");var supportsTreeWalker = (typeof document.crea...
事件类型Web浏览器中可能发生的事件有许多种类型不同类型的事件都有着自己独特的信息在“DOM3级事件”规范中,规定了以下几类事件:UI事件 当用户与页面元素交互时触发焦点事件 当元素失去或获得焦点时触发鼠标事件 当用户通过鼠标在页面上执行操作时触发滚轮事件 当使用鼠标滚轮或类似设备时触发文本事件 当在文档中输入文本时触发键盘事件 当用户通过键盘在页面执行操作时触发合成事件 当为IME(输入法编辑...
线程池基本机制线程池是一种池化资源,其主要解决重复创建线程带来的额外开销。线程池的设计使用了生产者-消费者模型。向线程池中提交一个计算任务,执行提交动作的线程是生产者,线程池中的线程作为消费者来执行具体的计算。Executor和ExecutorServiceJava中Executor是线程池的顶层抽象接口,其提供了一个最基本的方法定义:执行任务。ExecutorService拓展了Executor接口,提供了管理线程池、批量执行任务的接口。使用线程池impor...
JAVA入门第二季http://www.imooc.com/learn/124 1-1什么是类和对象类是模子,确定对象将会拥有的特征(属性)和行为(方法)类的特点类是对象的类型具有相同属性和方法的一组对象的集合 类和对象的关系类是抽象的概念,仅仅是模板,比如说:“手机”对象是一个你能看得到,摸得着的具体实体对象-->三星note ,iPhone4s 7-9编程练习一、 定义一个带参带返回值的方法,实现输出随机数数组 1//导入java.util.Arrays; 2import java.ut...
对象的共享
3. 线程封闭
线程封闭(Thread Confinement)是实现线程安全性的最简单方式之一。当某个对象封闭在一个线程中时,这种用法将自动实现线程安全性,即使被封闭的对象本身不是线程安全的。
在Java中使用线程封闭技术有:Swing 和 JDBC 的 Connection 对象。Swing 的可视化组件和数据模型对象都不是线程安全的,Swing 通过将它们封闭到 Swing 的事件分发线程中来实现线程安全性;为了进一步简化对 Swing 的使用,Swing 还提...
1.常用的方法:1)IP:InetAddress类,该类无构造器,直接调用静态方法。结果:2)端口:InetSocketAddress类主要用于封装端口,有对应的构造器,需要声明实例化后才可调用。结果:
2.TCP通信TCP分为两部分,一部分为Client端,负责发送消息;另一部分为Server端,负责接收消息,二者主要通过socket套接字编程实现。Client端:1)首先实例化inetAddress对象,通过域名获取对应服务器的IP,同时用户需要了解该服务器的通信端口;2)...
前言
一直以来,硬件的发展极其迅速,在多核的CPU的背景下,催生了并发编程的趋势,通过并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升。面对复杂业务模型,并行程序会比串行程序更适应业务需求,而并发编程更能吻合这种业务拆分。正是因为这些优点,使得多线程技术能够得到重视,这个技术也是一名CS学习者应该掌握的。但这个技术对于刚入行的小白来说总是觉得高深莫测,不明所以,也找不到好的学习资料。本着好东...
对象的共享
书接上篇,我们了解了如何通过同步来避免多个线程在同一时刻访问相同的数据,而本篇将介绍如何共享和发布对象,从而使它们能够安全地由多个线程同时访问。
1. 可见性
线程安全性的内容,让我们知道了同步代码块和同步方法可以确保以原子的方式执行操作。但如果你认为关键字 synchronized 只能用于实现原子性或者确定“临界区(Critical Section)”,那就大错特错了。同步还有一个重要的方面:内存可见性(Memory Visib...
线程安全性
上篇我们初步了解了线程相关的知识,这篇我们深入了解下线程安全性的相关问题。
1. 什么是线程安全性?
线程安全性是一个在代码上使用的术语,它与对象或整个程序的状态相关的,只能应用于封装其状态的整个代码之中。在线程安全性的定义中,最核心的概念就是正确性。正确性的含义是,某个类的行为与其规范完全一致。当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码...
Java数组
数组概述数组是相同类型数据的有序集合
数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成
其中,每一个数据乘坐一个数组元素,每个数组元素可以通过一个下标来访问它们数组的定义与创建首先必须先声明数组变量,才能在程序中使用数组dataType[] arrayRefVar;//首选的方法
或
dataType arrayRefVar[];//效果相同,但不是首选方法Java语言使用new操作符来创建数组,语法如下dataType[] arrayRefVar = new...
背景介绍
有时候我们需要执行一批相似的任务,并且要求这些任务能够并行执行。通常,我们的需求会分为两种情况:并行执行一批任务,等待耗时最长的任务完成之后,再处理所有任务的结果。
并行执行一批任务,依次处理完成的任务结果(哪个任务先执行完就先处理哪个)。这篇文章要介绍的两种批量执行任务的方式,正好对应了上述两种情况,下面分别介绍在Java中,如何使用并发包里面的API完成我们的需求。
使用ExecutorSevice#invokeA...
InetAddress
知道有这么一个类InetAddress 此类表示Internet协议(IP)地址。 IP地址是由IP使用的32位或128位无符号数字,构建UDP和TCP协议的低级协议
UDP 发送
UDP 发送
package blog.fundmental.javaNet.demo;import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;/*** @author *cruder* @version 1.0* @since 2020/12/1 20:47*/
public class UdpSend {public static void main(Strin...
Java并发编程学习前期知识下篇通过上一篇《Java并发编程学习前期知识上篇》我们知道了在Java并发中的可见性是什么?volatile的定义以及JMM的定义。我们先来看看几个大厂真实的面试题:编辑编辑编辑从上面几个真实的面试问题来看,我们可以看到大厂的面试都会问到并发相关的问题。所以Java并发,这个无论是面试还是在工作中,并发都是会遇到的。Java并发包JUC(java.util.concurrent)有了解过哪些?并发包实现最重要的是什么?其原理...
Java并发编程学习前期知识上篇我们先来看看几个大厂真实的面试题:从上面几个真实的面试问题来看,我们可以看到大厂的面试都会问到并发相关的问题。所以Java并发,这个无论是面试还是在工作中,并发都是会遇到的。Java并发包JUC(java.util.concurrent)有了解过哪些?并发包实现最重要的是什么?其原理是什么知道吗?何为JMM的可见性?volatiile关键字是怎么实现变量可见性的?如果想要学好并发,弄懂理解透彻的话,凯哥觉得以下计算...