- 浏览: 17469 次
- 性别:
- 来自: 北京
最新评论
-
runningship:
我个人表示支持楼主,楼主多多交流啊
论Hibernate,狭隘化了的ORM模型 -
theoffspring:
第一种就行了,比双重锁check要简单。
非线程同步机制下线程安全的单例模式——最优的单例模式 -
david3083:
画蛇添足
非线程同步机制下线程安全的单例模式——最优的单例模式 -
lishaorui:
单例模式,楼主提到的第一种是比较好的。这些内容在研磨设计模式和 ...
非线程同步机制下线程安全的单例模式——最优的单例模式 -
rentianchou:
我现在也有这打算 可是项目忙 么有时间
成功破解Myeclipse9之后,开始转向IntelliJ idea 10
文章列表
开发Android或者jee或者其他java应用时,如果eclipse中的项目前有个红叉叉,但是src下有没有任何提示错误但是又不能通过编译的时候如何找到项目工程的错误根源呢?方法如下:
打开eclipse的problem视图(如果关闭了可以在window-> ...
运行环境:Win7,Java SDK6,默认配置
测试数据:
初始数据:20W
搜索数据:2W
从20W初始数据中查找2w待搜索数据,运行结果:
map used :19 ms, find: 19474
list used: 24303 ms, find: 19474
trie tree used: 163 ms, find: 19474
optimized tree used: 95 ms, find: 19474
optimized again used: 33 ms, find: 19474
理论上map是0(1)的时间复杂度,就以它为参 ...
Hibernate典型的映射关系
1. Class <-> Table
一个Class一般可以映射为一个Table,一个Class的实例对应Table的一行数据。但是,一个Table中的每行数据,一般都需要有一个主键来唯一标识这行数据,而一个Class的每个实例,则不一定 ...
个人认为下面是Java实现的最优的单例模式
这种实现方法采用内部静态类,
只在第一次调用getInstance方法的时候才实例化单例对象
如果不调用,就不会进行单例对象的实例化,
因此,既实现了延迟实例化,又不需要线程同步
引用
public class SingleTon {
private SingleTon(){}
public static SingleTon getInstance() {
return SingleTonHolder.instance;
}
private static class SingleTonHolder{
private static ...
关于ORM
构造一个表挺麻烦,构造一个类也很麻烦,更麻烦的是构造一个表
或类时,必须同时配置一个类或表,其中一个改动,必须注意另一
个是否需要修改,表和类紧紧的耦合在一起,这就Hibernate的目
的,省略掉了Sql
然后Sql是关系数据库的精华,Sql取出来的数据不需要对应任何
特性的数据类型,
类是面向对象编程语言最最重要的实体,关系数据库和类之间连
接的纽带就是Sql,JDBC的思想无疑是伟大的
然而Hibernate却要处理替代JDBC,简直就是舍本求末,
表的变化没有必要引起类的变化,同时类的变化也没必要引起表
的化,我们完全可以通过修改Sql语句使两者保持相对的稳定 ...
虽然IDE不过是开发工具,但是要的就是生产效率,Myeclipse确定用得比较习惯了,偶尔换换口味也不错~
只是目前公司的项目开发,还是不太敢用,等熟练以后再说吧~
框架没有优劣,只有适合不适合.
作为我这样的背景:
1对Servlet规范比较了解
2对于Java语言比较熟悉
3对于标签库可以自定义
4对于JSTL也能熟练应用
5对于请求到POJO对象的自动封装能够代码实现
到底需要什么样的一个框架呢?
我觉得越简单越好,简单到JavaBean+Servlet+Jsp
上述模式的问题在于什么呢?
配置太多,几乎一个逻辑对应一个Servlet
于是可以创建一个DispatcherServlet,
里面可以有多个方法,对于不同的请求URL自动调用不同的方法
类似于Struts的DispatcherAction
但是即使这样,由于不同的逻辑通常是按照业务分组的, ...
先简单介绍一下什么是DWR
DWR - Direct Web Remoting
ajax是一种提高web站点吸引力和实用性的书写web页面的方法。它从服务器端更新web页面的特殊区域,从而增强用户的交互性。它允许信息在短时间的延迟或不用刷新页面的情况下更新。
DWR减少了开发时间,也减少了一些可能的错误,这些错误是在提供常用的方法函数并消除一些与高交互性 web站点有关的重复性代码的时候产生的。
DWR是作为开源软件(ASL verssion 2.0)而可以免费得到的。它凭借它的广阔的库、例子和指南非常易于实现。把它结合到一个现有的站点是非常简单的,同样它也可以简单地与大多数java框架 ...
在《关于Java开发不明白的一些问题》中提及Struts1和Struts2,
只不过是用来作为讨论解耦的一个例子而已,我没有从整体上评价孰优孰劣
事实上,我也是先接触了Struts2后来才看的Struts1,
看到一些把Struts2拿来膜拜,我觉得自己是 ...
1.关于解耦 这个词自从接触设计模式以来,便整天萦绕耳边,以前觉得不错,但是最近越来越觉得像苍蝇了,能多恶心你就多恶心你. 本来解耦无可厚非,高内聚,低耦合谁都懂的道理,但是现在,这个词真的被滥用了. 解耦不过是一个用来迷糊人的手段,是追求过度设计的人显摆的工具 只有真正的内聚,没有绝对解耦,但凡你在某个地方切断联系,那么你必然会在另一个地方重新产生联系 通常来说,切断联系的地方就在于方法的调用(或者对象的实例化),而重新产生联系的地方就在于框架 物体被打碎以后,需要重新黏合在一起才能使用 代码被解耦以后,同样需要再次耦合起来完成功能 物体的黏合除了人还需要粘合剂 而对于代码来说,同样需要粘合剂 ...
在java中有两类代理模式,动态代理模式和静态代理模式,关于动态代理的实现,涉及到字节码的重新编写,无法单纯的通过java代码实现,不过jdk内置实现了动态代理模式,基于接口的,其它的有cglib,aspectJ等,这里不献丑了.之所以有动态代理的出现,主要是因为静态代理不够灵活,这里相对传统的静态代理模式进行一下改进,使我们能方便快捷的使用代理的设计思想,同时有不需要大量冗余的代码.话不多说,先看一个传统的代理模式的实现://接口public interface HelloService { void sayHello(String name);
}//接口实现public class H ...
一个接口通常用来定义实例方法的声明,而方法的实现则有继承类来完成.
如果继承类在实例化时需要外界传递参数,这时候对于匿名类来说,简直是梦魇.
因为匿名类的构造方式只能是默认的构造方法,不接收任何参数.
通常的解决办法是使用final关键字声明参数,然后在内部使用.
这种方式有三个缺点
1,参数一旦被声明为final对象,就不能再改变.
2,如果参数之前没有被声明为final类型,则必须重新声明一个final参数,然后用之前的参数进行赋值.
3,这种传递方式过于丑陋,不过优雅
鉴于以上情况,在实际编码过程中,作者采用了一种比较优雅的方法来初始化匿名接口实例.
代码示例如下:
//定义一 ...