- 浏览: 75894 次
- 性别:
- 来自: 杭州
-
文章列表
第1章
死锁条件:1)多个竞争者,2)占有并保持,3)占有顺序不固定
继承异常和可重用性:父类设置了同步,而子类没有。
lock()
.....
throw exception
return
unlock()
在之中如果抛出异常,或返回,那么可能没有释放锁。要用try,finally里面释放。用synchronized的话不会有问题。
Thread proorityes:
highly system dependent
xp 系统有level,linux没有poriority 。 不能依靠priority来完成程序正确性。
如果有好几个高priority的不会blocked的线程,容易出现低poriority线程饥饿现象。
Daemon Thread
如果只剩daemon thread 虚拟机就会推出。(辅助线程,timer)
thread Group
g.activeGroup() , a.interrupt(); (executors 可以不用group关闭一组线 ...
3.1 链接到服务器
Socket s = new socket();
s.getInputStream(); s.getOutputStream();
3.2 实现服务器
ServerSocket s = new ServerSocket(8189);
Socket incoming = s.accept();
多线程服务器
3.3 发送Email (用socket)
3.4 URL链接
URL和URI:
!URL是URI的一个特例。包含定位web资源的足够信息。 mailto:abc@host.com,不是URL,是URI
...
circularArrayQueue (ArrayBlockingQueue) thread
iterator 代替 enumeration
删除两个元素,不能连续remove
linkedlist 是双向链表
listIteratorL 多一个previos()
不能有多个更改list的iterator在操作。(添加删除,set()方法除外)
iterator的add()方法之和位置有关,remove()方法和状态有关(next(),previous())
————————————————————————————————————————————————
...
6、说出Servlet的生命周期,并说出Servlet和CGI的区别。
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的 ...
JAVA代码查错
1.abstract class Name {
private String name;
public abstract boolean isStupidName(String name) {}
}
大侠们,这有何错误?
答案: 错。abstract method必须以分号结尾,且不带花括号。
2.public class Something {
void doSomethin ...
spring2.0 提供三种AOP实现方式:
1. spring1.2前版本, 实现AOP的接口,在xml配置。
2. spring2.0 <aop>标签,不用实现接口
3. @AspectJ的Annotation支持 JDK5.0
advices:
MethodBeforeAdvice (before advice)
AfterReturningAdvice (after advice)
MethodInterceptor (around advice) aopalliance 提供的接口
ThowsAdvice ...
分为两种:传统RTTI和reflection
传统RTTI: 多态时用到。基类引用子类,调用多态方法时进行RTTI。
强制类型转换。 检查是否能转,不能转抛出异常,(运行时)
获取Class对象的方法: Class.forName(); Object.class;
stiatic函数,在类首次载入时运行。(按需运行)
new 一个对象 == c = Class.forName(); c.newInstance(); 后者灵活些。
object instanceof “class name” == Class.isInsta ...
HTML 是 Web 统一语言,这些容纳在尖括号里的简单标签,构成了如今的 Web。1991 年,Tim Berners-Lee 编写了一份叫做 “HTML 标签”的文档,里面包含了大约20个用来标记网页的 HTML 标签。他直接借用 SGML 的标记格式,也就是后来我们看到的 HTML 标记的格式。本文讲述了 HTML 这门 Web 标记语言的发展简史。
从 IETF 到 W3C: HTML 4 之路 HTML 1 并不曾存在,HTML 的第一个官方版本就是由 IETF (互联网工程任务组) 推出的 HTML 2.0。问世之前,这个版本中的很多细则已经被实现,比如,1994年的 Mos ...
(function($) {</p>
<p> // 这里面的 $ 属于 jquery</p>
<p>})(jQuery);
我们的jQuery代码可以这样写:
var jq = jQuery.noConflict(); //把$让给第一个实现它的库,用jq代替
jq(function()
{
//**********************
}
);
我们在实际使用Cookie过程中要注意一些问题:
1. Cookie的兼容性问题
Cookie的格式有2个不同的版本,第一个版本,我们称为Cookie Version
0,是最初由Netscape公司制定的,也被几乎所有的浏览器支持。而较新的版本,Cookie Version 1,则是根据RFC
2109文档制定的。为了确保兼容性,JAVA规定,前面所提到的涉及Cookie的操作都是针对旧版本的Cookie进行的。而新版本的Cookie目
前还不被Javax.servlet.http.Cookie包所支持。
2. Cookie的内容
同样 ...
Ant path 匹配原则
路径匹配原则(Path Matching) Spring MVC中的路径匹配要比标准的web.xml要灵活的多。默认的策略实现了
org.springframework.util.AntPathMatcher,就像名字提示的那样,路径模式是使用了Apache
Ant的样式路径,Apache Ant ...
zz多对多关系中Set的查询
- 博客分类:
- Hibernate
一个老师教多个学生,一个学生有多个老师。
class Teacher {
String id;
String name;
Set students;
}
class Student {
String id;
String name;
Set teachers;
}
现在要查询教某一个学生(name为xxx)的老师。
HSQL方法一:(性能最优)
select elements(s.teachers) from Student s where s.name = 'xxx';
HSQL方法二:(要用到 inner join)
select t from ...
要做一个类似于淘宝的购物车功能。购物车一般会通过类似于cookie的功能实现。淘宝的购物车功能的特点是购物车信息能够跟随登录用户走。也就是已经登录的用户换了电脑,他的购物车信息仍然能够显示。这样的话,自然想到把用户信息和购物车信息存到数据库中。
分析了淘宝的一些cookie值,得出淘宝购物车的cookie名称用的是 t ,值应该是类似于sessionId的32位字符串。建立一张购物车信息表如下图
图1-1
为简化,商品信息由good_id表示,商品数量由number表示,t 表示放到用户浏览器端的cookie值,要求uniq ...