`
jiangzhenghua
  • 浏览: 592247 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
 Javascript如何分层:     我们把javascript分为三层,从下往上依次是base层、common层和page层。每一层所完成的任务如下图: Base层: 浏览器兼容问题: 1.nextSlibing.nodeType的值在火狐和IE下的值是不同的例如: <ul> <li id="item1"></li> <li id="item2"></li> <li id="item3">& ...
     骆驼式命名法(又称驼峰命名法),正如它的名称CamelCase所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。程序员们为了自己的代码能更容易的在同行之间交流,所以多采取统一的可读性比较好的命名方式。例如:有些程序员喜欢全部小写,有些程序员喜欢用下划线,所以如果要写一个my name的变量,他们常用的写法会有myname、my_name、MyName或者myName。这样的命名规则不适合所有程序员阅读,而利用驼峰命名法来表示,可以增加程序可读性。例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数:                printEmployeePaychec ...

什么是线程安全

什么是线程安全?         如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程 ...

java中的hashcode

Java中有两类集合(Collection),一类是List,一类是Set,前者是有序的,元素可以重复,后者是无序的,元素不可以重复 那么在set类型的集合中,如何判断元素是否重复呢,这就需要使用Object.equals方法,但如果元素很多了,添加一个新元素时,比较的次数 就很多,例如已经有100个元素了,添加第101个元素时,就要和前面的元素比较100次,效率很低。 JAVA中采用哈希表的原理,哈希是个人名,它提出了哈希算法的概念,哈希算法也称为散列算法,是将数据依据酸法直接指定到一个地址上, hascode实际上是返回的对象存储的物理地址 当存储一个新元素时,先调用元素的hascode的方 ...
解决思路 : 最明显的区别是:DIV是块元素,SPAN是内嵌元素。块元素相当于内嵌元素在前后各加一个<br>换行。其实,块元素和行内元素也不是一成不变的,只要给块元素定义 display:inline,块元素就成了内嵌元素,同样地,给内嵌元素定义了display:block就成了块元素了。 具体步骤 : 代码示例: <style> div,span{border:1px solid #000;margin:2} </style> <div>div1</div><div>div2</div> <span&g ...
插入排序 Insertion Sort     插入排序的基本思想是,经过i-1遍处理后,L[1..i-1]己排好序。第i遍处理仅将L[i]插入L[1..i-1]的适当位置,使得L[1..i] 又是排好序的序列。要达到这个目的,我们可以用顺序比较的方法。首先比较L[i]和L[i-1] ...
具体做法有两种: 方法一: public class A{ public static void main(String[] args){  print(25);//25是任意给的一个10进制数 } public static void print(int n){  StringBuffer str=new StringBuffer();  int k=0;  while(n>0){   int i=n%2;   str=str.append(i);   if(i==1) k++;   n=n/2;  }  str=str.reverse();  System.out.println( ...
题目很简单:-----------------------------------有两个整型变量:int a=2^31-1;    int b=-2^31;要求不通过第三方变量,交换a,b的值?--------------------------------------------------  思路:不使用第三方变量,肯定在a,b上做文章,可以在一个变量上获取跟a,b有某种关系的值,再通过某种关系   一一分别交换数值!---------------------------------------------   方法:   1.如果是两个较小数值的数可以通过下面的方法解决:    a=a+b ...
冒泡的思想精髓就是数组中相临的两个数依次相比较,如果左边的数小于右边的数,就将两个数的位置交换,然后继续比较,如果不小于,则不做交换,跳出本次循环,继续用下一位置的数与相临的数做比较,依此类推下去。按这种规则找下去,每轮冒泡会将最小的数冒到最后面。如下代码即为降序冒泡法: public class ArraySort1{ public static void main(String[] args){  int [] a = new int[] {9,3,2,8,10,4,22};   for(int i = 0 ; i < a.length-1; i++){   for(int j = ...

Java中的快速排序

快速排序是对冒泡排序的一种改进。它的基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。最坏情况的时间复杂度为O(n2),最好情况时间复杂度为O(nlog2n)。 另外 java没指针概念 可以认为是句柄 假设要排序的数组是A[1]……A[N],首先任意选取一个数据(通常选用第一个数据)作为关键数据,然后将所有比它的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一躺快速排序。一趟快速排序的算法是: 1)、设置两个变量I ...
1、这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。 sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用了b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep。 2、最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。 sleep不出让系统资源;wait是进入线程等待池等待,出让系统资源,其他线程可以占用CPU。一般wait不会加时间限制,因为如果wait线程的运行资源不够,再出来也没用,要等待其他线程调用notify/notifyAll唤醒等待池中 ...
请给出如下两段程序的执行结果: 第一种情况: <script type="text/javascript">  var s = 0;  (function(){  alert(s);  s=1; })();  alert(s); </script> 第二种情况: <script type="text/javascript">  var s = 0;  (function(){  alert("jiang"+s);  var s=1; })();  alert("kkk"+s ...
(一) 问题1:获取一个元素对象的引用,在IE下,可直接使用该元素对象的id名;而在FireFox下,只能使用getElementById(idName)方法。 解决方法:统一用getElementById(idName)。  问题2:获取表单元素的引用,在IE下,可通过form.item('username')这种形式;而在FireFox下,只能通过form.elements['username']。(注:var form = document.getElementById("form");) 解决方法:统一用form.elements['username']这种形式。 问 ...
Throwable是所有Java程序中错误处理的父类,有两种资类:Error和Exception。    Error:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息。 Exception:表示可恢复的例外,这是可捕捉到的。
Servlet生命周期分为三个阶段:   1,初始化阶段  调用init()方法   2,响应客户请求阶段  调用service()方法   3,终止阶段  调用destroy()方法   Servlet初始化阶段:   在下列时刻Servlet容器装载Servlet:     1,Servlet容器启动时自动装载某些Servlet,实现它只需要在web.XML文件中的<Servlet></Servlet>之间添加如下代码: <loadon-startup>1</loadon-startup> ...
Global site tag (gtag.js) - Google Analytics