多线程同步是什么?如何实现多线程同步?
同步多线程(SMT)是一种在一个CPU 的时钟周期内能够执行来自多个线程的指令的硬件多线程技术。
多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 同步的实现方面有两种,分别是synchronized,wait与notify、线程的基本概念、线程的基本状态以及状态之间的关系答:线程指在程序执行过程中,能够执行程序代码的一个执行单位,每个程序至少都有一个线程,也就是程序本身。Java中的线程有四种状态分别是:运行、就绪、挂起、结束
编写一个二分查找算法代码.
二分查找代码
public class HalfSearch {
public static int halfSearch(int a[], int x) {
int mid, left, right;
left = 0;
right = a.length - 1;
mid = (left + right) / 2;
while (a[mid] != x) {
if (x > a[mid]) {
left = mid + 1;
}
else if (x < a[mid]) {
right = mid - 1;
}
mid=(left+right)/2;
}
return mid;
}
public static void main(String[] args) {
int a[] = { 1, 2, 3, 4, 5, 6,7,8,9,10 };
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
System.out.println();
int s = 10;
int index = halfSearch(a, s);
System.out.println(s + "在数组中的下标是 " + index);
}
}
用java代码实现一个栈数据结构的代码。
<pre name="code" class="java">public class Stack<E> {
// Java 不支持泛型数组,如需使用,请使用Java提供的容器
private Object[] stack;
// 栈的默认初始大小
private static final int INIT_SIZE = 2;
// 栈顶索引
private int index;
public Stack() {
stack = new Object[INIT_SIZE];
index = -1;
}
/**
* 构造方法
*
* @param initSize
* 栈的初始大小
*/
public Stack(int initSize) {
if (initSize < 0) {
throw new IllegalArgumentException();
}
stack = new Object[initSize];
index = -1;
}
/**
* 出栈操作
*
* @return 栈顶对象
*/
public synchronized E pop() {
if (!isEmpty()) {
E temp = peek();
stack[index--] = null;
return temp;
}
return null;
}
/**
* 入栈操作
*
* @param obj
* 等待入栈的对象
*/
public synchronized void push(E obj) {
if (isFull()) {
Object[] temp = stack;
// 如果栈满,则创建空间为当前栈空间两倍的栈
stack = new Object[2 * stack.length];
System.arraycopy(temp, 0, stack, 0, temp.length);
}
stack[++index] = obj;
}
/**
* 查看栈顶对象
*
* @return 栈顶对象
*/
public E peek() {
if (!isEmpty()) {
return (E) stack[index];
}
return null;
}
/**
* 查看栈是否为空
*
* @return 如果栈为空返回true,否则返回false
*/
public boolean isEmpty() {
return index == -1;
}
/**
* 查看栈是否满
*
* @return 如果栈满返回true,否则返回false
*/
public boolean isFull() {
return index >= stack.length - 1;
}
}
javascript和jQuery的区别?
JavaScript 是一种脚本语言,主要用在浏览器中,实现对网页的文档对象的操作和一些用户交互动作的处理。
jQuery 则是 JavaScript 的一个代码库(或习惯性叫类库),它将一些在 JavaScript 开发中经常用到的功能集合起来,以方便开发者直接使用,而不需要再用原生 JavaScript 语句写大量代码,同时可在不同浏览器间实现一致的效果
请写出用于校验HTML文本框中输入的内容全部为数字的javascript代码。
<input type="text" id="d1" onblur=" chkNumber(this)"/>
<script type=”text/javascript” />
function chkNumber(eleText)
{
var value =eleText.value;
var len =value.length;
for(vari=0;i<len;i++)
{
if(value.charAt(i)>"9"|| value.charAt(i)<"0")
{
alert("含有非数字字符");
eleText.focus();
break;
}
}
}
</script>
xhtml和html有什么区别?
HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言
最主要的不同:
XHTML 元素必须被正确地嵌套。
XHTML 元素必须被关闭。
XHTML标签名必须用小写字母。
XHTML 文档必须拥有根元素。