java 部分复习题

多线程同步是什么?如何实现多线程同步?

同步多线程(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 文档必须拥有根元素。

时间: 2024-10-01 04:38:40

java 部分复习题的相关文章

Java程序设计总复习题

 Java程序设计总复习题 1.编写一个Java程序在屏幕上输出"你好!".(p13,例1-1) //programme name Helloworld.java public class Helloworld { public static void main(String args[]) { System.out.print ("你好!" ); } } 2. 编写一个Java程序,用if-else语句判断某年份是否为闰年. // Programme Name L

java复习题

练习题: 20个评委给一个选手打分.去掉1个最高分.去掉1个最低分,求平均分 思路: 1.html 2.加事件:点击下一位时 评委++  文本框清空 将文本框的值传给js var btn = document.getelementbyid("btn"); btn.setattribute("oncilk',"next()");        //定义一个数组 var arr = [ ], n=0; function next(){            

Java线程及多线程技术及应用

第6 章 Java线程及多线程技术及应用 6.1线程基本概念 1.进程和线程的基础知识 l 进程:运行中的应用程序称为进程,拥有系统资源(cpu.内存) l 线程:进程中的一段代码,一个进程中可以哦有多段代码.本身不拥有资源(共享所在进程的资源) 在java中,程序入口被自动创建为主线程,在主线程中可以创建多个子线程. 区别: 1.是否占有资源问题 2.创建或撤销一个进程所需要的开销比创建或撤销一个线程所需要的开销大. 3.进程为重量级组件,线程为轻量级组件 l 多进程: 在操作系统中能同时运行

Java多线程学习(吐血超详细总结)

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 目录(?)[-] 一扩展javalangThread类 二实现javalangRunnable接口 三Thread和Runnable的区别 四线程状态转换 五线程调度 六常用函数说明 使用方式 为什么要用join方法 七常见线程名词解释 八线程同步 九线程数据传递 本文主要讲了java中多线程的使用方法.线程同步.线程数据传递.线程状态及相应的一些线程函数用法.概述等. 首先讲一下进程和线程

Java TM 已被阻止,因为它已过时需要更新的解决方法

公司的堡垒机需要通过浏览器登陆,且该堡垒机的网站需要Java的支持,最近通过浏览器登陆之后总是提示"java TM 已被阻止,因为它已过时需要更新的解决方法"导致登陆之后不能操作, 但是操作系统中确实已经安装了比较新的JDK,安装的JDK版本是jdk-7u67-windows-i586,因为太烦人,所以决定搞清楚报错的原因,一劳永逸,彻底解决这个问题 准备工作:安装JDK,安装版本jdk-7u67-windows-i586.exe,因为机器的Eclipse还依赖64位的JDK,所以另安

Java四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor

介绍new Thread的弊端及Java四种线程池的使用,对Android同样适用.本文是基础篇,后面会分享下线程池一些高级功能. 1.new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? Java new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub } }).start(); 1 2 3 4 5 6 7 new Thread(new

由@NotNull 注解引出的关于Java空指针的控制(转)

Java 小技巧和在java应用避免NullPonintException的最佳方法 在java应用程序中,一个NullPonintException(空指针异常)是最好解决(问题)的方法.同时,空指针也是写健壮的顺畅运行的代码的关键.“预防好过治疗”这句话也同样适用于令人不爽的NullPonintException.通过应用防御性的编码技术和在遵守多个部分之间的约定,你可以再很大程度上避免NullPointException.下面的这些java小技巧可以最小化像!=null这种检查的代码.作为

Java注解(2)-注解处理器(运行时|RetentionPolicy.RUNTIME)

如果没有用来读取注解的工具,那注解将基本没有任何作用,它也不会比注释更有用.读取注解的工具叫作注解处理器.Java提供了两种方式来处理注解:第一种是利用运行时反射机制:另一种是使用Java提供的API来处理编译期的注解. 反射机制方式的注解处理器 仅当定义的注解的@Retention为RUNTIME时,才能够通过运行时的反射机制来处理注解.下面结合例子来说明这种方式的处理方法. Java中的反射API(如java.lang.Class.java.lang.reflect.Field等)都实现了接

jvm系列(一):java类的加载机制

java类的加载机制 原文:http://www.cnblogs.com/ityouknow/p/5603287.html 1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构.类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口. 类加载器并不需要等到某个