`
草帽当家的
  • 浏览: 24958 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论
文章列表
        The normal goal in object-oriented programming is for your code to manipulate references to the base type.(面向对象编程中的基本目的是:让代码只操纵对基类的引用)——引自Thinking in java         如果有一天,当你发现编程对你来说变得愈发简单时,回头看一看你写过的代码,你会恍然大悟——原来多态无处不在。书中常说,面向基类(接口)的编程使代码更容易写、更容易读、更容易维护,设计上也更容易实现、理解和改变。我觉得这不是重点,重要的是这些特性会让你越来越喜 ...
        这一切还要从CLASS文件说起。当我们在虚拟机上编写java文件时,虚拟机会动态地将java文件转换为以.class为后缀名的CLASS文件。那么这个ClASS文件又有什么作用呢?为什么我们删除java文件保留ClASS文件,在命令行中执行java filename程序仍能正常运行呢? 一、CLASS文件         1、概述            Java编译器将Java源文件指令翻译成虚拟机能识别的字节码,这些机器码被储存在以.class为扩展名的CLASS文件中。CLASS文件是可以运行在任何支持Java虚拟机的硬件平台和操作系统上的二进制文件。每个CLASS文件都 ...
        1995年,java这座摩天大厦拔地而起,Netscript披着java的睡衣一路尾行,终于在那个浏览器大战的年代脱颖而出,拿下了自己的半壁江山。然而,当javascript脱去这身华丽丽的睡衣时,你很难找到它与java在血缘上的半点关系。也许你会说java是面向对象的而js是基于对象的,他们都与对象有着或深或浅的联系。但是,无论从类与对象、继承或是多态中的任意一个角度出发,java能够实现的,js也能实现,只不过是语法上的差别而已。所以是面向对象还是基于对象,这是个问题!         不去讨论面向对象的问题,不去讨论精细的语法区别,但从整体上去看这两种语言,java就好比一 ...
        request的生命周期很短,只活动于浏览器向服务器的一次请求中,当请求执行完,当前对象也将被销毁掉。         request经常用来获取浏览器页面上输入的表格信息——用户名、密码诸如此类也可以在servlet中setAttribute("索引名","索引值")来存储一对object类型的键值对,通过forward或include方法实现请求跳转,区别只是前者不将response中的输出流信息输出,后者则进行输出。由于跳转还是在同一个请求中进行的,request对象并未被销毁,所以能从跳转到的页面中得到键值对中的值。 /** ...
        在创建动态web工程时,我们要创建一个servlet类,这时虚拟机会给我们自动生成两个处理浏览器请求的方法——doGet(request,response)和doPost(request,response)。但是大家都知道,无论是get请求还是post请求,一个service(request,response)方法通通搞定,所以我们一般习惯于用service方法来处理浏览器与服务器的交互。         重写了service(request,response)方法后,我删除了doGet()与doPost()两个方法。 /** * @see HttpServlet#doGe ...
        刚刚接触mysql,并且已经开始学习JDBC编程,以清晰方便的对数据库进行操作,避免了命令行的麻烦和冗余。         才学习了一些JDBC对数据库操作的简单应用,主要有连接数据库、对数据库进行增、删、改、查和事务处理机制。 //连接数据库 private void setUpConn() throws Exception{ //装载驱动 String driver = "com.mysql.jdbc.Driver"; Class.forName(driver).newInstance(); //指定数据库的本机地址 St ...
        网路协议通常分为不同的层次进行开发,并且每一层都各司其职。TCP/IP是一个四层协议系统,从处理硬件连接的底层协议向上依次是:链路层(设备驱动程序..)——网络层(IP..)——运输层(TCP\UDP)——应用层(应用程序)。 ...
        学习通信有将近一个月的时间了,从创建一个简单的服务器到今天用XMPP协议与字节流协议实现服务器与客户机的交互这段过程中,不仅感受到了自己技术上的薄弱,更体会到了作总结的必要性——一方面为自己的学习 ...
        当我们查看JDK时,不难发现除了Throwable类中定义了为数不多的方法外,几乎它的所有子类,无论是Error,或者是Exception都很少有方法定义,或方法重写,这间接的说明了一点——方法对于具体的错误或异常类是无关紧要的。我们往往关心的是错误或异常的名字,自己该怎么对自己的程序进行修改,看一下异常名,一目了然!         下面是一些我的一些实例总结!         一.Error总结         导致错误的原因主要是我们自己的逻辑错误,或原则上的错误导致了一些不可调和的结果!     1.栈溢出错误:在堆中不停的创建自身对象,行为就像递归调用没写结束条件一样! ...
        最近学习观察者模式的基本知识,无意中看到了一个关于观察者简单应用的小例子,例子写的很精妙,使我对生活中无所不在观察者模式有了进一步的认识,今天有幸将它改编成一个小游戏,美其名曰~~~魔法方块  ... 游戏介绍     一 在屏幕网格上放上方块,用随机选出的颜色给这些方块着色。           二 点击网格上的方块,如果紧挨被点击方块的方块在横向或纵向上有连续的且颜色相同的方块组合,则把方块组合的颜色改为和被点击方块相同的颜色。          三 当屏幕网格上所有的方块都相同时,游戏结束,弹出统计数据。        
        从某种角度来说,我们总是处于两种生活状态:观察者与被观察者。当处于观察者状态时,被观察的对象会向我们发出某种信息,使我们产生某种心理活动或行为状态的改变。当我们处于被观察者状态时,我们的行为 ...
        刚刚混迹在前沿的java江湖没多久,Sring的大名就已经如雷贯耳,据小道消息透露,java实例中60%的操作都是针对的字符串,对于它的真实性,小弟就无从考究了,毕竟,江湖总需要传言嘛!今天仔细的看了一下String类的API文档,果然名不虚传,茫茫多的构造器方法,可见其强大之处!由于能力的限制,小菜我只能对一些常用的方法进行简单的总结,希望大家多多指点。               首先,要注意一点String类是一个final类,也就是说它是一个终态类,不能被继承。其次它有繁多的构造器方法,对数组操作来说很方便,是具体情况而定,在这里就不一一赘述了。        下面是 ...
       学习java的这段时间里,碰到的异常已经数不胜数,认识的异常却只有两种,碰到最多的异常也是这两种——空指针异常(NullPointerException)与数组越界异常(ArrayIndexOutOfBoundsException)。对于这两种经常跟我们打交道的异常, ...
1.Static关键字         谈到static,我们通常会说它是一个静态修饰符,究竟什么才是静态修饰符,这个解释起来有些棘手,也很难让人理解它的意思。这就像让我们解释一个成语的意思,我们直接从成语词典里读出它的释义一样,生涩难懂,让人摸不着头脑。所以,当我们解释一个词时,往往要将其具体化——这个词有什么作用,应用在哪,会产生什么样的效果。         Static可以用来修饰属性、方法、构造静态块。           1.当static修饰属性时,可以创建具体的对象来调用该属性,也可以直接通过类名调用该属性。当创建对象调用该属性时,每个对象共同拥有一个静态成员变量,也就是说当 ...
Global site tag (gtag.js) - Google Analytics