Archive for the ‘Java’ Category
上篇文章讲到了Java Persistence API(Java 数据持久化API),hibernate作为JPA的一种实现,是一个数据持久化组件。所谓对象持久化(Object Persistence),就是把数据保存在永久存储介质中(数据库)。
今天看了看关于JPA(Java Persistence API)的一些知识,并在myeclipse 8里参照帮助文档里的学习文档写出了第一个JPA工程,初步的了解了在myeclipse 上如何方便利用JPA进行持久化操作的代码开发。很久没有接触持久化操作的代码开发了,决定找些实例回忆一下持久化操作的操作方法与步骤。
注释是java5中的新特性,谈到注释,先的谈谈Java元数据(metadata)。元数据,就是“关于数据的数据”。Java元数据有3种基本类型,还有3个Java内置注释类型,另外还有4中元注释类型。你可能用过Javadoc的注释自动生成文档。这就是元数据功能的一种。总的来说,元数据可以用来创建文档,跟踪代码的依赖性,执行编译时格式检查,代替已有的配置文件(如Hibernate也提供了注释配置)。
阅读java.lang.reflect包内的Array类,发现了其类中有一些标注了native的方法,该方法没有方法体并以分号结尾,觉得有点奇怪,于是网上搜了一些关于java中native关键字的用法。
关于java的Native Method使用说明,在网上找到了一篇广为流传转载的文章:http://ghsea.javaeye.com/blog/72543。该文章由英文翻译,讲解的通俗易懂,想看中文的讲解的可以去上面的url观摩。在这里贴出英文原文,由于不知道英文原文出处,所以无法注明英文文章来源,但还是要感谢英文原作者。
下面是原英文文章,呵呵,很久没有读英文读物了,大概还是看得懂的。
反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。
Java中,反射是一种强大的工具。它使您能够创建灵活的代码,这些代码可以在运行时装配,无需在组件之间进行源代表链接。反射允许我们在编写与执行时,使我们的程序代码能够接入装载到JVM中的类的内部信息,而不是源代码中选定的类协作的代码。这使反射成为构建灵活的应用的主要工具。但需注意的是:如果使用不当,反射的成本很高。
泛型(Generic Types)是java5.0 的新特性,是JAVA 的又一次革命。
它的特点:
JVM 不变,JAVA 和 C++不断的融合, 5.0 里有许多和 C++ 类似。留下的只是思想。 程序员的开发工作越来越简单。
泛型增强了java的类型安全,可以在编译期间对容器内的对象进行类型检查,在运行 期不必进行类型的转换。而在j2se5 之前必须在运行期动态进行容器内对象的检 查及转换,泛型是编译时概念,运行时没有泛型。
泛型减少含糊的容器,可以定义什么类型的数据放入容器。
首先了解什么是 EXIF
Exif是英文Exchangeable Image File(可交换图像文件)的缩写,最初由日本电子工业发展协会(JEIDA –Japan Electronic
Industry Development Association) 制订,目前的最新版本是发表于2002年04月的2.21 版。
Exif 文件实际是JPEG文件的一种,遵从JPEG标准,只是在文件头信息中增加了有关拍摄信息的内容和索引图。所以你可以使用任何支持JPEG格式的图像工具软件观看或修改Exif文件,但,打开时可能看不到Exif信息,一旦修改,Exif信息可能丢失。简单来说,EXIF 信息就是由数码相机在拍摄过程中采集一系列的信息,然后把信息放置在我们熟知的 JPEG/TIFF 文件的头部,也就是说 EXIF 信息是镶嵌在 JPEG/TIFF 图像文件格式内的一组拍摄参数,主要包括摄影时的光圈、快门、ISO、时间等各种与当时摄影条件相关的讯息,相机品牌型号,色彩编码,拍摄时录制的声音以及全球定位系统(GPS)等信息。简单的说,它就好像是傻瓜相机的日期打印功能一样,只不过 EXIF 信息所记录的资讯更为详尽和完备。
Spring用工厂的方式创建对象: 静态工厂, 实例工厂
静态工厂类, 当使用静态工厂方法构造bean实例时,class属性是包含了静态工厂方法的类,同时还需要属性factory-method指
明创建实例的静态工厂方法名.这个构造的实例并不一定是class属性指明的类的实例.它可以是其它类的实例.
spring在构造实例时会自动调用静态的工厂方法.
最近开始复习Spring,决定拾起之前学的一点Spring知识,并且深入了解这个框架。看了看【Spring Framework 开发参考手册】,觉得讲的还不错,决定先学习这个手册,掌握一些基础的Spring知识。
Spring IoC容器可以自动装配(autowire)相互协作bean之间的关联关系。因此,如果可能的话,可以自动让Spring通过检查BeanFactory中的内容,来替我们指定bean的协作者(其他被依赖的bean)。autowire一共有五种类型。由于autowire可以针对单个bean进行设置,因此可以让有些bean使用autowire,有些bean不采用。autowire的方便之处在减少或者消除属性或构造器参数的设置,这样可以给我们的配置文件减减肥!
最近开始复习Spring,决定拾起之前学的一点Spring知识,并且深入了解这个框架。看了看【Spring Framework 开发参考手册】,觉得讲的还不错,决定先学习这个手册,掌握一些基础的Spring知识。
Spring能有效地组织J2EE应用各层的对象。不管是控制层的Action对象,还是业务层的Service对象,还是持久层的DAO对象,都可在Spring的管理下有机地协调、运行。Spring将各层的对象以松耦合的方式组织在一起,Action对象无须关心Service对象的具体实现,Service对象无须关心持久层对象的具体实现,各层对象的调用完全面向接口。当系统需要重构时,代码的改写量将大大减少。
上面所说的一切都得宜于Spring的核心机制,依赖注入。依赖注入让bean与bean之间以配置文件组织在一起,而不是以硬编码的方式耦合在一起。
最近开始复习Spring,决定拾起之前学的一点Spring知识,并且深入了解这个框架。看了看【Spring Framework 开发参考手册】,觉得讲的还不错,决定先学习这个手册,掌握一些基础的Spring知识。
在Spring中,那些组成应用的主体(backbone)及由Spring IoC容器所管理的对象被称之为bean。简单地讲,bean就是由Spring容器初始化、装配及被管理的对象,除此之外,bean就没有特别之处了(与应用中的其他对象没有什么区别)。而bean定义以及bean相互间的依赖关系将通过配置元数据来描述。
