摘要:问题一:为什么要整合ActiveMQ? 传统的JDBC代码在处理连接、语句、结果集和异常时是多么冗长和繁杂你一定不会忘记,传统的JMS继承了JDBC的“关荣传统”。发送一个简单的消息,要几行代码呢?请仔细数数吧。 Java代码以下是引用片段:publicvoidsendMessage()throwsJMSException{ActiveMQConnectionFactoryconnectionFactory=newActiveMQConnectionFactory("tcp://localhost:61616");Connectionconnection=null;Sess 阅读全文
三种常见的Java应用性能挑战
2012-08-02 23:55 by java20130722, 209 阅读, 0 推荐, 收藏,
摘要:Java是一种伟大的语言。它管理内存,传授面向对象的编程(思想),使我们更好地用它来编码。另外,它确实是一种“编写一次,到处运行“的语言。然而,Java应用程会遇到一些常见的开发者和应用者独耳熟能详的性能挑战。 内存泄露 Java的最大的好处之一是它能够管理内存模型。当对象不再使用时,Java会做清理工作。较旧的语言需要人工来管理内存,但开发者宁愿花时间专注于核心语言逻辑而不愿为内存分配而忧心。 话虽如此,却不能保证Java的内存管理没有问题,提供管理内存模型,或创建/销毁未使用的对象,(这些对象)都放在Java的“堆(Heap)“中,内存泄露通常是不正确编程的结果–通常,开发者没有消... 阅读全文
Java开发2.0:用Hadoop MapReduce进行大数据分析
2012-08-02 23:54 by java20130722, 371 阅读, 0 推荐, 收藏,
摘要:Google在2001年发布图像搜索功能时,只有2.5亿索引图像,不到10年,这个巨大的搜索功能已经可以检索超过100亿个图像了,每分钟有35小时的内容上传到YouTube。据称,Twitter每天平均处理5500万tweet。今年早些时候,搜索功能每天记录6亿条查询记录。这 就是我们讨论大数据的意义所在。 如此大规模的数据一度仅限于大企业、学校和政府机构 — 这些机构有能力购买昂贵的超级计算机、能够雇用员工保障其运行。今天,由于存储成本的降低和处理能力的商品化,一些小公司,甚至个人都可以存储和挖掘同样的数据,推动新一轮的应用程序创新。 大数据革命技术之一是MapReduce,一个编程模式.. 阅读全文
Java中间件:淘宝网系统高性能利器
2012-08-02 23:52 by java20130722, 278 阅读, 0 推荐, 收藏,
摘要:【TechTarget中国原创】淘宝网是亚太最大的网络零售商圈,其知名度毋庸置疑,吸引着越来越多的消费者从街头移步这里,成为其忠实粉丝。如此多的用户和交易量,也意味着海量的信息处理,其背后的IT架构的稳定性、可靠性也显得尤为重要。那么,他们是怎么办到的呢? 曾宪杰(花名花黎)是淘宝Java中间件团队成员,他认为大型网站就是要同时满足高访问量和高数据量的要求,核心是通过分布式系统解决数据的处理、存储及访问问题。 消息中间件Notify 早期,淘宝并没有Java中间件,其系统框架比较简单。下面我们就来看看Java中间件在淘宝的诞生和发展。首先要说的是实现系统松耦合和异步处理的消息中间件Not... 阅读全文
JAVA中内存分配策略里的堆与栈
2012-08-02 23:49 by java20130722, 257 阅读, 0 推荐, 收藏,
摘要:按照编译事理的分配概念,运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的。 静态存储分配是指在编译时就能确定每个数据方针在运行时刻的存储空间需求,因而在编译时就可以给他们分配固定的内存空间。这种分配策略要求代码中不许可有可变数据结构(好比可变数组)的存在,也不许可有嵌套或者递归的结构呈现,因为它们城市导致编译轨范无法计较切确的存储空间需求。 栈式存储分配也可称为动态存储分配,是由一个近似于仓库的运行栈来实现的。和静态存储分配相反,在栈式存储方案中,对数据区的需求在编译时是完全未知的,只有到运行的时辰才能够知道,可是划定在运行中进入一个轨范模块时,必需知道该轨范模块所需的数据区巨细.. 阅读全文
Java调用SQL Server的存储过程详解
2012-08-02 23:48 by java20130722, 150 阅读, 0 推荐, 收藏,
摘要:1、使用不带参数的存储过程{callprocedure-name} 作为实例,在SQL Server 2005AdventureWorks示例数据库中创建以下存储过程:CREATEPROCEDUREGetContactFormalNames ASBEGINSELECTTOP10Title+''+FirstName+''+LastNameASFormalName FROMPerson.ContactEND 此存储过程返回单个结果集,其中包含一列数据(由Person.Contact表中前十个联系人的称呼、名称和姓氏组成)。 在下面的实例中,将向此函数传递Advent 阅读全文
Java六大必须理解的问题
2012-08-02 23:47 by java20130722, 109 阅读, 0 推荐, 收藏,
摘要:对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。 问题一:我声明了什么!Strings="Helloworld!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。这样模糊的回答通常是概念不清的根源。如果要准确的回答,一半的人大概会回答错误。 这个语句声明的是一个指向对象的引用,名为“s”,可以指向类型为String的任何对象,目前指向"Hell 阅读全文
Java内存管理的九个小技巧
2012-08-02 23:46 by java20130722, 147 阅读, 0 推荐, 收藏,
摘要:很多人都说“Java完了,只等着衰亡吧!”,为什么呢?最简单的的例子就是Java做的系统时非常占内存!一听到这样的话,一定会有不少人站出来为Java辩护,并举出一堆的性能测试报告来证明这一点。其实从理论上来讲Java做的系统并不比其他语言开发出来的系统更占用内存,那么为什么却有这么多理由来证明它确实占内存呢?两个字,陋习。 1、别用new Boolean()。 在很多场景中Boolean类型是必须的,比如JDBC中boolean类型的set与get都是通过Boolean封装传递的,大部分ORM也是用Boolean来封装boolean类型的,比如: 以下是引用片段: ps.setBool... 阅读全文
Java编程程序异常处理方法
2012-08-02 23:43 by java20130722, 211 阅读, 0 推荐, 收藏,
摘要:对于java异常处理你是否都掌握了呢,如果是,你是否能在下面这段代码中,迅速找出异常处理的六个问题吗?1、OutputStreamWriterout=… 2、java.sql.Connectionconn=… 3、try{//⑸ 4、Statementstat=conn.createStatement(); 5、ResultSetrs=stat.executeQuery( 6、"selectuid,namefromuser"); 7、while(rs.next()) 8、{ 9、out.println("ID:"+rs.getString("u 阅读全文
优化Java堆大小的五个技巧
2012-08-02 23:34 by java20130722, 176 阅读, 0 推荐, 收藏,
摘要:本文作者Pierre是一名有10多年经验的高级系统架构师,他的主要专业领域是Java EE、中间件和JVM技术。根据他多年的工作实践经验,他发现许多性能问题都是由Java堆容量不足和调优引起的。下面他将和大家分享非常实用的5个Java堆优化技巧。 1、JVM:对难以理解的东西产生恐惧感 千万不要以为,通过配置,调优,就可以排除那些你所不明白的问题。有些人认为Java程序员不需要知道内部JVM内存管理。毫无疑问,这种观点明显是错误的,如果想拓宽知识面和提升排除故障能力,你就必须要了解和学习一下JVM内存管理。 对于Java或者是Java EE新手来说,Java Heap调优和故障排除是一项... 阅读全文
浙公网安备 33010602011771号