`
uule
  • 浏览: 6370131 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论
文章列表
    Servlet/JSP技术和ASP、PHP等相比,由于其多线程运行而具有很高的执行效率。由于Servlet/JSP默认是以多线程模式执行的,所以,在编写代码时需要非常细致地考虑多线程的安全性问题。然而,很多人编写Servlet/JSP程序时并没 ...
100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新)  101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新)  200 OK 一切正常,对GET和POST请求的应答文档跟在后面。        ...

C 标签使用

<title>虚拟机管控</title> <% String hostId = (String)request.getAttribute("hostId"); System.out.println("================================"+hostId); %> <script> var _a='<%=hostId%>'; alert(_a); </script>     关于JSTL标签 ...
定义: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象.    Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建   浅复制    被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其对象的引用都仍然指向原来的对象。   Java的java.lang.Object方法里就提供了克隆方法clone(),原则上似乎所有类都拥有此功能,但其实不然,关于它的使用有如下限制: 1、要实现克隆,必须实现 ...
首先group by 的简单说明:    group by 一般和聚合函数一起使用才有意义,比如 count sum avg等,使用group by的两个要素:   (1) 出现在select后面的字段 要么是是聚合函数中的,要么就是group by 中的.   (2) 要筛选结果 可以先使用where 再用group by 或者先用group by 再用having 下面看下 group by多个条件的分析: 在SQL查询器输入以下语句create table test(a varchar(20),b varchar(20),c varchar(20)) insert into tes ...
childNodes 属性,标准的,它返回指定元素的子元素集合,包括HTML节点,所有属性,文本。可以通过nodeType来判断是哪种类型的节点,只有当nodeType==1时才是元素节点,2是属性节点,3是文本节点。   Dom元素基本操作方法API,先记录下,方便以后使用。  W3C DOM和JavaScript很容易混淆不清。DOM是面向HTML和XML文档的API,为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构。JavaScript则是用于访问和处理DOM的语言。如果没有DOM,JavaScript根本没有Web页面和构成页面元素的概念。文档中的每个元素都是DOM的一部 ...
LinkedBlockingQueue是一个单向链表结构的队列,也就是只有next,没有prev。如果不指定容量默认为Integer.MAX_VALUE。通过putLock和takeLock两个锁进行同步,两个锁分别实例化notFull和notEmpty两个Condtion,用来协调多线程的存取动作。其中某些方法(如remove,toArray,toString,clear等)的同步需要同时获得这两个锁,此时存或者取操作都会不可进行,需要注意的是所有需要同时lock的地方顺序都是先putLock.lock再takeLock.lock,这样就避免了可能出现的死锁问题。 takeLock实例化出一 ...
先执行块,后执行构造函数 块和声明变量的时候赋值,执行顺序是根据代码的顺序决定的   参考:Java中程序执行顺序(注意评论)   总结:静态代码块总是最先执行。           非静态代码块跟非静态方法一样,跟对象有关。只不过非静态代码块在构造函数之前执行。           父类非静态代码块、构造函数执行完毕后(相当于父类对象初始化完成), 才开始执行子类的非静态代码块和构造函数。   ================================================================================ 相同点:都是在J ...

领袖性格

沉稳,细心,胆识,积极,大度,诚信,担当 1、  遇事不慌,说话走路不慌不忙。问题决策,冲动时能够冷静下来。隔天再说。自己不沉稳,难以散发出让人信服的力量。说话办事不可毛躁,问清,弄懂,三思再下决定。以柔克刚,兵来将挡,水来土掩。 2、  说话办事有条不紊,学会摸着石头过河。步步为营。能够发现生活中的习惯,发现别人的习惯。对于事情的结果,要分析出因果关系。所有的结果都是有原因的。细心的总结和体会。领悟事情的发展摸索出一条道路来。要为自己的目标寻找思路和手段,而不是不耐烦,得过且过。将自己的才能和智慧共享出来,善于表现。 3、  主动面对问题,不要逃避。从小的方面来说,能够剖析自己的不 ...
  首先解释下缓存系统:            在程序运行过程中,有些数据我们不会经常修改,例如数据库中性别字段,但是我们却经常使用,如果每次都从数据库中获取,那么将会降低程序性能。那么我们可以在内存中分配一个区域专门存放我们第一次从数据库中拿出的数据。思路如下:我们使用Map来充当我们的缓存区域,当使用性别值时,可以先看看map中是否有值,如果有那么拿出来,如果没有那么查询数据库,并为map赋值。              思路如上,但是我们要考虑多线程的问题,如果多个程序同时使用该缓存系统,有的读,有的写,那么很有可能在某一时刻,一个线程为map赋值了,但是另一个线程或多个线程会重复 ...
  /*public class ReentrantReadWriteLock extends Object implements ReadWriteLock, Serializable */   /*嵌套类摘要 static class ReentrantReadWriteLock.ReadLock readLock() 方法返回的锁。 static class ReentrantReadWriteLock.WriteLock writeLock() 方法返回的锁。 */  API的两个例子:   class Ca ...
1、买个闹钟,以便按时叫醒你。 贪睡和不守时,都将成为你工作和事业上的绊脚石,任何时候都一样。 不仅要学会准时,更要学会提前。 就如你坐车去某地,沿途的风景很美,你忍不住下车看一看,后来虽然你还是赶到了某地,却不是准时到达。 闹钟只是一种简单的标志和提示,真正灵活、实用的时间,掌握在每个人的心中。 2、如果你不喜欢现在的工作,要么辞职不干,要么就闭嘴不言。 初出茅庐,往往眼高手低,心高气傲,大事做不了,小事不愿做。 不要养成挑三拣四的习惯。 不要雨天烦打伞,不带伞又怕淋雨,处处表现出不满的情绪。 记住,不做则已,要做就要做好。 3、每个人都有孤独的时候。 要学会忍受孤独,这样才会 ...

CountDownLatch

CountDownLatch           可以用来在一个线程中等待多个线程完成任务的类;   通常的使用场景是,某个主线程接到一个任务,起了n个子线程去完成,但是主线程需要等待这n个子线程都完成任务了以后才开始执行某个操作   ...
  Semaphore可以控制某个资源可被同时访问的个数,acquire()获取一个许可,如果没有就等待,而release()释放一个许可。比如在Windows下可以设置共享文件的最大客户端访问个数。 另外重入锁ReentrantLock也可以实现该功能,但实现上代码也要复杂些。   SemaPhore,一个信号量对象,可以定义信号量的个数,通过该信号量控制线程同步的数量。例如我们只允许同步三个线程进入共享资源,其它线程都阻塞。 好比,厕所有三个坑,十个人进去,每次只能进去三个。采用信号灯来实现。 其优势为可以被其它线程唤醒,如果使用互斥锁,那么一旦出现异常,该锁将不会释放,该锁 ...
在实际应用中,有时候需要多个线程同时工作以完成同一件事情,而且在完成过程中,往往会等待其他线程都完成某一阶段后再执行,等所有线程都到达某一个阶段后再统一执行。 JDK: 一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。   CyclicBarrier 支持一个可选的 Runnable 命令,在一组线程中的最后一个线程到达之后(但在释放所 ...
Global site tag (gtag.js) - Google Analytics