??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲一区二区视频,91网在线播放,99久久夜色精品国产网站http://www.aygfsteel.com/liucunjie/Jeff's Java Homezh-cnThu, 19 Jun 2025 14:39:12 GMTThu, 19 Jun 2025 14:39:12 GMT60诚聘java开发工E师 Q南京)http://www.aygfsteel.com/liucunjie/archive/2010/03/03/314381.htmlJeff's Java HomeJeff's Java HomeWed, 03 Mar 2010 02:27:00 GMThttp://www.aygfsteel.com/liucunjie/archive/2010/03/03/314381.htmlhttp://www.aygfsteel.com/liucunjie/comments/314381.htmlhttp://www.aygfsteel.com/liucunjie/archive/2010/03/03/314381.html#Feedback4http://www.aygfsteel.com/liucunjie/comments/commentRss/314381.htmlhttp://www.aygfsteel.com/liucunjie/services/trackbacks/314381.html
基本要求Q?/span>

1
Q计机相关专业专科学历或以上,从事软g目实施和开发一q以上;
2
Q一q以上开发经验,熟?zhn)?/span>Java?/span>J2EE{,熟练使用ZHibernate?/span>Struts ?/span>MVC三层架构q行Web快速开发;
3
Q熟(zhn)关pd数据库技术,?/span>SQL ServerQ?/span>
4
Q熟(zhn)应用服务器Q如Jboss?/span>Tomcat
5
Q逻辑思\清晰Q工作认真负责,良好的团队合作精和客户沟通交能力?br />
W合以下条g之一优先Q?/span>
1
Q熟(zhn)报表系l管理系l,熟?zhn)?/span>jasperreport ?/span>jfreechart{;
2
Q熟(zhn)交通运输行业等Q?br />
公司|址Q?a >http://www.tol.org.cn/rtcom/MainPage.jsp
电子邮箱Q?nbsp;jeff_liu@nuaa.edu.cn


]]>
Dear List, Help...http://www.aygfsteel.com/liucunjie/archive/2008/08/06/220463.htmlJeff's Java HomeJeff's Java HomeWed, 06 Aug 2008 08:35:00 GMThttp://www.aygfsteel.com/liucunjie/archive/2008/08/06/220463.htmlhttp://www.aygfsteel.com/liucunjie/comments/220463.htmlhttp://www.aygfsteel.com/liucunjie/archive/2008/08/06/220463.html#Feedback0http://www.aygfsteel.com/liucunjie/comments/commentRss/220463.htmlhttp://www.aygfsteel.com/liucunjie/services/trackbacks/220463.html
Is there any way to conversion from binary file to ascii/text file in java?
is there any java module which works like this?

Thanks & Regards in Advance
Jeff Liu

Jeff's Java Home 2008-08-06 16:35 发表评论
]]>
JPA会是ORM的王道吗Q(转)http://www.aygfsteel.com/liucunjie/archive/2007/11/30/164176.htmlJeff's Java HomeJeff's Java HomeFri, 30 Nov 2007 01:47:00 GMThttp://www.aygfsteel.com/liucunjie/archive/2007/11/30/164176.htmlhttp://www.aygfsteel.com/liucunjie/comments/164176.htmlhttp://www.aygfsteel.com/liucunjie/archive/2007/11/30/164176.html#Feedback1http://www.aygfsteel.com/liucunjie/comments/commentRss/164176.htmlhttp://www.aygfsteel.com/liucunjie/services/trackbacks/164176.html

q几q持久化技术领域异常喧嚣,各种框架雨后春笋般地冒出。例?/span>Spring对多个持久化技术提供了集成的支持,q通过Spring JDBC框架?/span>JDBC APIq行化?/span>Sun也连接不断地颁布几个持久化规范,?/span>JPA(Java Persistence API)?/span>JPA作ؓJava EE 5.0q_标准?/span>ORM规范Q将得到所?/span>Java EE服务器的支持?/span>Sunq次吸取了之?/span>EJB规范惨痛p|的经历,在充分吸收现?/span>ORM框架的基上,得到了一个易于用、׾~性强?/span>ORM规范。从目前的开发社区的反应上看Q?/span>JPA受到了极大的支持和赞扬,JPA作ؓORM领域标准化整合者的目标应该不难实现?/span>

一?span style="font: 7pt 'Times New Roman'">        引子

荀子在《荀?/span>·王制》中有云Q王Z人,霸夺之与Q强Z地。什么叫王道Q就是仁义,以d待hQ把人感动得甘心情愿认你当老大。什么叫霔RQ就是你有实力,以力服hQ谁不服把他打服ؓ止。从哲学上说Q王道是正道Q当然正道须以实力ؓ基础。王道中也包含霸道,但王道顺势而行?/span>

最q,W者查看了JPAQ?/span>java 持久?/span>API)的相兌范,作ؓEJB3.0的重要组成部分,JPAq是很值得x的。看完规范,感觉JPAq是比较的单一Q其目标是实现Java 持久性的通用?/span>JPA采用U?/span>POJO的方式实玎ͼ更多的是采用Java 5注释Q?/span>AnnotationQ,它利?/span> Java 5 中的注释和对?/span>/关系映射Qؓ数据持久化提供了更简单、易用的~程方式?/span>JPA的优势是多供应商的支持,可以q行在容器之中,也可以运行于容器之外Q这是其显著的优点?/span>

Java™ PlatformQ?/span> Enterprise Edition (Java EE 5)的设计方法,充分利用?/span> Enterprise JavaBeans™ (EJB) 3.0 新的 Java Persistence API (JPA)Ҏ(gu)?/span>JPA 提供了一U标准的对象关系映射解决Ҏ(gu)Q该解决Ҏ(gu)避免了依赖第三方框架Q如 HibernateQ?/span>Java EE 5 许多新功能都包含在经q修补的 EJB 架构中,其突出特性之一?/span> JPA。由于具有容器内和容器外持久性选项Q?/span>JPA ?/span> J2EE 软g架构师带来一pd全新设计选择?/span>

JPA受到了极大的支持和赞扬,那到JPA作ؓORM领域标准化整合者的目标应该能实现吗Q能成来ORM的王道吗Q?/span>

二?span style="font: 7pt 'Times New Roman'">        JPA来了

JPA通过JDK 5.0注解?/span>XML描述对象Q关p表的映关p,q将q行期的实体对象持久化到数据库中Q图 1很好地描qCJPA的结构:


?/span>1.JPA的结构图

Sun引入新的JPA ORM规范Z两个原因Q其一Q简化现?/span>Java EE?/span>Java SE应用的对象持久化的开发工作;其二Q?/span>Sun希望整合?/span>ORM技术,实现天下归一?/span>

JPA?/span>EJB 3.0软g专家l开发,作ؓJSR-220实现的一部分。但它不囿于EJB 3.0Q你可以?/span>Web应用、甚x面应用中使用?/span>JPA的宗旨是?/span>POJO提供持久化标准规范,由此可见Q经q这几年的实跉|索,能够q容器独立q行Q方便开发和试的理念已l深入h心了。目?/span>Hibernate 3.2?/span>TopLink 10.1.3以及OpenJPA都提供了JPA的实现?/span>

JPA的M思想和现?/span>Hibernate?/span>TopLinkQ?/span>JDO{?/span>ORM框架大体一致。ȝ来说Q?/span>JPA包括以下3斚w的技术:

ORM映射元数据,JPA支持XML?/span>JDK 5.0注解两种元数据的形式Q元数据描述对象和表之间的映关p,框架据此实体对象持久化到数据库表中Q?/span>

JPA ?/span>APIQ用来操作实体对象,执行CRUD操作Q框架在后台替我们完成所有的事情Q开发者从J琐?/span>JDBC?/span>SQL代码中解脱出来?/span>

查询语言Q这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据Q避免程序的SQL语句紧密耦合?/span>

三?span style="font: 7pt 'Times New Roman'">        JPA的优?/span>

1 标准?/span>

JPA ?/span> JCP l织发布?/span> Java EE 标准之一Q因此Q何声U符?/span> JPA 标准的框枉遵@同样的架构,提供相同的访?/span> APIQ这保证了基?/span>JPA开发的企业应用能够l过量的修改就能够在不同的JPA框架下运行?/span>

2 对容器Ҏ(gu)的支持

JPA 框架中支持大数据集、事务、ƈ发等容器U事务,q?/span> JPA 越了简单持久化框架的局限,在企业应用发挥更大的作用?/span>

3 单易用,集成方便

JPA的主要目标之一是提供更加单的~程模型Q在JPA框架下创建实体和创徏Java cML单,没有M的约束和限制Q只需要?/span> javax.persistence.Entityq行注释Q?/span>JPA的框架和接口也都非常单,没有太多特别的规则和设计模式的要求,开发者可以很Ҏ(gu)的掌握?/span>JPAZ非R入式原则设计Q因此可以很Ҏ(gu)的和其它框架或者容器集成?/span>

4 可媲?/span>JDBC的查询能?/span>

JPA的查询语a?/span>面向对象而非面向数据库的Q它以面向对象的自然语法构造查询语句,可以看成?/span>Hibernate HQL的等L?/span>JPA定义了独特的JPQLQ?/span>Java Persistence Query LanguageQ,JPQL?/span>EJB QL的一U扩展,它是针对实体的一U查询语aQ操作对象是实体Q而不是关pL据库的表Q而且能够支持扚w更新和修攏V?/span>JOIN?/span>GROUP BY?/span>HAVING {通常只有 SQL 才能够提供的高查询Ҏ(gu),甚至q能够支持子查询?/span>

5 支持面向对象的高U特?/span>

JPA 中能够支持面向对象的高Ҏ(gu),如类之间的ѝ多态和cM间的复杂关系Q这L支持能够让开发者最大限度的使用面向对象的模型设计企业应用,而不需要自行处理这些特性在关系数据库的持久化?/span>

四?span style="font: 7pt 'Times New Roman'">        JPA的供应商

JPA 的目标之一是制定一个可以由很多供应商实现的APIQƈ且开发h员可以编码来实现?/span>APIQ而不是用私有供应商Ҏ(gu)?/span>API。因此开发h员只需使用供应商特有的API来获?/span>JPA规范没有解决但应用程序中需要的功能。尽可能C?/span>JPA APIQ但是当需要供应商公开但是规范中没有提供的功能Ӟ则用供应商Ҏ(gu)?/span>API?/span>

1 Hibernate

JPA是需?/span>Provider来实现其功能的,HibernateJPA Provider中很强的一个,目前来说应该无h能出其右。从功能上来_JPA现在是Hibernate功能的一个子集?/span>Hibernate ?/span>3.2开始,开始兼?/span>JPA?/span>Hibernate3.2获得?/span>Sun TCK?/span>JPA(Java Persistence API) 兼容认证?/span>

只要熟?zhn)?/span>Hibernate或者其?/span>ORM框架Q在使用JPA时会发现其实非常Ҏ(gu)上手。例如实体对象的状态,?/span>Hibernate有自由、持久、游MU,JPA里有newQ?/span>managedQ?/span>detachedQ?/span>removedQ明gh一看就知道Q这些状态都是一一对应的。再?/span>flushҎ(gu)Q都是对应的Q而其他的再如?/span>Query query = manager.createQuery(sql)Q它?/span>Hibernate里写法上?/span>sessionQ而在JPA中变成了managerQ所以从Hibernate?/span>JPA的代价应该是非常的

同样Q?/span>JDOQ也开始兼?/span>JPA。在ORM的领域中Q看?/span>JPA已经是王道,规范?yu)是规范。在各大厂商的支持下Q?/span>JPA的用开始变得广泛?/span>

2 Spring

Spring + Hibernate 常常被称?/span> Java Web 应用人气最旺的框架l合。而在 JCP 通过?/span> Web Beans JSR Q却Ʋ将JSF + EJB + JPA 、来?/span> JBoss SeamQ?/span>Spring 除外Q的一些组件和EJB 3Q目前能够提供有基本拦截和依赖注入功能的?/span> Session Bean 框架Q的一?/span> Web l合q行标准化。如今的 Spring 2.0 ?/span> JPA 提供了完整的 EJB 容器契约Q允?/span> JPA在Q何环境内可以?/span> Spring 理的服务层使用Q包?/span> Spring 的所?/span> AOP ?/span> DI 增强Q。同Ӟ关于下一?/span>Web应用l合会是 EJB?/span>Spring + Hibernate q是 Spring + JPA 的论战,早已充斥于耟?/span>

?/span>Spring 2.0.1中,正式提供?/span>JPA的支持,q也促成?/span>JPA的发展,要知?/span>JPA的好处在于可以分M容器q行Q变得更加的z?/span>

3 OpenJPA

OpenJPA ?/span> Apache l织提供的开源项目,它实C EJB 3.0 中的 JPA 标准Qؓ开发者提供功能强大、用简单的持久化数据管理框架?/span>OpenJPA 装了和关系型数据库交互的操作,让开发者把注意力集中在~写业务逻辑上?/span>OpenJPA 可以作ؓ独立的持久层框架发挥作用Q也可以L的与其它 Java EE 应用框架或者符?/span> EJB 3.0 标准的容器集成?/span>

4 其它

目前支持的实现包?/span>Toplink?/span>Hibernate Entitymanager{?/span>TopLink以前需要收费,如今开源了?/span>OpenJPA虽然免费Q但功能、性能、普及性等斚w更加需要加大力度?/span>

对于EJB来说Q实?/span>Bean一直是被批评的对象Q由于其太复杂和庞大?/span>JPA的出玎ͼ很大E度的分M复杂性。这?/span>EJB的推q也变得Ҏ(gu)?/span>

总而言之,JPA规范主要x的仅?/span>API的行为方面,而由各种实现完成大多数性能有关的调优。尽如此,所有可靠的实现都应该拥有某U数据缓存,以作为选择。但愿不久的来Q?/span>JPA能成为真正的标准?/span>

五?span style="font: 7pt 'Times New Roman'">       

EJB 3.0?/span>JPA 毫无疑问是Java EE 5的主要卖炏V在某些领域中,它们l?/span>JavaC֌带来了竞争优势,qJava 在其他领域与竞争Ҏ(gu)不分伯仲Q因为,不可否认Q目前某些领域尚不存在基于标准的Ҏ(gu)Q?/span>

q去数年来,Spring Framework一直是EJB在企业领域的主要竞争Ҏ(gu)?/span>EJB3.0规范解决了很多促q?/span>Spring兴v的问题。随着它的出现Q?/span>EJB3.0毫无疑问?/span>Spring提供了更好的开发体验——最引h注目的优势是它不需要配|文件?/span>

JPA提供一U标准的OR映射解决Ҏ(gu)Q该解决Ҏ(gu)完全集成?/span>EJB3?/span>0兼容的容器中?/span>JPA的前辈将会l稳定发展,但是业务应用E序中的 raw 使用可能会减少。实?/span> JPA 兼容的实体管理器g很可能是此类技术的发展方向?/span>

Java EEpd规范的较大问题与JPA没有M关系?/span>Java EE pd规范的问题涉及到 Web?/span>EJB容器之间的集成?/span>Spring在此领域仍然h主要竞争优势?/span>JBoss?/span>Seam目试使用自定义的Ҏ(gu)来解册一问题?/span>Caucho Resin应用服务器试图扩展容器边界ƈ支持?/span>Web容器中?/span>@EJB注释。我们希?/span>Java EE 5.1解军_集成的问题,为我们提供一个全面而标准的依赖性注入方法?/span>

在不久的来Q?/span>Sun可能会将JPA作ؓ一个单独的JSR对待Q同?/span>JPAq可能作?/span>Java SE的一部分。不q这些都不太重要Q重要的是,我们现在已经可以在脱d器的情况下、在Java SE应用中?/span>JPA了?/span> 

JPA已经作ؓ一对象持久化的标准,不但可以获得Java EE应用服务?/span>的支持,q可以直接在Java SE中用。开发者将无需在现有多U?/span>ORM框架中艰隑֜选择Q按?/span>Sun的预惻I现有ORM框架头顶的光环将渐渐暗EQ不再具有以往的吸引力?/span>



Jeff's Java Home 2007-11-30 09:47 发表评论
]]>
Java 中的堆和栈(转)http://www.aygfsteel.com/liucunjie/archive/2007/11/30/164165.htmlJeff's Java HomeJeff's Java HomeFri, 30 Nov 2007 01:18:00 GMThttp://www.aygfsteel.com/liucunjie/archive/2007/11/30/164165.htmlhttp://www.aygfsteel.com/liucunjie/comments/164165.htmlhttp://www.aygfsteel.com/liucunjie/archive/2007/11/30/164165.html#Feedback0http://www.aygfsteel.com/liucunjie/comments/commentRss/164165.htmlhttp://www.aygfsteel.com/liucunjie/services/trackbacks/164165.htmlJava 中的堆和?/strong>

单的_
Java把内存划分成两种Q一U是栈内存,一U是堆内存?nbsp;  
   
  在函C定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配?nbsp;  
   
  当在一D代码块定义一个变量时QJava在栈中个变量分配内存空_当超q变量的作用域后QJava会自动释放掉变量所分配的内存空_该内存空间可以立卌另作他用?nbsp;  
   
  堆内存用来存攄new创徏的对象和数组?nbsp;  
   
  在堆中分配的内存Q由Java虚拟机的自动垃圾回收器来理?nbsp;  
   
  在堆中生了一个数l或对象后,q可以在栈中定义一个特D的变量Q让栈中q个变量的取值等于数l或对象在堆内存中的首地址Q栈中的q个变量成了数l或对象的引用变量?nbsp;  
   
  引用变量q当于是ؓ数组或对象v的一个名Uͼ以后可以在E序中用栈中的引用变量来访问堆中的数组或对象?nbsp;  
   


           

具体的说Q?br /> 栈与堆都是Java用来在Ram中存放数据的地方。与C++不同QJava自动理栈和堆,E序员不能直接地讄栈或堆?
          Java的堆是一个运行时数据?cȝ(对象从中分配I间。这些对象通过new、newarray、anewarray和multianewarray{指令徏立,它们不需要程序代码来昑ּ的释放。堆是由垃圾回收来负责的Q堆的优势是可以动态地分配内存大小Q生存期也不必事先告诉编译器Q因为它是在q行时动态分配内存的QJava的垃圾收集器会自动收走这些不再用的数据。但~点是,׃要在q行时动态分配内存,存取速度较慢?
         栈的优势是,存取速度比堆要快Q仅ơ于寄存器,栈数据可以共享。但~点是,存在栈中的数据大与生存期必L定的,~Z灉|性。栈中主要存放一些基本类型的变量Q?int, short, long, byte, float, double, boolean, charQ和对象句柄?
         栈有一个很重要的特D性,是存在栈中的数据可以共享。假设我们同时定义:
int a = 3;
int b = 3Q?
~译器先处理int a = 3Q首先它会在栈中创徏一个变量ؓa的引用,然后查找栈中是否?q个|如果没找刎ͼ将3存放q来Q然后将a指向3。接着处理int b = 3Q在创徏完b的引用变量后Q因为在栈中已经?q个|便将b直接指向3。这P出Ca与b同时均指?的情c这Ӟ如果再oa=4Q那么编译器会重新搜索栈中是否有4|如果没有Q则?存放q来Qƈ令a指向4Q如果已l有了,则直接将a指向q个地址。因此a值的改变不会影响到b的倹{要注意q种数据的共享与两个对象的引用同时指向一个对象的q种׃n是不同的Q因U情况a的修改ƈ不会影响到b, 它是q译器完成的,它有利于节省I间。而一个对象引用变量修改了q个对象的内部状态,会媄响到另一个对象引用变量?

String是一个特D的包装cL据。可以用Q?
String str = new String("abc");
String str = "abc";
两种的Ş式来创徏Q第一U是用new()来新建对象的Q它会在存放于堆中。每调用一ơ就会创Z个新的对象?
而第二种是先在栈中创Z个对Stringcȝ对象引用变量strQ然后查找栈中有没有存放"abc"Q如果没有,则将"abc"存放q栈Qƈ令str指向”abc”Q如果已l有”abc” 则直接ostr指向“abc”?

           比较c里面的数值是否相{时Q用equals()Ҏ(gu)Q当试两个包装cȝ引用是否指向同一个对象时Q用==Q下面用例子说明上面的理论?
String str1 = "abc";
String str2 = "abc";
System.out.println(str1==str2); //true
可以看出str1和str2是指向同一个对象的?

String str1 =new String ("abc");
String str2 =new String ("abc");
System.out.println(str1==str2); // false
用new的方式是生成不同的对象。每一ơ生成一个?
       因此用第一U方式创建多?#8221;abc”字符?在内存中其实只存在一个对象而已. q种写法有利与节省内存空? 同时它可以在一定程度上提高E序的运行速度Q因为JVM会自动根据栈中数据的实际情况来决定是否有必要创徏新对象。而对于String str = new String("abc")Q的代码Q则一概在堆中创徏新对象,而不其字符串值是否相{,是否有必要创建新对象Q从而加重了E序的负担?
       另一斚w, 要注? 我们在用诸如String str = "abc"Q的格式定义cLQL惛_然地认ؓQ创ZStringcȝ对象str。担心陷阱!对象可能q没有被创徏Q而可能只是指向一个先前已l创建的对象。只有通过new()Ҏ(gu)才能保证每次都创Z个新的对象。由于Stringcȝimmutable性质Q当String变量需要经常变换其值时Q应该考虑使用StringBufferc,以提高程序效率?br />



java中内存分配策略及堆和栈的比较
2.1 内存分配{略
按照~译原理的观?E序q行时的内存分配有三U策?分别是静态的,栈式?和堆式的.
静态存储分配是指在~译时就能确定每个数据目标在q行时刻的存储空间需?因而在~译时就可以l他们分配固定的内存I间.q种分配{略要求E序代码中不允许有可变数据结?比如可变数组)的存?也不允许有嵌套或者递归的结构出?因ؓ它们都会D~译E序无法计算准确的存储空间需?
栈式存储分配也可UCؓ动态存储分?是由一个类g堆栈的运行栈来实现的.和静态存储分配相?在栈式存储方案中,E序Ҏ(gu)据区的需求在~译时是完全未知?只有到运行的时候才能够知道,但是规定在运行中q入一个程序模块时,必须知道该程序模块所需的数据区大小才能够ؓ其分配内?和我们在数据l构所熟知的栈一?栈式存储分配按照先进后出的原则进行分配?
静态存储分配要求在~译时能知道所有变量的存储要求,栈式存储分配要求在过E的入口处必ȝ道所有的存储要求,而堆式存储分配则专门负责在编译时或运行时模块入口处都无法定存储要求的数据结构的内存分配,比如可变长度串和对象实例.堆由大片的可利用块或I闲块组?堆中的内存可以按照Q意顺序分配和释放.

2.2 堆和栈的比较
上面的定义从~译原理的教材中ȝ而来,除静态存储分配之?都显得很呆板和难以理?下面撇开静态存储分?集中比较堆和?
从堆和栈的功能和作用来通俗的比?堆主要用来存攑֯象的Q栈主要是用来执行程序的.而这U不同又主要是由于堆和栈的特点决定的:
在编E中Q例如C/C++中,所有的Ҏ(gu)调用都是通过栈来q行?所有的局部变?形式参数都是从栈中分配内存空间的。实际上也不是什么分?只是从栈向上用p,好像工厂中的传送带(conveyor belt)一?Stack Pointer会自动指引你到放东西的位|?你所要做的只是把东西放下来就?退出函数的时候,修改栈指针就可以把栈中的内容销?q样的模式速度最? 当然要用来运行程序了.需要注意的?在分配的时?比如Z个即要调用的程序模块分配数据区?应事先知道这个数据区的大?也就说是虽然分配是在E序q行时进行的,但是分配的大多是定?不变?而这?大小多少"是在~译时确定的,不是在运行时.
堆是应用E序在运行的时候请求操作系l分配给自己内存Q由于从操作pȝ理的内存分?所以在分配和销毁时都要占用旉Q因此用堆的效率非常?但是堆的优点在于,~译器不必知道要从堆里分配多存储空_也不必知道存储的数据要在堆里停留多长的时?因此,用堆保存数据时会得到更大的灵zL。事实上,面向对象的多态?堆内存分配是必不可少?因ؓ多态变量所需的存储空间只有在q行时创Z对象之后才能定.在C++中,要求创徏一个对象时Q只需?new命o~制相关的代码即可。执行这些代码时Q会在堆里自动进行数据的保存.当然Qؓ辑ֈq种灉|性,必然会付Z定的代h(hun):在堆里分配存储空间时会花掉更长的旉Q这也正是导致我们刚才所说的效率低的原因,看来列宁同志说的?人的优点往往也是人的~点,人的~点往往也是人的优点(晕~).


2.3 JVM中的堆和?
JVM是基于堆栈的虚拟?JVM为每个新创徏的线E都分配一个堆?也就是说,对于一个JavaE序来说Q它的运行就是通过对堆栈的操作来完成的。堆栈以帧ؓ单位保存U程的状态。JVM对堆栈只q行两种操作:以为单位的压栈和出栈操作?
我们知道,某个U程正在执行的方法称为此U程的当前方?我们可能不知?当前Ҏ(gu)使用的UCؓ当前帧。当U程ȀzM个JavaҎ(gu),JVM׃在线E的 Java堆栈里新压入一个。这个自然成ؓ了当前.在此Ҏ(gu)执行期间,q个帧将用来保存参数,局部变?中间计算q程和其他数?q个帧在q里和编译原理中的活动纪录的概念是差不多?
从Java的这U分配机制来?堆栈又可以这L?堆栈(Stack)是操作系l在建立某个q程时或者线E?在支持多U程的操作系l中是线E?个线E徏立的存储区域Q该区域h先进后出的特性?
每一个Java应用都唯一对应一个JVM实例Q每一个实例唯一对应一个堆。应用程序在q行中所创徏的所有类实例或数l都攑֜q个堆中,q由应用所有的U程׃n.跟C/C++不同QJava中分配堆内存是自动初始化的。Java中所有对象的存储I间都是在堆中分配的Q但是这个对象的引用却是在堆栈中分配,也就是说在徏立一个对象时从两个地斚w分配内存Q在堆中分配的内存实际徏立这个对象,而在堆栈中分配的内存只是一个指向这个堆对象的指?引用)而已?


Jeff's Java Home 2007-11-30 09:18 发表评论
]]>
Export_Access_2_Oracle(把数据从Access 导入到Oracle?http://www.aygfsteel.com/liucunjie/archive/2006/03/04/33635.htmlJeff's Java HomeJeff's Java HomeSat, 04 Mar 2006 14:17:00 GMThttp://www.aygfsteel.com/liucunjie/archive/2006/03/04/33635.htmlhttp://www.aygfsteel.com/liucunjie/comments/33635.htmlhttp://www.aygfsteel.com/liucunjie/archive/2006/03/04/33635.html#Feedback0http://www.aygfsteel.com/liucunjie/comments/commentRss/33635.htmlhttp://www.aygfsteel.com/liucunjie/services/trackbacks/33635.html1)      Open Access to have all the tables ready.  Please note:  the tables must be all upper case, like CUST_PRM, not like cust_prm.

2)      Select a table and right mouse click on it.  Then a menu bar shows up.   In the menu bar, select and click on the ?B style="mso-bidi-font-weight: normal">Export?menu.

 

3)      In the popped up File Selection window, select the value ?B style="mso-bidi-font-weight: normal">ODBC Databases()?in the ?B style="mso-bidi-font-weight: normal">Save As Type?field.    Please see picture below:

 

4)      Then in the “Export?dialog, the table name defaults to the same table name in Access.  Do not change it.  You simply click on OK button.

 

5)      In the “Select Data Source?window, click on the ?B style="mso-bidi-font-weight: normal">Machine Data Source?TAB.  Then select your oracle database, such as ?B style="mso-bidi-font-weight: normal">prm?   Then click on OK button.

 

6)      Then in the “Oracle ODBC Driver Connect?window, type in the password and then click on OK button.

 

Wait until the data is replicated into Oracle.

 

7)      Open a DOS prompt, and type ?B style="mso-bidi-font-weight: normal">sqlplus u1/p1?  Here, u1 and p1 are my username/password of my PRM database.  You should use your own database username and password.

8)      After login into sqlplus, type ?B style="mso-bidi-font-weight: normal">select * from TAB;? you will see your table created.

9)      In sqlplus, type command “desc CUST_PRM;?/SPAN>

10)  In sqlplus, type command “select * from CUST_PRM;?BR>
注意在导入之前一定确保Oracle里没有相同的?BR>
不好意思,图显CZ出来Q请下蝲Document?/SPAN>



Jeff's Java Home 2006-03-04 22:17 发表评论
]]>
վ֩ģ壺 | | | ƽ| ԭ| | ٽ| Ӱ| | ˮ| | | ͤ| ɽ| | Ҫ| ɽ| ֹ| | Т| | | Ԫ| ʡ| Ͽ| »| | DZ| ն| | | | ʲ| ˶| ״| ͻȪ| ַ| Ƽ| ذ| Ͻ| |