`
文章列表
一、什么是Java虚拟机 Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。 1.为什么要使用Java虚拟机 Java语言的一个非常重 ...
HTML5中的服务器‘推送’技术 -WebSocket 转帖:http://www.developersky.net/thread-81-1-1.html 除了Server-Sent Event之外,即将到来的HTML5标准还包含了WebSockets。WebSocket使得我们可以建立双向的通信通道。和Server-Sent Event相反,WebSocket协议不是建立在HTTP之上的。但是WebSocket协议订立了HTTP握手的行为来将已经存在的HTTP连接转换为WebSocket连接。WebSocket没有试图在HTTP之上模拟server推送的通道,而是直接在TCP之上定义了帧 ...
HTML5中的服务器‘推送’技术 -Server-Sent Events 转帖:http://www.developersky.net/thread-63-1-1.html 一直以来,HTTP协议都是严格遵循Request-Response模型的。客户端发送一个Request到服务器,服务器对Request作出响应并将Response发送回客户端。也就是说,所有的互动都是由客户端发起的,服务器不会发起任何互动。 为了创建互动性更强的web应用程序,AJAX出现了,AJAX实现了一个动态的从Server获取数据的方法。通过使用AJAX,浏览器通过XMLHttpRequest API来发送HTT ...
在MyEclipse中编写Java代码时,用到了BASE64Decoder,import sun.misc.BASE64Decoder;可是Eclipse提示: Access restriction : The type BASE64Decoder is not accessible due to restriction on required library C:\Program files\java\jre6\lib\rt.jar Access restriction : The constructor BASE64Decoder() is not accessible due to ...
1.先用MD5加密(会产生部分乱码),然后用BASE64编码(没有乱码了) B/S系统,将用户的密码用MD5加密为64个字符存在数据库中。 于是我有点不解,密码学才丢掉一年了,我怎么不记得MD5可以编码为64个字符.   不得不翻出已经铺上一层灰的密码学: MD5加密是对任意长的数据使用MD5哈稀算法散列为4个32位组,若格式化为ASCII字符则为16字符,若格式化16进制表示,则为32字符.  (MD5的具体算法请参阅相关书籍和资料) MD5广泛用于数据校验和完整性检验.且不可逆.理论上为抗碰撞的. 在2004年8月17日,MD5遭遇重创,山东大学的王小云做了破译MD5、HAVAL-128 ...
栈与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 Java的堆是一个运行时数据区,类的(对象从中分配空间。这些对象通过new、newarray、anewarray和 multianewarray等指令建立,它 ...
jdk的可变类和不可变类 所谓不可变类,是指当创建了这个类的实例后,就不允许修改它的属性值。在JDK的基本类库中,所有基本类型的包装类,如Integer和Long类,都是不可变类,java.lang.String也是不可变类,虽然他不是基本类型。 基本类型变量: boolean,byte, char, double ,float, integer, long, short jdk的不可变类:jdk的java.lang包中 Boolean, Byte, Character, Double, Float, Integer, Long, Short, String. jdk可变类举例:Str ...
一.触发器概述  触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由个事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整 ...
某系统有n个打印机,有M个进程共享打印机资源,每个进程要求X台,当M的取值不超过_____时,系统不发生死锁~~        最佳答案 当每个进程在最坏的情况下: 就是每个进程占据(X-1)台打印机的时候,就会出现死锁 即不出现死锁的资源最小情况为:(X-1)*M+1个 那么(X-1)*M+1=n M=(n-1)/(X-1) 所以有M的取值不应该超过(n-1)/(X-1) 如果超过,那么n个打印机的资源就有可能出现死锁
HashSet的contains方法 关于HashSet的发现: 1:HashSet是一个Set,也就是所谓的集合。集合的概念是元素在集合中无序、唯一。无序对于计算机来说没有什么意义,因为计算机总要按照一定的顺序存储对象。唯一是怎么实现的呢?名 ...
经常看到很多人讨论java中关于String的问题,我也就有点兴趣了,鉴于网上很多人写的都差别很大, 同样的问题都是不同的说法,我很迷糊,花了一晚上读了Java Virtual Machine Specification和 The Java Language Specification的一些章节,做了很多试验,总结了一下关于String的内容,还 有很多内容我也不确定,在下面也都提出来了,希望高手能指正. Constant Pool常量池的概念: 在讲到String的一些特殊情况时,总会提到String Pool或者Constant Pool,但是我想很多人都不太 明白Constant P ...
守护线程(Daemon) Java有两种Thread:“守护线程Daemon”与“用户线程User”。 我们之前看到的例子都是用户,守护线程是一种“在后台提供通用性支持”的线程,它并不属于程序本体。 从字面上我们很容易将守护线程理解成是由虚拟机(virtual machine)在内部创建的,而用户线程则是自己所创建的。事实并不是这样,任何线程都可以是“守护线程Daemon”或“用户线程User”。他们在几乎每个方面都是相同的,唯一的区别是判断虚拟机何时离开: 用户线程:Java虚拟机在它所有非守护线程已经离开后自动离开。 守护线程:守护线程则是用来服务用户线程的,如果没有其他用户线程在运行,那 ...
再看下下面的例子 public class TestChar1 { public static void main(String[] args) { // int类型的常量可以赋值给任意类型的变量 byte b = (int) 1; //OK short s = (int) 1; //OK int i = (int) 1; //OK long l = (int) 1; //OK float f = (int) 1; //OK double d ...
再举个例子加深理解,哈哈 public class PrintCharCode { public static void main(String[] args) {   char c1 = 74;   char c2 = 'a';   char c3 = 118;   char c4 = 97;   char c5 = 32534;   char c6 = 31243;   char c7 = 35789;   char c8 = 20856;   System.out.println(c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8);   ...
public class LastLaugh { public static void main(String args[]) { System.out.print("H"+"a"); System.out.print('H'+'a'); } } 结果输出的不是“HaHa”,而是Ha169。 究其原因,编译器在计算常量表达式'H'+'a'时,是通过拓宽原生类型转换将两个具有字符型数值的操作数提升为int数值而实现的。 从char到Int的拓宽原生类型转换是将16位的char数值零扩展到32位的int。 'H'=72,'a'=97,'H'+‘a'=169. ...
Global site tag (gtag.js) - Google Analytics