【java基础编程】三十个经典知识总结
- 浏览:64
- |
- 更新:2015-02-08 17:21
- |
- 标签: java
新手如何学习编程?首先能不能学会,跟是不是计算机专业没有太大的关系,只能说计算机专业的因为以前学过,上手快一点,所以最主要的还是你感不感兴趣,或者说你急需要掌握一门技能来养活自己。 新手程序员在学习编程之前首先要考虑清楚你是否适合这个行业,是否喜欢编写代码,如果是肯定,那么你就可以开始求学之路了。
学习Java之前,先别急,静下心来好好想想:
1)你对学习Java是否有兴趣?
2)你是否能静下心来坚持不懈地学习?
如果你对于Java感兴趣,你想静下心来学习Java,但仅仅是因为自学让你烦恼, 你可以加球球裙422加中间912最后489,5年开发经验的高手教你如何学习JAVA,并录制最新的教程让你能够更快的成长和学习。让你不在迷茫
面向对象的特点
-
抽象
抽象是或略一个主题中与当前目标的无关的因素,一边充分考虑有关的内容。抽象并不能解决目标中所有的问题,只能选择其中的一部分,忽略其他的部分。抽象包含两个方面:一是过程抽象;一是数据抽象。
继承
继承是一种联接类的层次模型,允许和鼓励类的重用,提供了一种明确的共性的方法。对象的一个新类可以从现有的类中派生,这叫做类的继承。心累继承了原始类的特性,新类称为原始类的派生类或者是子类,原始类称为新类的基类或者父类。子类可以从父类那里继承父类的方法和实现变量,并却允许新类增加和修改新的方法使之满足需求。
-
封装
封装就是把过程和数据包围起来。对数据的访问只是允许通过已经定义好的界面。面向对象就是基于这个概念,即现实世界可以描述为一系列完全自治,封装的对象,这些对象通过固定受保护的接口访问其他对象。
多态
多态性是指不同类的对象对同一个请求作出相应。多态性包括参数多态和包含多态。多态性语言具有灵活、抽象、行为共享、代码共享的优势。很好的解决了应用程序中同名的问题。
END
int 和 Integer 有什么区别
-
java提供了两种类型:引用类型和原始类型(内置类型)。int是java的原始数据类型,Integer是java为int提供的封装类。
java为每一种数据类型提供了自己的封装类:
原始数据类型 封装类
int Integer、boolean Boolean、char Character、byte Byte、short Short、long Long、float Float、double Double
引用类型和原始类型的行为完全不同,并且他们具有不同的语义,引用类型和原始类型具有不同的特征和用法,他们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型有用作某个类的实例数据时制定的缺省值。对象应用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。
END
final、finally、finalize的区别
-
final是一种声明属性,作用与类、方法和变量;final修饰的变量的值不能够再改变,final修饰的方面不能被覆盖,final修饰的类不能被继承。
finally是异常处理语句的一部分,表示总是执行。
finalize是object类的一个子方法,在垃圾回收器执行是调用回收对象的此方法,此方法可以被覆盖提供资源回收时的其他资源回收。如文件关闭等。
END
基本的数据类型
-
byte,int,long,double,char,boolean,float,short
String不是基本数据类型,java.util.String是final类,因此不能修改这个类,不能继承这个类。
为了节省空间,提高效率我们应该用StringBuffer。
END
assert什么时候使用
-
assertion(断言)在软件开发中使用中常见的调试方式,很多编程语言中都支持这种机制,在实现中,assertion就是在程序中的一条语句,他对一个boolean表达式进行检查,一个正确的程序必须保证这个boolean表达式的值是true。如果该值为false,说迷宫程序已经处于不正确的状态了,系统将给出警告或者退出。一般来说assertion用来保证程序最基本、关键的正确性,assertion检查通常在开发和测试时启动,为了提高效率,在软件发布后,assertion检查通常是关闭的。
END
启动线程使用run()还是start()
-
启动一个线程用start()方法,使线程所代表的虚拟处理机处于可运行的状态,这意味着它可以有JVM(java虚拟机)来调度和执行,这并不意味着线程就会立即执行。run()方法可以产生必须退出的标志来停止一个线程。
END
垃圾回收机制的优点,并考虑2种回收机制。
-
java语言中一个显著的特点就是引入了垃圾回收机制,使C++程序员最头痛的内存管理问题迎刃而解,他使得java程序员在编写承学的哦时候不用再考虑内润管理问题了,由于有了垃圾回收机制,java中的对象不再有“作用域”的概念,只是在对象引用的时候才有“作用域”,垃圾回收可以有效的防止内存泄漏,有效的使用可以使用的内存。
END
jsp中的内置对象
-
request--表示HttpServletRequest对象,它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie,header和session数据的游泳的方法。
response--表示HttpServletResponse对象,提供了几个用于设置送回浏览器响应的方法(如cookie头信息等)。
out--对象是java.jsp.JspWriter的一个实例,提供了几种方法使你能用于想浏览器返回输出结果。
pageContext--表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关的功能的方法。
session--表示一个请求的javax.servlet.http.HttpSession对象,session可以村相互用户的状态信息。
application--表示一个javax.servlet.ServletContext对象,这有助于查找有关servlet引擎和servlet环境的信息。
config--表示一个javax.servlet.ServletConfig对象,该对象用于存取servlet实例的初始化数据。
page--表示从该页面产生的一个servlet实例。
END
sleep()和wait()的区别?
-
sleep是线程类(thread)的方法。导致此线程暂停执行之地昂时间,给执行的机会给其他线程,但是监控状态依然保持,到时候后自动回复,调用sleep不会释放对象锁。
wait是object类的方法,对此对象发出wait方法导致本线程放弃对象锁,进入等待此对象的的呢古代锁定池,只有针对此对象发出notify方法(或者notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。
END
jsp页面中的跳转方式分别是什么?有什么区别?
-
有两种,分别是
< JSP:INCLUDE page="jjj.jsp" fresh="true">
< JSP:FORWARD page="nextpage.jsp">
区别:
前者页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面,执行完后就会回来,相当于函数调用,并且可以带有参数,后指完全转向新的页面,不会再回来。相当于个goto语句。
END
EJB与JavaBean的区别
-
JavaBean是可重复用的组件,对JavaBean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean,但是通常情况下,由于JavaBean是被容器所建(如tomcat等)的。所以JavaBean应具有一个参数的构造器,另外通常JavaBean还要实现serializable接口用于实现Bean的持久性,JavaBean实际上相当于微软Com模型中的本地进程中com组件,踏实不能被夸进程访问的,enterorise JavaBean相当于DCOM,即分布式组件,踏实基于java的与阿成方法的调用(RMI)技术的,所以EJB可以被远程访问(跨进成,跨计算机)但是EJB必须被部署在诸如websoere、weblogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问,EJB容器是EJB组建的代理,EJB组件由容器创建和管理。客户通过容器访问真正的EJB组件。