`
侯上校
  • 浏览: 228648 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
第一讲SAX解析器 提出问题:有个作家构思了一部小说,我们读者要想看到这部小说,有什么办法? 有人说了:可以让作家把构思的这部小说写下来,然后印刷出版,我们不就可以看啦。这就类似与我们上一章学过的DOM解析过程。先建造一个印刷工厂,再搭建一条用于印刷的流水线技术,然后作家的构思原稿经过加工,就生成了印刷版的书。我们就可以阅读了。 我们用java语言将以上DOM解析步骤写出来:(回顾上一讲内容) 第一步: DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance(); 实例化一个印刷工厂(factory) 第二 ...
之前了解过一点命令模式,总是感觉很难的理解;前天晚上看了一个关于命令模式的书,上面讲的感觉很好理解,所以我在这里给大家也分享一下: 话说西游记中齐天大圣【侯悟空】的事迹,玉皇老二为了不让石猴大闹与众卿家商议决定招安石猴,与是乎命令模式开始了…… 玉皇老二写了一道圣旨【命令】,圣旨是写给猴悟空的【接收者】;当然我们的玉皇大帝不会直接把圣旨宣给猴悟空的;委托给太白星金老头【请求者】去传达圣旨【命令】;玉皇大帝为我们的CLIENT角色; 其实client【玉皇大帝】做的事情:创建接收者【猴悟空】和命令【圣旨】并且在命令中写到接收者【猴悟空】,并把命令【圣旨】交 ...

线程调试

    博客分类:
  • JAVA
定义:指按照特定的机制为多个线程分配CPU的使用权 分类:A.分时调试模型《平均分配》          所有线程轮流获得CPU的使用权       B.抢占式调度模型          JVM采用这种,优先级最高的占用CPU 以下原因会放弃CPU使用权       A.JVM让当前线程暂时放弃CPU          B.当前线程由于某些原因而进入阻塞       C.线程运行结束

关于死锁

    博客分类:
  • JAVA
死锁的条件:    1.互斥条件:线程使用的资源必须至少有一个不可以共享,一个资源一次只能被一个线程访问    2.请求与保持条件:线程必须持有一个资源并且正等待获取一个当前被其它线程占有的资源    3.非剥夺条件:不能对线程正持有的资源强制性剥夺    4.循环等待条件:线程之间相互等待,都不愿把资源释放 如何避免死锁:    1.充分的了解死锁原因,这样可以有效的避免死锁       2.设计系统的时候避免死锁的那四个条件同时成立    3.避免线程在等待的时候占有资源    4.所有的线程按顺序来访问资源
package com.houning; public class Driver { public static void main(String[] args) { String s = "regbavcdbbsahha"; System.out.println(Driver.getFirstAndMost(s)); } public static  char getFirstAndMost(String str) { if(null != str) { int mostNum[] = new int[128]; int first ...

C++结构体编写

#include<iostream> using namespace std; /* *结构体就是一个可以包含不同数据类型的一个结构,它是一种可以自己定义的数据 *类型, */ struct test { int a;//定义结构体成员a int b;//定义结构体成员b }; /////////////////////////////////////////////////////// /*   *结构体当做函数的参数进行传递的   */ struct testFunctionParam { char name[10]; float socre; }; void p ...

C++类的编写

第一步:写一个类文件命名:Tdates.h class TDate { private: int year,month,day; public: TDate(int y, int m, int d); TDate(); void Print(); TDate operator+(TDate &c); }; TDate::TDate(int y, int m, int d) { year = y; month = m; day = d; } TDate::TDate() { year = 0; month = 0; day = 0; } void TDate::Pr ...

打印一棱形

#include<iostream.h> int main() { for(int x =0; x < 8; x++) { for(int y = 7; y >= 0; y--) { if(x >= y) { cout<<"* "; } else { cout<<" "; } } cout<<endl; } for(int i =0; i < 8; i++) { for(int j = 0; j &l ...
#include<iostream.h> int main() { cout<<"Hello World!!"<<endl; for(int i =1;i<=9;i++) { for(int j =1;j<=i;j++) { cout<<j<<"*"<<i<<"="<<(i*j)<<" "; } cout<<endl; } for(int i = 1, k ...
<result type="dispatcher">index.jsp</result> dispatcher:默认,服务器forword redirect (重定向,发起新的request) chain (可以跳向另外一个Action) redirectAction (跳向另外一个action,并且发起新的request) stream (下载时用到) freemarker 动态结果集 <result>${name}</result> 这是从值站读取的
JAVA可以通过JNI接口访问本地的动态连接库,从而扩展JAVA的功能。使用JAVA JNI接口主要包括以下步骤: (1)编写JAVA代码,注明要访问的本地动态连接库和本地方法; (2)编译JAVA代码得到.class文件; (3)使用javah -jni 生成该类对应的C语言.h文件; (4)使用C/C++实现(3)生成的.h文件中声明的各函数; (5)编译C/C++实现代码生成动态连接库。 本文使用一个简单的helloWorld示例演示JNI的使用。 (1)编写JAVA代码 public class helloWorld {     public native void SayHello( ...
当为某个action提供了ActionClassName-validation.xml和ActionClassName-ActionName-validation.xml两种规则的校验文件时,系统按下面顺序寻找校验文件: 1。AconClassName-validation.xml 2。ActionClassName-ActionName-validation.xml 系统寻找到第一个校验文件时还会继续搜索后面的校验文件,当搜索到所有校验文件时,会把校验文件里的所有校验规则汇总,然后全部应用于action方法的校验。如果两个校验文件中指定的校验规则冲突,则只使用后面文件中的校验规则。 当act ...
当校验文件的取名为ActionClassName-validation.xml时,会对 action中的所有处理方法实施输入验证。如果你只需要对action中的某个action方法实施校验,那么,校验文件的取名应为:ActionClassName-ActionName-validation.xml,其中ActionName为struts.xml中action的名称。例如:在实际应用中,常有以下配置: <action name="user_*" class="cn.itcast.action.UserAction" method="{1}“ ...
required  必填校验器 <field-validator type="required">        <message>性别不能为空!</message> </field-validator> requiredstring  必填字符串校验器 <field-validator type="requiredstring">        <param name="trim">true</param>        <message> ...
系统提供的校验器如下: required (必填校验器,要求field的值不能为null) requiredstring (必填字符串校验器,要求field的值不能为null,并且长度大于0,默认情况下会对字符串去前后空格) stringlength(字符串长度校验器,要求field的值必须在指定的范围内,否则校验失败,minLength参数指定最小长度,maxLength参数指定最大长度,trim参数指定校验field之前是否去除字符串前后的空格) regex(正则表达式校验器,检查被校验的field是否匹配一个正则表达式.expression参数指定正则表达式,caseSensitive参数 ...
Global site tag (gtag.js) - Google Analytics