传智播客
文章平均质量分 74
fjf133
这个作者很懒,什么都没留下…
展开
-
传智播客-ejb3(2)-SLSB与SFSB
ejb的bean类型有三种:session bean,message-driven bean,entity bean。其中session bean又分为有状态bean(@Stateful, SFSB)和无状态bean(@Stateless, SLSB)。 来传智播客之前听过网上黎活明老师的ejb3视频。网上黎活明老师的视频可能是因为有删节,有状态bean和无状态bean只是简单讲了一点--原创 2010-01-12 21:15:00 · 1093 阅读 · 0 评论 -
传智播客-邮件开发(2)-以命令方式收发邮件
准备实验环境:提前在sina和sohu上开设一个免费账户(ms现在只有sohu还公开对外SMTP服务器):itcast_test@sina.com;获取smtp和pop3服务器的名称;在outlook中配置sina账户(outlook为这一邮件收发实验中的邮件客户端软件);使用outlook发送和接收邮件;提前准备好Base64编码的用户名和密码(因为以命令方式输入用户名和密码连接邮件服务器时,需原创 2010-03-11 23:22:00 · 1204 阅读 · 0 评论 -
传智播客-邮件开发(1)-关于电子邮件的一些基本常识
通常邮件开发主要包括两方面内容:发送与接收邮件;创建与解析邮件内容。不过在介绍如何简单开发一个邮件应用前先介绍一下关于电子邮件的一些基本常识,包括以下五点:邮件传输协议;邮件服务器;电子邮箱;邮件客户端软件;电子邮件的传输过程。 邮件传输协议SMTP协议:全称为Simple Mail Transfer Protocol(简单邮件传输协议),定义了邮件客户端软件与SMTP服务器之间、以及两台原创 2010-03-10 22:28:00 · 2195 阅读 · 0 评论 -
3月6日-传智播客-多线程(8)-Callable与Future、Lock与Condition
Callable与FutureCallable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其它线程执行的任务。不过Callable和Runnable有几点不同:1、Callable规定的方法是call(),而Runnable规定的方法是run(); 2、Callable的任务执行后可返回值,而Runnable的任务是不能返回值的; 3、call()原创 2010-03-06 23:25:00 · 838 阅读 · 0 评论 -
传智播客-多线程(7)-线程池
jdk5的并发类库里提供了一个重要的功能:线程池。 关于线程池的讲解,首先介绍在Tcp服务器编程模型的原理:对每一个客户端连接用一个单独的线程为之服务,当与客户端的会话结束时,线程也就结束了,即每来一个客户端连接,服务器端就要创建一个新线程。这好比假设一个公司(服务端)的每个应聘者(客户端连接)都要通过招聘专员(线程)来接待,这个招聘专员在他负责的这个应聘者的整个应聘流中都要存在。原创 2010-03-05 23:14:00 · 1077 阅读 · 0 评论 -
传智播客-多线程(6)-jdk5里的concurrent与atomic包
jdk5开始,java对并发编程增加了一些类库支持,主要是java.util.concurrent,而atomic是其包下的子包。 concurrent包concurrent是在并发编程中很常用的实用工具类。此包包括了几个小的、已标准化的可扩展框架,以及一些提供有用功能的类,没有这些类,这些功能会很难实现或实现起来冗长乏味:1、接口:Executor是一个简单的标准化接口,用于定义类似原创 2010-03-04 22:26:00 · 905 阅读 · 0 评论 -
传智播客-内部类
写这篇文的起因是某个小孩(咳咳。。虽然本人技术上是小菜鸟,可也是位大妈。。)问了我两个问题:在类A的方法a中定义一个内部类B,且B内也有一个方法b,1、为什么内部类B的方法b,引用方法a里面的变量时,该变量前面要加final才能被引用?2、如何从外部调用内部类B里的方法b? 下面是关于内部类的一些定义和理解:1、内部类是指在一个类A里定义的另一个类B。2、A为宿主类(Surrounding原创 2009-12-24 22:13:00 · 579 阅读 · 3 评论 -
传智播客-hibernate(1)-hibernate入门
hibernate(v3.3.1)是早一阵子学的,历史比较久远了,所以这篇文只能说是我笔记(还好本人是笔记狂,好记性不如烂笔头)上hibernate的知识要点和徐培成老师讲课中提到的一些实际应用中的小技巧和注意事项的摘取和整理(美其名曰“总结”)。 开卷语:1、学习一个框架,看源码不如看doc文档,源码只是实现,doc是思想(ms很多人说过,学习一个框架重在学习它的思想,就是这个“思想”二原创 2009-12-25 22:53:00 · 897 阅读 · 1 评论 -
传智播客-递归(3)-文件目录列表的树状显示
顾名思义,就是写一段代码,显示指定文件的结构图,包括其所有子目录,子目录的子目录和非目录文件。1、以缩进的形式打印出指定文件的目录结构。这个缩进是以两个空格表示的。即文件每延后一级,打印的时候就在前面多加两个空格。采用递归方法设计的思考要点(详情请参见递归(1)),具体步骤为:(1)在main方法里,a,给定文件(file=File(String pathName));b,列出目录并打印。(2原创 2009-12-23 22:35:00 · 957 阅读 · 1 评论 -
传智播客-递归(2)-汉诺塔及程序显示结果改进
汉诺塔是学习递归的经典问题。 有的问题可以用循环解决,也可以用递归,但是汉诺塔问题若采用循环方式来考虑,根本无从下手。汉诺塔问题即:有A,B,C三根柱子,A柱子上有N个盘子,由小至大依次叠放,要将这N个盘子通过辅助柱子B全部转移到C柱子上,转移的过程中依然遵循由小至大的叠放顺序。要求编写一段程序打印出每次移动的过程及总共的移动次数。 思考过程:(个人以为,递归解决这样的问题,第一步原创 2009-12-22 19:22:00 · 836 阅读 · 1 评论 -
传智播客-多线程(5)-ThreadfLocal
ThreadfLocalThreadfLocal是一种机制,很多人都说它的名字叫ThreadfLocalVariable更贴切。表面上看它和其他的java类没有区别,但是当一个多线程系统要求各个线程都有自己线程内的全局变量时,使用ThreadfLocal就是一个极佳的选择。 ThreadfLocal用于实现线程内的数据共享,即对于相同的程序代码,多个模块在同一个线程中运行时要共享一份数据,原创 2010-03-03 22:24:00 · 683 阅读 · 0 评论 -
传智播客-多线程(1)-java里的进程和线程
对于开发人员而言,进程和线程是两个耳熟能详的概念;面试笔试遇到这类题的概率也很高。有人说工作中很少用到多线程,因为线程多的话难以掌控,能不用则不用;但是也有很多业务需求不得不用多线程实现,最常见的一个是多线程下载(当然这个涉及的不只多线程这一个技术,还有io和网络连接)。 在多任务系统中,每个独立执行的程序称为进程,也就是“正在进行的程序”。我们现在使用的操作系统一般都是多任务的,即能够同原创 2010-02-24 21:50:00 · 869 阅读 · 0 评论 -
传智播客-多线程(2)-Thread与Runnable
java是面向对象的语言,以java的视角,进程和线程都是对象,分别以Process和Thread表示。Process很少用到(没遇到过没听到过没看到过)。 Thread在java中,创建一个线程,即创建一个Thread对象。要启用该线程对象,必须显示调用Thread.start()方法。不过我们之所以要创建一个新线程,肯定是因为有某种业务需求,需要在新线程中实现这种业务需求,而具体的实现原创 2010-02-25 23:34:00 · 1371 阅读 · 0 评论 -
传智播客-递归(1)-jvm中保存运行方法的原理及递归方法设计要点
这是传说中的张孝祥老师的某一节讲课内容,以下内容都是基于张老师一篇单讲递归的25页文档(小菜鸟景仰中。。。)来写的(美其名曰:归纳总结:P)。 我前面写的二叉树其实已经用到了递归,也有较细的讲解,不过张老师的这个更为详实更加全面(小菜鸟继续景仰中。。。),而且对如何用递归算法解决实际问题有更具指导性和实用性的建议。 1、递归的概念和作用 概念很简单,自调用或自循环;作用嘛,原创 2009-12-18 23:29:00 · 974 阅读 · 2 评论 -
传智播客-多线程(4)-线程间通信
在实际中有很多现实问题业务需求不仅需要多个线程访问同一共享资源,而且线程与线程之间还需要互相牵制,或者说协调合作,这种牵制/协调合作,我们可以理解为线程间的通信。 java中的线程间通信主要是靠Thread的三个方法实现:wait,notify,notifyAll。wait:告诉当前线程放弃监视器并进入睡眠状态直到其他线程进入同一监视器并调用notify为止;notify:唤醒同一对象监视原创 2010-02-28 12:22:00 · 886 阅读 · 0 评论 -
传智播客-hibernate(2)-实体关系与基本的性能优化
hibernate是早一阵子学的,历史比较久远了,所以这篇文只能说是我笔记(还好本人是笔记狂,好记性不如烂笔头)上hibernate的知识要点和徐培成老师讲课中提到的一些实际应用中的小技巧和注意事项的摘取和整理(美其名曰“总结”)。 开卷语:1、学习一个框架,看源码不如看doc文档,源码只是实现,doc是思想(ms很多人说过,学习一个框架重在学习它的思想,就是这个“思想”二字深奥。。我的感原创 2009-12-29 21:59:00 · 674 阅读 · 2 评论 -
传智播客-邮件开发(3)-Java Mail简介
如果想自己写程序发送和接收邮件,可以直接采用socket编程连接上远程的邮件服务器,然后按照邮件协议与邮件服务器进行交互,但是涉及较多细节;另外,要想自己编程创建出复杂的MIME格式的邮件,是一件非常困难和麻烦的事。而JavaMail就是sun公司为了方便java开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发包,它支持一些常用邮件协议,例如SMTP,POP3,IMAP等;也提供了能原创 2010-03-12 19:30:00 · 1413 阅读 · 0 评论 -
传智播客-ejb3(1)-理解应用服务器、分布式应用和ejb服务
ejb,全称是enterprise java bean。现在通用的是ejb3,早期的版本要求业务类必须实现ejb自有的接口,而且ejb应用程序也必须部署在ejb容器环境中才可以运行,具有高侵入性,所以造成难以测试,难以维护,难以部署,难以升级。从而导致很多用户转向ssh框架,为了重整河山,ejb3问世了(鼓掌~)。 先讲一下应用服务器,老师没有给出定义,只是列举了一些,例如weblogic原创 2010-01-08 23:32:00 · 1269 阅读 · 0 评论 -
传智播客-ejb3(2)-bean类型、jboss基本应用、本地组件和远程组件及其底层实现原理简介
bean类型ejb规范定义了三种bean类型:session bean,message-driven bean,entity bean。 每种类型的bean都有特定目的且可独立使用ejb服务的某个子集。bean规范类型的真正目的是防止服务的交叉装配导致的超载。session bean和message-driven bean主要用于构建用户业务逻辑,也可以说用于业务关系建模,它们都驻留在容器原创 2010-01-11 23:23:00 · 1116 阅读 · 0 评论 -
传智播客-总结
常言道,师傅领进门,修行在个人。很多人都会强调后面那句,往往忽略了必要的前提,如果那个师傅是个庸人,只是把徒弟带到门边,而根本没有领进门,又或者那个师傅是个自以为是或别有用心之人,把徒弟领进了一个完全错误的门呢?估计那个徒弟再努力也只是离正途渐行渐远而已。做为一个曾被人只是领到门边(客观的说,这人本身还是很有实力的,只是教的东西确实有限),然后又被某个至少有5年java开发经验的“年轻技术专家”完原创 2010-03-19 23:56:00 · 2343 阅读 · 2 评论 -
传智播客-A Career in Computing(译文)(1)
原文地址:http://www.artima.com/weblogs/viewpost.jsp?thread=259358 Computing ThoughtsA Career in Computing计算生涯(也有人译作“计算机事业”,但是compute在这里是用的动名词,所以我认为翻译为“计算”更好些)by Bruce EckelJune 2, 2009 Summary摘要翻译 2010-01-04 22:09:00 · 608 阅读 · 1 评论 -
传智播客-Tree in SQL(译文)(3)
This has some predictable results that we can use for building queries. The root is always of the form (left = 1, right = 2 * (SELECT COUNT(*) FROM TreeTable)); leaf nodes always have (left + 1 = righ翻译 2010-03-18 22:52:00 · 832 阅读 · 0 评论 -
传智播客-hibernate(3)-回调与拦截机制
我写的这一篇是《深入浅出Hibernate》里第五章第二节以及《struts2权威指南》第七章第一节的内容,这两部分内容主要是帮助我更加理顺了对于“侵入性”的理解和拦截器的基本实现原理,所以特意摘取了出来(详细内容请参看这两本书的相关章节)。从下面的内容也可以看出来,这部分的内容单从技术应用上而言,易懂好使,但是拦截后的处理,我个人以为,是和业务(包括数据处理方面)高度相关的,因为没有实践经验,这原创 2010-01-06 23:34:00 · 829 阅读 · 0 评论 -
传智播客-A Career in Computing(译文)(2)
原文地址:http://www.artima.com/weblogs/viewpost.jsp?thread=259358 Computing ThoughtsA Career in Computing计算生涯(也有人译作“计算机事业”,但是compute在这里是用的动名词,所以我认为翻译为“计算”更好些)by Bruce EckelJune 2, 2009 Summary摘要翻译 2010-01-05 23:03:00 · 953 阅读 · 1 评论 -
传智播客-Tree in SQL(译文)(2)
Table 1 is denormalized in several ways. We are modeling both the personnel and the organizational chart in one table. But for the sake of saving space, pretend that the names are job titles and翻译 2010-03-17 11:39:00 · 696 阅读 · 0 评论 -
传智播客-Tree in SQL(译文)(1)
作者简介:Joe Celko,世界著名的数据库专家,他撰写了多部SQL经典著作,诸如《Analytics and OLAP in SQL》、《Trees and Hierarchies in SQL for Smarties》、《SQL Puzzles and Answers》等等。他也是世界上读者数量最多的SQL书籍作者之一。他曾撰写过一系列专栏,并通过他的新闻组支持了数据库编程技术以及ANSI翻译 2010-03-16 21:45:00 · 983 阅读 · 0 评论 -
传智播客-邮件开发(5)-Base64与Quoted-printable编码方式
邮件开发中,对非ASCII码数据传输用了两种编码方式:Base64和Quoted-printable(在outlook中有个选项可以查看到)。该文主要是介绍这两种编码方式的算法思想。 Base64Base64是将二进制转换成可打印的ASCII字符的一种最常见的编码方式,它的基本原理是将一组连续的字节数据按6个bit位进行分组,然后对每组数据用一个ASCII字符来表示。6个bit位最多能表示原创 2010-03-15 23:05:00 · 1221 阅读 · 0 评论 -
传智播客-jpa与hibernate(3)-继承映射
Hibernate支持三种基本的继承映射策略:每个类分层结构一张表(table per class hierarchy),每个子类一张表(table per subclass),每个具体类一张表(table per concrete class),此外,Hibernate还支持第四种稍有不同的多态映射策略--隐式多态(implicit polymorphism) 。这里只介绍前三种,最后一种请参阅原创 2010-01-02 23:22:00 · 1801 阅读 · 0 评论 -
传智播客-jpa与hibernate(2)-CRUD和关联关系
(传智播客ms很多关于“数据”的课程都是徐培成老师讲的,hibernate、jpa、后面还有个数据采集课程,当然还有讲解其他课程,赞一下,课讲得确实很好,尤其是课上没有半句废话--对于号称笔记狂的本人而言恨不得每个字都记下来,而且看得出确实经验丰富。当然,本人博客里提到的其他老师也都很好~最最起码的,能看出大家都很敬业。本人一直都认为,做事最重要的就是看态度。常言道:能力可以培养,态度难以改变 >原创 2009-12-31 23:55:00 · 1243 阅读 · 0 评论 -
传智播客-jpa与hibernate(1)-实体和主键生成
jpa全称是Java Persistence API,是sun公司出台的面向数据持久化层的规范,即面向接口编程,以达到“平台”无关性(这个“平台”是指jpa产品,例如hibernate,toplink,openjpa等)。hibernate是符合jpa规范的产品之一。 说到数据持久化,先说一下以下几点:1、对于数据持久化的思想而言,内存只是一个交换数据的地方,这意味着如果断电或者进程被杀,原创 2009-12-30 21:56:00 · 1168 阅读 · 0 评论 -
传智播客-邮件开发(4)-Java Mail开发实践
使用Java Mail API发送一封简单的邮件通常包括以下几个方面:1、创建包含邮件服务器的网络连接信息的session对象;2、创建代表邮件内容的message对象--MimeMessage类表示整封邮件;MimeBodyPart类表示邮件的一个MIME消息,只有调用了setFileName方法的MimeBodyPart对象才能成为附件;MimeMultipart类表示一个由多个MIME消息组原创 2010-03-13 23:01:00 · 1863 阅读 · 0 评论 -
传智播客-多线程(3)-同步
虽然说是多线程,但是每一个时刻点jvm执行的时候只能执行一句代码,对于一段程序而言,或者说一个业务流而言,代码的执行是在多个线程里相互不断切换的,即一个业务流中多个任务的分派在执行过程中的顺序是不定的。以下面的代码为例:public static void main(String[] args) { Runnable tt = new TicketThread(); new原创 2010-02-27 00:06:00 · 854 阅读 · 0 评论 -
传智播客-web service(8)-利用xfire开发WS应用
xfire概述xfire是下一代java soap框架,提供了方便的API(就应用而言,xfire比axis还要方便点),支持多种绑定机制、容器和传输方式,支持各种标准,性能优良等等,下面是xfire特性的大致列表(如有遗漏,欢迎补充~):1.支持多个WS标准(soap、wsdl、ws-I、basic Profile ws-addressing、ws-security)。2.高性能soap栈(使用原创 2010-02-18 23:03:00 · 1252 阅读 · 0 评论 -
传智播客-web service(5)-利用axis开发WS应用
Axis1、再说soap。前文说过,soap是基于xml的通信协议和编码格式以便用于应用程序间通信。最初是由微软和userland构思,已经历了几代的发展,当前是soap1.2,尽管版本1.1很普遍。W3C的xml协议工作组负责这一规范。soap被广泛认为是跨平台、跨语言分布式计算应用的新一代支撑. web services是一种技术方案,而在这个方案中用得最广泛的技术实现就是soap。原创 2010-02-15 23:24:00 · 1306 阅读 · 0 评论 -
传智播客-struts2(4)-OGNL
struts2里的OGNL很好很强大!最最有力的证据就是:张老师花了strtuts2总课程一半以上的时间来讲解滴~~~ OGNLOGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目。Struts2框架使用OGNL作为默认的表达式语言。 相对EL表达式,它提供了平时我们需要的一些功能,如支持对象方法调用,如xxx.s原创 2010-02-02 23:23:00 · 1486 阅读 · 0 评论 -
传智播客-二叉树(1)
--仅以此文纪念俺“逝去”的巴巴运动网学习笔记(泪。。) 说明:来传智之前我已经把网上的巴巴运动网项目视频(http://www.itcast.cn/video)整个过了一遍,代码也整个敲了一遍(以图明示),还做了不少笔记,包括老师讲课内容的笔记,自己的一些理解,写代码时候遇到的一些问题等等,本打算以此写几篇博文的,但是,但是!世界上总有一些不幸的事情会发生!! 因为我看的视频翻译 2009-12-02 23:43:00 · 1004 阅读 · 2 评论 -
传智播客-struts2(3)-Servlet API访问、拦截器以及struts2的小bug
先讲个小技巧:如何让eclipse辅助提示struts.xml文件的编写。 一般情况下,如果计算机连接上了internet,eclipse能根据dtd文件的url地址自动下载和缓存该dtd文档,以后没有连接上internet也可以自动提示,这可以通过查看eclipse的cache看到。事实上,现在很多人开发时可能都是连的internet,但是也有某些情况不能联网,例如有的公司开发时不允许连原创 2010-02-01 21:47:00 · 1705 阅读 · 0 评论 -
传智播客-二叉树(2)
--仅以此文纪念俺“逝去”的巴巴运动网学习笔记(泪。。) 说明:1、二叉树只是笔试或面试的众多可能的考题之一,可以试听传智博客的网络直播课程--java面试与指导http://www.itcast.cn/itcast_static/javajz1.htm,不定期开播,一般由张孝祥老师主讲;还有毕老师的java基础,对于有志从事java但又没有基础或基础薄弱的人来说,这是个好入门,而最最重要翻译 2009-12-03 23:46:00 · 740 阅读 · 1 评论 -
传智播客-前言
本人刚参加传智播客2009年11月25日的项目冲刺班。 之前经历太坎坷了点。 被某培训机构欺骗了大半年后,最终找工作时遇到了瓶颈,放弃的话觉得可惜,毕竟已经投入了大量的金钱、时间和精力(声明下:投入的精力和之前那个培训机构没太大关系,教的东西都不够塞牙缝,主要是自己自学了很多),再说自己对敲代码还是很有兴趣的,当一段代码最终运行成功,尤其是自己想象的一些功能做出来后,这种成就感是不原创 2009-12-01 22:47:00 · 655 阅读 · 5 评论 -
传智播客-struts2(2)-请求路径与filter处理机制
请求路径-action名称搜索顺序1、获得请求路径的URI,例如url是:http://server/struts2/path1/path2/path3/test.action 2、首先寻找namespace为/path1/path2/path3的package,如果不存在这个package则执行步骤3;如果存在这个package,则在这个package中寻找名字为test的action,原创 2010-01-28 23:49:00 · 1606 阅读 · 1 评论