Welcome 微信登录

首页 / 软件开发 / JAVA

Java线程机制(三) synchronized和volatile的使用

Java线程机制(三) synchronized和volatile的使用

Java线程机制(三) synchronized和volatile的使用2013-12-07 cnblogs 文酱现在开始进入线程编程中最重要的话题---数据同步,它是线程编程的核心,也是难点,就算我们理解了 数据同步的基本原理,但是我们也无法保证能够写出正确的同步代码,但基本原理是必须掌握的。要 想理解数据同步的基本原理,首先就要明白,为什么我们要数据同步?public class CharacterDisplayCanvas extends JComp...
Java线程机制(五) 等待与通知机制

Java线程机制(五) 等待与通知机制

Java线程机制(五) 等待与通知机制2013-12-07 cnblogs 文酱在之前我们关于停止Thread的讨论中,曾经使用过设定标记done的做法,一旦done设置为true,线程就会 结束,一旦为false,线程就会永远运行下去。这样做法会消耗掉许多CPU循环,是一种对内存不友好的行为。java中的对象不仅拥有锁,而且它们本身就可以通过调用相关方法使自己成为等待者和通知者。Object对象本身有两个方法:wait()和notify()。wait()...
层层递进Struts1(一)之由Servlet引入Struts

层层递进Struts1(一)之由Servlet引入Struts

层层递进Struts1(一)之由Servlet引入Struts2013-12-07 李达 在说Struts1之前,我们先来使用Servlet编写一个程序从而了解Struts产生原因和用途:一个简单的增删 改查,我们来看一下使用Servlet是如何实现的,为了形象说明,我们从最基本的开始写,然后逐步递进。第一版这一版我们使用最常规的做法,增删改查每个功能都使用自己的Servlet,内容如下:文件树index.jsp<form action="...
层层递进Struts1(二)之Struts1简介及登录实例

层层递进Struts1(二)之Struts1简介及登录实例

层层递进Struts1(二)之Struts1简介及登录实例2013-12-07 李达 上篇博客由Servlet的几个版本的例子,引出在页面跳转控制方面要解决的问题,在文章最后提到了 Struts1,这篇文章目的是解释一下什么是Struts1,及如何使用的问题。什么是Struts1说一 下我的理解:它符合MVC思想,使用Java二次开发封装的一个框架,主要简化、解决页面请求分发、跳转的问 题。Stuts1的优点是使用了丰富的配置文件使得灵活性大大提高;因为已...
层层递进Struts1(三)之Struts组成

层层递进Struts1(三)之Struts组成

层层递进Struts1(三)之Struts组成2013-12-07 csdn 李达这篇博客我们来说一下Struts的主要组成我们,通过前几篇博客,我们知道这个框架最重要的几个步骤: 获取路径、封装表单、获取转向列表、转向逻辑处理、转向,与此对应的是:ActionServlet、ActionForm、 ActionMapping、Action、ActionForward。ActionServlet这个在上篇博客已经说明,可以访 问《 预加载ActionSer...
层层递进Struts1(四)之预加载ActionServlet

层层递进Struts1(四)之预加载ActionServlet

层层递进Struts1(四)之预加载ActionServlet2013-12-07 csdn 李达Struts的执行相当于分为两个阶段,预加载阶段和执行阶段,预加载阶段是指在Tomcat启动之时就开始执 行的内容,而此时我们并未真正进入跳转逻辑,这篇博客我们来分析一下预加载阶段。配置文件还记得web.xml中关于Struts的Servlet是如何配置的吗?<servlet-name>action</servlet-name><...
层层递进Struts1(五)之处理流程

层层递进Struts1(五)之处理流程

层层递进Struts1(五)之处理流程2013-12-07 csdn 李达这篇博客我们深入Struts框架执行部分源码,从ActionServlet的process函数开始,看一下其内在的执行 过程。流程图以下流程图展示的是ActionServlet和RequestProcessor两个类用到的函数,如RequestProcessor调用的 其它类的函数不再说明。函数说明我们选择几个重要的函数说明,其它函数则简单说明一下即可。ActionServletpr...
层层递进Struts1(七)详解DispatchAction

层层递进Struts1(七)详解DispatchAction

层层递进Struts1(七)详解DispatchAction2013-12-07 csdn 李达通过前面几篇博客,不知道大家有没有发现这个问题,虽然现在可以灵活控制跳转了,但是Action的数量 还是比较多,如何既能保证跳转灵活,还能减少Action的数量?这就是我们这篇博客所说的DispatchAction, 如其名,可以理解为“分发式Action”,使用它可以避免为每个Action创建一个类。我们先来看一下 实例。UserAct...
层层递进Struts1(八)之总结

层层递进Struts1(八)之总结

层层递进Struts1(八)之总结2013-12-07 csdn 李达先来看一下Struts1学习总结的思维导图,画的主要是Struts1中的重点和博客分布,如下所示:系列博客的侧重点是:Struts1是什么?为什么要使用它?如何使用Struts1?Struts1源码分析 ?总结学完后综合看来,所谓的Struts1框架,实际是利用java已存在的函数二次封装所得,它侧重于解 决MVC中V和部分C的控制问题,较多使用配置文件,很大程度上减少了文件个数和代码重...
Java SE 8: Lambda表达式

Java SE 8: Lambda表达式

Java SE 8: Lambda表达式2013-12-07 infoq 成富Java SE 8在6月13的版本中已经完全了全部的功能。在这些新的功能中,lambda表达式是推动该版本发布 的最重要新特性。因为Java第一次尝试引入函数式编程的相关内容。社区对于lambda表达式也期待已久。 Lambda表达式的相关内容在JSR 335中定义,本文的内容基于最新的规范和JDK 8 Build b94。 开发环境使用 的是Eclipse。Lambda表达式要...
Rails开发细节(四)Transactions事务

Rails开发细节(四)Transactions事务

Rails开发细节(四)Transactions事务2013-12-11 51cto virusswb译事务在数据库应用开发中是相当重要的,尤其是在关系数据库中。典型的例子就是银行在转账,在两个账 户之间转账。account1.deposite(100) account2.withdraw(100)在ActiveRecord中使用transaction方法执行一段block来实现事务。在 block的最后,会提交事务,更新数据库,如果在block中发生异常...
Rails开发细节(六)ActiveRecord Validationa and Callbacks验证和回调

Rails开发细节(六)ActiveRecord Validationa and Callbacks验证和回调

Rails开发细节(六)ActiveRecord Validationa and Callbacks验证和回调2013-12-111.对象生命周期通常情况下,在rails应用中,对象会被创建,修改和删除。ActiveRecord针对这些对象提供了拦截,你可以控制你的应用和这些对象。验证保证了存入数据库的数据都是有效的。回调和观察者允许你在对象状态发生变化的前后进行一些逻辑操作。2.验证2.1.为什么需要验证验证保证了只有合法的数据才可以存入数据库。例如,你...
Rails开发细节(七)ActiveRecord Associations关联

Rails开发细节(七)ActiveRecord Associations关联

Rails开发细节(七)ActiveRecord Associations关联2013-12-111.为什么需要关联很多时候,比如说电子商务中的用户和订单,一个用户会有很多的订单,一个订单只属于一个用户,这就是一种关联。在创建订单的时候需要用户主键作为外键,删除用户的的同时需要删除用户的订单。在rails中可以向下面这样订单关联。class Customer < ActiveRecord::Base has_many :orders, :depend...
<< 561 562 563 564 565 566 567 568 569 570 >>