为您找到与Java中什么是事务相关的共79个结果:
事务,一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。
Java中的事务处理
一般情况下,J2EE应用服务器支持JDBC事务、JTA(Java Transaction API)事务、容器管理事务。一般情况下,最好不要在程序中同时使用上述三种事务类型,比如在JTA事务中嵌套JDBC事务。第二方面,事务要在尽可能短的时间内完成,不要在不同方法中实现事务的使用。下面我们列举两种事务处理方式。
1、JavaBean中使用JDBC方式进行事务处理
在JDBC中怎样将多个SQL语句组合成一个事务呢?在JDBC中,打开一个连接对象Connection时,缺省是auto-commit模式,每个SQL语句都被当作一个事务,即每次执行一个语句,都会自动的得到事务确认。为了能将多个SQL语句组合成一个事务,要将auto-commit模式屏蔽掉。在auto-commit模式屏蔽掉之后,如果不调用commit()方法,SQL语句不会得到事务确认。在最近一次commit()方法调用之后的所有SQL会在方法commit()调用时得到确认。
public int delete(int sID) { dbc = new DataBaseConnection(); Connection con = dbc.getConnection(); try { con.setAutoCommit(false);https:// 更改JDBC事务的默认提交方式 dbc.executeUpdate("delete from bylaw where ID=" + sID); dbc.executeUpdate("delete from bylaw _content where ID=" + sID); dbc.executeUpdate("delete from bylaw _affix where bylawid=" + sID); con.commit();https://提交JDBC事务 con.setAutoCommit(true);https:// 恢复JDBC事务的默认提交方式 dbc.close(); return 1; } catch (Exception exc) { con.rollBack();https://回滚JDBC事务 exc.printStackTrace(); dbc.close(); return -1; } } |
2、SessionBean中的JTA事务
JTA 是事务服务的 J2EE 解决方案。本质上,它是描述事务接口(比如 UserTransaction 接口,开发人员直接使用该接口或者通过 J2EE 容器使用该接口来确保业务逻辑能够可靠地运行)的 J2EE 模型的一部分。JTA 具有的三个主要的接口分别是 UserTransaction 接口、TransactionManager 接口和 Transaction 接口。这些接口共享公共的事务操作,例如 commit() 和 rollback(), 但是也包含特殊的事务操作,例如 suspend(),resume() 和 enlist(),它们只出现在特定的接口上,以便在实现中允许一定程度的访问控制。例如,UserTransaction 能够执行事务划分和基本的事务操作,而 TransactionManager 能够执行上下文管理。
应用程序可以调用UserTransaction.begin()方法开始一个事务,该事务与应用程序正在其中运行的当前线程相关联。底层的事务管理器实际处理线程与事务之间的关联。UserTransaction.commit()方法终止与当前线程关联的事务。UserTransaction.rollback()方法将放弃与当前线程关联的当前事务。
public int delete(int sID) { DataBaseConnection dbc = null; dbc = new DataBaseConnection(); dbc.getConnection(); UserTransaction transaction = sessionContext.getUserTransaction();https://获得JTA事务 try { transaction.begin(); https://开始JTA事务 dbc.executeUpdate("delete from bylaw where ID=" + sID); dbc.executeUpdate("delete from bylaw _content where ID=" + sID); dbc.executeUpdate("delete from bylaw _affix where bylawid=" + sID); transaction.commit(); https://提交JTA事务 dbc.close(); return 1; } catch (Exception exc) { try { transaction.rollback();https://JTA事务回滚 } catch (Exception ex) { https://JTA事务回滚出错处理 ex.printStackTrace(); } exc.printStackTrace(); dbc.close(); return -1; } } |
浏览量:2
下载量:0
时间:
当孩子做家务时,孩子会从亲身经历中体会到父母的不容易,感恩之心油然而生,这个道理犹如中国的那句老话:不养儿不懂父母恩。没有同样的经历,很难产生感激的共鸣,做家务就是给孩子这个机会来经历真实生活的不容易,这种教育胜过千言万语。下面是读文网小编整理的五篇帮妈妈做家事务作文400字,供大家参考一下!
今天中午回到家里爸爸妈妈已经做好了香喷喷的饭菜,等我一起吃饭。看着香喷喷的饭菜我拿起筷子就吃,爸爸妈妈看我吃的很香,他们也很高兴。我们边吃边聊。吃完以后我很快站起来把碗筷收起来端到厨房。我对爸爸妈妈说:今天就让我来学者洗碗筷吧?爸爸妈妈看着我很开心的笑了笑说:好吧!我们的小花朵今天好像长大了。听着爸爸妈妈赞扬的话我来倒厨房,先到了一些洗洁剂然后打开水龙头放了小半池水,我很仔细的一个一个得洗了好半天。然后又用清水把所有的碗筷冲洗了一遍。
我看到所有的碗筷都很干净了,就到客厅对爸爸妈妈说:妈妈,我洗完了,你去看一下吧。爸爸妈妈一起到厨房看到我洗的很干净的碗筷很高兴的抱起了我。他们说我能自己要求做家务,并且做得很好他们很开心。他们夸得我都不好意思了。我自己也很高兴。
因为我第一次做家务就让爸爸妈妈很开心,我以后要坚持做自己力所能及的家务,帮爸爸妈妈多干一些小家务,好让他们能多休息一会儿。#p#副标题#e#
浏览量:3
下载量:0
时间:
个人知识管理一般指个人通过工具建立知识体系并不断完善,进行知识的收集、消化吸收和创新的过程。以下是由读文网小编整理关于java知识管理的内容,希望大家喜欢!
程序员的知识获取途径大部分来自于搜索引擎(谷歌可以提高搜索效率)和技术书籍,这与其他行业不同。主要原因是技术知识一个主要来源是互联网,例如说技术博客,技术文档等。因此,程序员的知识管理主要围绕互联网展开(并不意味着书籍就不重要)。
我把程序员的知识管理分为三个过程:
知识积累
碎片整理
思考加工
浏览量:2
下载量:0
时间:
知识就是力量,当今企业中最宝贵的资产就是掌握知识的员工,律师事务所同样如此,那么你对律师事务所知识管理了解多少呢?以下是由读文网小编整理关于律师事务所知识管理的内容,提供给大家参考和了解,希望大家喜欢!
据统计,欧美国家企业的平均寿命是40年,而中国企业的平均寿命不足20年。另据《中国中小企业人力资源管理白皮书》的数据,中小企业的寿命不足2.5年。我国不乏“机会型”企业,但是很少可持续发展的企业。律师事务所也是如此。我们常听见律师事务所管理者说,“律师个个都是人精”,也即律师总在为实现利益最大化而考量。律师行业最大的特点就是人才流动性大。如何成为百年名所,是许多律师的梦想。如何在经济大环境转型、科技巨潮冲击下,能够保持强有力的动力实现可持续发展,是我们需要深思的问题。我认为,文化是关键。这里的文化,就是指以知识管理为切入点,形成共享型的知识文化,进而再带动其他方面的文化建设,从而整体提升律师事务所的文化。
我个人认为,倡导知识文化应达到两个目标:一是使每个个体拥有更加强大的能力;二是作为群体的组织可以充分发挥知识的群聚效应。举例如下图,假设A、B两个律师的竞争力指数均为6。A、B律师共享与否会产生三种大相庭径的效果:一是如图中淡蓝色部分, A选择共享但B选择私藏,则A因共享了自己的知识则其竞争力将减弱为5,相反B得到了A共享的知识后其竞争力上升为8,此时团队的竞争力合计为13,反之亦然;二是如图中青色部分, A、B律师都私藏,则各自的竞争力保持不变均为6,团队合计竞争力为12;三是如图中红色部分,A、B律师都选择共享,则均因对方的共享而丰富了自己的竞争力,各自竞争力提升至10,团队合计竞争力为20。即团队竞争力的大小受到成员是否共享的影响,从各自私藏时的12竞争力,到均共享时的20竞争力,知识的群聚效应由此显现。因此,一个律师事务所如果没有共享和开放的文化,私藏型的律师太多,则律师事务所的整体竞争力就会远低于那些具有共享文化的律师事务所。这就是为何近年来越来越多的律师事务所进行公司化管理的原因,希望从制度上提升聚合能力。
知识管理是一个共建共享的动态过程。有的律师事务所认为,专门聘请一名有一定执业经验的律师进行知识的收集和整理,便是知识管理。也即知识管理是某一部门或者个人的工作职责。我认为,知识管理是一个全员行动、相互协作的共建共享的过程,每一个人既是知识的上传者,也是知识的需求者,知识管理专员的主要作用是进行知识整理与统筹。
其实,律师事务所的知识管理部门能做的工作很有限,尤其是一些辅助人员,难以对律师高层次的法律文件的适用性、优劣等各个方面进行有效识别。真正做好知识管理工作则需要各个业务部门资深律师和合伙人的支持。例如金杜律师事务所就建立了一个以业务部门的合伙人牵头的体系,叫知识和质量控制合伙人(KQ Ledge ,Knowledge and Quality control ledge),他们在每个部门里牵头抓本部门的电子文档管理、范本文件整理、重要知识的收集,然后和知识管理部门进行协调沟通,从而提出新的调研题目。
共建共享,全员参与,逐渐使得“知识库”日益丰富,律师在长久共享、沟通、学习、碰撞的过程中,对其他律师有了更深入的了解,情感逐渐培养,同时对知识库的归属感也逐渐加强。另外,知识管理专员也不能脱离日常案件的办理而只做知识管理。理想的模式应该是不同程度地参与到案件办理流程之中去,也即“身兼两职”。
憧憬知识文化的未来,结合律师行业知识密集型的特点,未来唯一能够保持优势竞争力的律师事务所一定是注重培育知识文化的律师事务所。彼得·圣吉认为,“最成功的企业,一定是学习组织型企业”。学习型律师事务所精于知识的创造转换和应用,善于学习,勇于创新,再生能力强,在外部环境变革、内部出现失调的情况下能够快速反应,形成竞争优势。
当然,知识管理只是律师事务所众多管理中的一部分,它与行政管理、人才管理等一起构筑律师事务所的梦想大厦。律师事务所的文化也是多方面因素(律师事务所愿景、人才结构、人文关怀等)聚合的结果,单凭知识管理是无法完成的。但知识管理是与律师事务所文化联系最紧密的一部分,它是律师事务所永葆凝聚力、竞争力的核心所在,也是律师事务所基业长青的坚强后盾!
看过“律师事务所知识管理“
浏览量:3
下载量:0
时间:
你听说过有限合伙企业吗?有限合伙企业是介于合伙与有限责任公司之间的一种企业形式,但必须强调的是,在本质上它是合伙的特殊形式之一,而不是公司。下面由读文网小编为你详细介绍有限合伙企业的相关法律知识。
1.普通合伙人不得同本企业进行交易,但是合伙协议另有约定或者全体合伙人另有约定的除外;有限合伙人可以同本企业进行交易,但是合伙协议另有约定的除外;
2.普通合伙人不得自营或者同他人合营与本合伙企业相竞争的业务;有限合伙人可以,但是合伙协议另有约定的除外;
3.普通合伙企业的合伙协议不得约定将全部利润分配给部分合伙人;有限合伙企业不得将全部利润分配给部分合伙人,但是合伙协议另有约定的除外;
4.普通合伙人以其在合伙企业中的财产份额出质的,须经其他合伙人一致同意;未经其他合伙人一致同意,其行为无效;有限合伙人可以将其在有限合伙企业中的财产份额出质,但是合伙协议另有约定的除外。
看过“有限合伙企业事务执行的特殊规定是什么”
浏览量:3
下载量:0
时间:
你听说过合伙企业吗?我国合伙组织形式仅属限于私营企业。合伙企业一般无法人资格,不缴纳所得税。其包括普通合伙企业和有限合伙企业。下面由读文网小编为你详细介绍合伙企业的相关法律知识。
1、注册公司为法人,有永久延续性。而合伙则不是法人,随合伙人丧亡而解散。
2、注册公司与其成员属不同法律主体,两者权利义务不同。合伙企业与和各合伙人唇齿相依,资产和义务互通。
3、作为法人,注册公司有独立的财产,能独立承担责任;合伙不具有独立的财产,合伙的财产由合伙人共同所有。无限合伙的合伙人互负无限连带责任,有限合伙中的无限合伙人对合伙债务负无限责任。
4、注册公司的行动准则是公司的章程大纲和章程细则,凡接受该大纲和细则的人,可通过持有股份而加入公司,成为公司的成员。但除董事、经理外,公司的成员并无经营权。各合伙人之间是通过合伙合约联接起来的,没有各合伙人的同意,第三人不能加入合伙。各合伙人(除有限合伙中的有限合伙人外)都能代表合伙和其它合伙人经营业务。
5、注册公司成员的变动一般不会影响公司的存续,但无限合伙的成员或有限合伙中的无限合伙人的存亡、变动会导致合伙的解体。
6、注册公司的股东并无保守商业秘密和负竞业禁止的义务,也无绝对信义责任。而合伙人之间则应相互忠诚不欺;
7、注册公司所负责任的债务,只可向该公司追讨,其权利也只可由公司出面执行。合伙企业的各合伙人,可由合伙的债务被债主直接追讨。
8、注册公司的成员或股东,不视为公司的代理人,不可使公司因其行为受束缚。合伙人可随时以合伙企业的名义与外人订约,向外借债。
9、注册公司的商誉属该公司,公司成员不得侵占,也不能擅用。合伙企业的商誉属合伙人共有。合伙人在拆伙后,可各自用原合伙企业名称。
10.注册公司包括一些并非以营利为目的的公司,而合伙则必须以营利为目的。不以营利为目的的数人之间可以形成另外一种非法人团体的联合,但不能组成合伙。
11.注册公司的组织形式,由《公司条例》详为规定,合伙的组织形式则相对灵活,只要不违反法律,可由合伙人以协议决定。
看过“合伙企业的事务决定与执行”
浏览量:3
下载量:0
时间:
孩子上课走神、注意力不集中是常见现象,也是学习效率低下的最重要原因。那么,孩子上课注意力不集中是什么原因?下面就由读文网小编告诉大家吧!
1、培养兴趣
解决孩子上课走神,首要的是想办法培养孩子对学习的兴趣。一是让孩子把学到的东西及时应用到实际生活中,让孩子感觉知识是非常重要、非常有用和有意思的,通过知识的运用过程激发孩子学习的兴趣。
2、培养孩子的自制力
家长在日常生活中,要有意识地培养孩子的自我控制能力,使注意力服从于活动的目的和任务。可以通过让孩子在一段时间内专心做一件事入手,如做作业、绘画、练琴、手工制作等等来培养孩子的自制力。从开始的十分钟,慢慢过渡到四十分钟,也就是一节课。要循序渐进,一次增加五分钟,心急吃不了热豆腐。让孩子在固定的时间和固定的地点,完成固定的任务,以便形成一种心理活动的定向。
3、注意劳逸结合
学习是脑力劳动,大脑要消耗大量的氧。因此,家长要合理安排孩子的作息时间,控制看电视和玩电子游戏的时间,保证孩子充足的睡眠,养成劳逸结合的好习惯。这样,孩子才能有充足的精力专心听课。
4、和老师沟通
孩子上课走神,请老师帮忙配合效果应该是最好的。家长要耐心和老师交流、沟通,请老师帮忙,课堂上如发现孩子走神能及时提醒,或有意识的安排孩子上黑板做题、回答老师的提问等具体任务,帮孩子尽快把心收回来。
5、专业指导
如果孩子是因为营养方面或心理因素导致的上课走神,家长就要请专业儿童教育的专家和医生,对孩子进行综合考察、诊断,然后再对孩子进行针对性的治疗和矫正。
浏览量:3
下载量:0
时间:
Java 平台是基于 Java 语言的平台。下面是读文网小编为您带来的java反射方法调用,希望对大家有所帮助。
Java平台和语言最开始只是SUN公司在1990年12月开始研究的一个内部项目。SUN公司的一个叫做帕特里克·诺顿的工程师被自己开发的C和C语言编译器搞得焦头烂额,因为其中的API极其难用。帕特里克决定改用NeXT,同时他也获得了研究公司的一个叫做“Stealth 计划”的项目的机会。
“Stealth 计划”后来改名为“Green计划”,JGosling(詹姆斯·高斯林)和麦克·舍林丹也加入了帕特里克的工作小组。他们和其他几个工程师一起在加利福尼亚州门罗帕克市沙丘路的一个小工作室里面研究开发新技术,瞄准下一代智能家电(如微波炉)的程序设计,SUN公司预料未来科技将在家用电器领域大显身手。团队最初考虑使用C 语言,但是很多成员包括SUN的首席科学家比尔·乔伊,发现C 和可用的API在某些方面存在很大问题。
工作小组使用的是内嵌类型平台,可以用的资源极其有限。很多成员发现C 太复杂以至很多开发者经常错误使用。他们发现C 缺少垃圾回收系统,还有可移植的安全性、分布程序设计、和多线程功能。最后,他们想要一种易于移植到各种设备上的平台。
根据可用资金,比尔·乔伊决定开发一种集C语言和Mesa语言搭成的新语言,在一份报告上,乔伊把它叫做“未来”,他提议SUN公司的工程师应该在C 的基础上,开发一种面向对象的环境。最初,高斯林试图修改和扩展C 的功能,他自己称这种新语言为C --,但是后来他放弃了。他将要创造出一种全新的语言,被他命名为“Oak”(橡树),以他的办公室外的树而命名。
浏览量:3
下载量:0
时间:
switch和if语句都是Java的选择语句,这两种语句都是允许在程序运行时控制程序的执行过程。那么,switch和if在具体用法上什么具体区别,下面读文网小编给你介绍一下Java中switch和if语句的区别。
首先要看一个问题,if 语句适用范围比较广,只要是 boolean 表达式都可以用 if 判断;而 switch 只能对基本类型进行数值比较。两者的可比性就仅限在两个基本类型比较的范围内。
说到基本类型的数值比较,那当然要有两个数。然后重点来了——
if 语句每一句都是独立的,看下面的语句:
if (a == 1) ...
else if (a == 2) ...
这样 a 要被读入寄存器两次,1 和 2 分别被读入寄存器一次。于是你是否发现其实 a 读两次是有点多余的,在你全部比较完之前只需要一次读入寄存器就行了,其余都是额外开销。但是 if 语句必须每次都把里面的两个数从内存拿出来读到寄存器,它不知道你其实比较的是同一个 a。
于是 switch case 就出来了,把上面的改成 switch case 版本:
switch (a) {
case 0:
break;
case 1:
}
因为特定的规则,他一开始就知道你要比 a,于是 a 一次性读取,相比 if 节约了很多开销。
然后根据大量的实际程序测试(不考虑不同的编译器优化程度差异,假设都是最好的优化),那么Switch语句击中第三个选项的时间跟if/else if语句击中第三个选项的时间相同。
击中第一,第二选项的速度if语句快,击中第四以及第四之后的选项的速度switch语句快。
所以,如果所有选项出现概率相同的话,结论就是:5个选项(包括default)的情况下,switch和if/else if相同。低于5个选项if快,高于5给选项switch快!
浏览量:4
下载量:0
时间:
在编程的时候往往会出现系统编译时无法检测到的错误,可是在运行时会出错,如果在可能出错的地方抛出异常,那样便严整了代码的正确性.比如数组越界,分母为0,文件等。 编程中会用try语句和throw语句来对编程运行过程中出现的异常情况进行处理。那么这两种有什么区别呢?下面小编带你去了解一下。
Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。
Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。一般情况下是用try来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finally)由缺省处理器来处理。
用try来指定一块预防所有“异常”的程序。紧跟在try程序后面,应包含一个catch子句来指定你想要捕捉的“异常”的类型。
throw语句用来明确地抛出一个“异常”。throws用来标明一个成员函数可能抛出的各种“异常”。
Finally为确保一段代码不管发生什么“异常”都被执行一段代码。可以在一个成员函数调用的外面写一个try语句,在这个成员函数内部写另一个try语句保护其他代码。
每当遇到一个try语句,“异常”的框架就放到堆栈上面,直到所有的try语句都完成。如果下一级的try语句没有对某种“异常”进行处理,堆栈就会展开,直到遇到有处理这种“异常”的try语句。
package book.exception;
/**
* 抛出异常和声明异常
* @author joe
*
*/
public class ThrowAndThrows {
/**
* 计算一个数字的平方根
* @param nStr 以字符串的形式提供数字
* @return 返回平方根
* @throws Exception 当用户输入的字符串为空,
* 或者字符串无法转换成数字,或者转换成的数字小于0,都会抛出异常
*/
public static double sqrt(String nStr) throws Exception {
if (nStr == null) {
https://用trow关键字抛出异常,当异常被抛出时,程序会跳出该方法
throw new Exception("输入的字符不能为空!");
}
double n = 0;
try {
n = Double.parseDouble(nStr);
} catch(NumberFormatException e) {
https://将parseDouble方法可能抛出的异常NumberFormatException捕获,
https://然后将捕获的异常重新封装并输出
throw new Exception("输入的字符串必须能够转化成数字!", e);
}
if (n < 0 ){
throw new Exception("输入的字符串转化成的数字必须大于0!");
}
return Math.sqrt(n);
}
public static void main(String[] args) throws Exception {
try{
ThrowAndThrows.sqrt("-124.56");
} catch(Exception e) {
https://将sqrt方法声明的可能抛出的Exception异常捕获
https://打印捕获的异常的堆栈信息,从堆栈信息中可以发现异常发生的位置和原因
System.out.println("Got a Exception:" + e.getMessage());
e.printStackTrace();
throw e; https://不做进一步处理,将异常向外抛出
}
https://将sqrt声明了可能会抛出的异常向外抛出,必须在方法声明中使用throws
ThrowAndThrows.sqrt("-124.56");
}
}
程序输出结果:
Got a Exception:输入的字符串转化成的数字必须大于0!
java.lang.Exception: 输入的字符串转化成的数字必须大于0!
at book.exception.ThrowAndThrows.sqrt(ThrowAndThrows.java:30)
at book.exception.ThrowAndThrows.main(ThrowAndThrows.java:37)
Exception in thread "main" java.lang.Exception: 输入的字符串转化成的数字必须大于0!
at book.exception.ThrowAndThrows.sqrt(ThrowAndThrows.java:30)
at book.exception.ThrowAndThrows.main(ThrowAndThrows.java:37)
源码分析:
在main方法里,由于sqrt方法的声明中有throws关键字,所以,在调用该方法时,必须对throws后面声明的异常进行处置,处置的方法有两种:
(1)main方法处理该异常,使用try.....catch语句,将可能会出现的异常的代码放在try块内,将处理异常的代码放在catch块内,并指明catch能够捕获的异常的类型,当异常被捕获时,执行catch块内的语句。
(2)main方法不处理该异常,将异常向外层程序抛出。在方法声明中使用throws关键字抛出异常,方法体中不需要使用try...catch语句。
异常类Exception的getMessage方法用来获取一场的描述信息,printStackTrace方法用来打印异常的堆栈信息,通过堆栈信息能够查明异常发生的原因和位置,在调试的时候常用。
浏览量:3
下载量:0
时间:
Java和.Net的区别就像Windows和Linux的区别,正因为Java学习门槛非常高,很多学习者被淘汰了下来,这样能够撑过一个个难关学习下来的开发人员都是水平比较高的人员。因此.Net初级开发人员的工资平均是比Java初级开发人员的工资平均略低的。但是由于.Net中高级人才非常缺乏,因此掌握.Net深入技术的开发人员在企业内部是非常吃香的,招聘人员经常发出这样的感叹“招合适的Java工程师能招来一堆,招合适的.Net工程师一个月都招不来几个”。
.Net秉承了微软技术的入门简单的特点,经过短时间的学习就可以掌握拖拉控件的快速开发方式,很多人被.Net的快速开发方式所满足,认为自己“学成了”,不再深入研究,因此人才市场上充斥着很多只会拖控件、而不懂.Net更深入一步技术的.Net开发人员,比如很多ASP.Net的书上都是讲ASP.Net服务端控件,很多所谓“精通ASP.Net”的人连什么是Http、HTML、JavaScript、Dom等基本概念都稀里糊涂,实际公司项目中很多功能点的实现不是简单的拖一个ASP.Net服务端控件就能搞定的,因此看似学习.Net的人非常多,但是真正满足企业要求的人则比较少;而Java则入门门槛比较高,如果想要配置一个Hello World级别的学习环境就会涉及到很多技术,开发环境也要学习者自行配置,对于初学者来说可能花费一周时间都无法配置一个最简单的环境出来,Java的开发环境也不像.Net开发环境那么可用性强。
浏览量:2
下载量:0
时间:
Java 技术具有卓越的通用性、高效性、平台移植性和安全性。下面是读文网小编为您带来的java equals方法使用,希望对大家有所帮助。
与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。
Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和静态的语言。
Java 平台是基于 Java 语言的平台。这样的平台非常流行。因此微软公司推出了与之竞争的.NET平台以及模仿Java的C#语言。
Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。
浏览量:2
下载量:0
时间:
抽象类与接口紧密相关。然而接口又比抽象类更抽象,它们之间明显存在区别。那到底存在哪些方面的区别呢?下面读文网小编给大家讲讲Java中抽象类与接口的区别。
1,抽象类里可以有构造方法,而接口内不能有构造方法。
2,抽象类中可以有普通成员变量,而接口中不能有普通成员变量。
3,抽象类中可以包含非抽象的普通方法,而接口中所有的方法必须是抽象的,不能有非抽象的普通方法。
4,抽象类中的抽象方法的访问类型可以是public ,protected和默认类型,但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。
5,抽象类中可以包含静态方法,接口内不能包含静态方法。
6,抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static类型,并且默认为public static类型。
7,一个类可以实现多个接口,但只能继承一个抽象类。
8.接口更多的是在系统框架设计方法发挥作用,主要定义模块之间的通信,而抽象类在代码实现方面发挥作用,可以实现代码的重用。
浏览量:3
下载量:0
时间:
Java中sleep和wait都是用来进行线程控制的,这两者之间有什么区别呢?下面,读文网小编带你去了解一下sleep与wait的区别。
sleep是Thread类的静态方法。sleep的作用是让线程休眠制定的时间,在时间到达时恢复,也就是说sleep将在接到时间到达事件事恢复线程执行。例如:
try{
System.out.println("I'm going to bed");
Thread.sleep(1000);
System.out.println("I wake up");
}
catch(IntrruptedException e) {
}
wait是Object的方法,也就是说可以对任意一个对象调用wait方法,调用wait方法将会将调用者的线程挂起,直到其他线程调用同一个对象的notify方法才会重新激活调用者。例如:
https://Thread 1
try{
obj.wait();https://suspend thread until obj.notify() is called
}
catch(InterrputedException e) {
}
浏览量:2
下载量:0
时间:
Java语言中的许多库类名称,多与咖啡有关。下面是读文网小编为您带来的java 反射调用set方法,希望对大家有所帮助。
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
JAVA反射(放射)机制:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言。但是JAVA有着一个非常突出的动态相关机制:Reflection,用在Java身上指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体、或对其fields设值、或唤起其methods。
浏览量:2
下载量:0
时间:
Java中,我们应该知道最基本的就是定义变量和声明变量了,定义与声明这两者是有区别的,小编在此整理了Java中定义与声明的区别,供大家参阅,希望大家在阅读过程中有所收获!
所谓定义就是(编译器)创建一个对象,为这个对象分配一块内存,并给它取上一个名字,这个名字就是就是我们经常所说的变量名或对象名。
声明有2重含义:
(1) 告诉编译器,这个名字已经匹配到一块内存上,下面的代码用到变量或者对象是在别的地方定义的。声明可以出现多次。
(2) 告诉编译器,这个名字已经被预定了,别的地方再也不能用它来作为变量名或对象名。
浏览量:2
下载量:0
时间:
ajax调用java后台的方法,其实是通过url链接来访问。下面是读文网小编为大家带来一篇ajax调用java方法,希望对大家有所帮助。
JavaJsDemo.java
package com.demo.android.JavaJsDemo;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import java.util.ArrayList;
import java.util.List;
public class JavaJsDemo extends Activity {
/** Called when the activity is first created. */
private WebView web;
public List<String> list;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initData();
setContentView(R.layout.main);
web = (WebView)this.findViewById(R.id.webview);
//开启javascript设置
web.getSettings().setJavaScriptEnabled(true);
//把RIAExample的一个实例添加到js的全局对象window中
//这样就可以使用window.javatojs来调用它的方法
web.addJavascriptInterface(this, "javatojs");
//加载网页
web.loadUrl("file:///android_asset/index.html");
}
void initData(){
list=new ArrayList<String>();
for(int i=0;i<5;i++){
list.add("我是List中的第"+(i+1)+"行");
}
}
/**
* 该方法将在js脚本中,通过window.javatojs.....()进行调用
* @return
*/
public Object getObject(int index){
return list.get(index);
}
public int getSize(){
return list.size();
}
public void Callfunction(){
web.loadUrl("javascript: GetList()");
}
}
index.html
DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://xxx.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>demotitle>
<script language="javascript">
function GetList(){
var i=window.javatojs.getSize();
for(var n=0;n<i;n++){
var jsdata= window.javatojs.getObject(n);//拿到activity里面的属性javadata
var datalistdiv = document.getElementById("datalist"); //得到页面的div
pnode = document.createElement("p");//创建一个p标签,再建个textnode
tnode = document.createTextNode(jsdata);
pnode.appendChild(tnode);//p中加入数据
datalistdiv.appendChild(pnode);//div中键入新的p
}
}
script>
head>
<body onload="javascript:window.javatojs.Callfunction()">//调用java方法
<div id = "datalist">
this is a demo
div>
body>
html>
浏览量:3
下载量:0
时间:
Java平台和语言最开始只是SUN公司在1990年12月开始研究的一个内部项目。下面是读文网小编为您带来的java string 常用方法,希望对大家有所帮助。
抽象类:规定一个或多个抽象方法的类别本身必须定义为abstract,抽象类只是用来派生子类,而不能用它来创建对象。
final类:又称“最终类”,它只能用来创建对象,而不能被继承,与抽象类刚好相反,而且抽象类与最终类不能同时修饰同一个类。
包:Java中的包是相关类和接口的集合,创建包须使用关键字package。
继承:Java作为面向对象编程语言,支持继承这基本概念。但Java只支持单根继承,java.lang.Object是所有其他类的基类。
多态类:在Java中,对象变量是多态的。而Java中不支持多重继承。
接口:Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为。
通用编程:任何类类型的所有值都可以同Object类型的变量来代替。
封装:把数据和行为结合起在一个包中,并对对象使用者隐藏数据的实现过程,一个对象中的数据叫他的实例字段(instance field)。
重载:当多个方法具有相同的名字而含有不同的参数时,便发生重载。编译器必须挑选出调用哪个方法进行编译。
重写:也可称为方法的“覆盖”。在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。值得注意的是,子类在重新定义父类已有的方法时,应保持与父类完全相同的方法头声明。
Class类:Object类中的getClass方法返回Class类型的一个实例,程序启动时包含在main方法的类会被加载,虚拟机要加载他需要的所有类,每一个加载的类都要加载它需要的类。
浏览量:2
下载量:0
时间: