自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

转载 JDBC原理

JDBC是什么Java Database Connectivity:Java访问数据库的解决方案。JDBC是Java应用程序访问数据库的里程碑式解决方案。Java研发者希望用相同的方式访问不同的数据库,以实现与具体数据库无关的Java操作界面。JDBC定义了一套标准接口,即访问数据库的通用API,不同的数据库厂商根据各自数据库的特点去实现这些接口。JDBC接口及

2017-03-02 15:54:56 634

转载 Oracle视图,序列,索引,约束

视图什么是视图视图(VIEW)也被称作虚表,即虚拟的表,是一组数据的逻辑表示,其本质是对应于一条SELECT语句,结果集被赋予一个名字,即视图名字。视图本身并不包含任何数据,它只包含映射到基表的一个查询语句,当基表数据发生变化,视图数据也随之变化。CREATE[ORREPLACE]VIEW view_name[(alias[, alias…])]AS

2017-03-01 22:52:14 684

原创 数据库原理

DB和DBMS数据库(Database,简称DB)是按照数据结构来组织、存储和管理数据的仓库。数据库管理系统(Database Management System,简称DBMS):管理数据库的软件。数据库建立了数据之间的联系,使用结构化的方式组织和处理数据,能够统一、集中及独立的管理数据,使数据的存取独立于使用数据的程序,实现了数据共享。数据库的典型特征包括:数据的结构化,数据间的

2017-02-26 12:38:30 822

转载 Servlet如何运行

Servlet运行的步骤Servlet作为Web服务器的补充功能在运行时需要受到Servlet容器的管理,其运行的流程如下:1.浏览器依据IP建立与容器的连接2.浏览器将请求数据打包3.容器解析请求数据包,封装request和response对象4.容器依据请求资源路径找到Servlet创建对象5.容器将request和response对象作为参数传入service方法

2017-02-23 17:24:35 1683

转载 HTTP请求的GET与POST方式的区别

HTTP定义了与服务器交互的不同方法,其中最基本的四种:GET,POST,PUT,DELETE,HEAD,其中GET和HEAD被称为安全方法,因为使用GET和HEAD的HTTP请求不会产生什么动作。不会产生动作意味着GET和HEAD的HTTP请求不会在服务器上产生任何结果。但是安全方法并不是什么动作都不产生,这里的安全方法仅仅指不会修改信息。根据HTTP规范,POST可能会修改服务器上的资源的

2017-02-23 17:03:38 963

转载 request.getAttribute() 和 request.getParameter() 有何区别

getParameter 得到的都是 String 类型的。或者是 http://a.jsp?id=123 中的 123,或者是某个表单提交过去的数据。从更深的层次考虑,request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据。request.getParameter()方法返回String类型的数据。getParam

2017-02-22 12:18:02 4221

转载 forward() 与redirect()的区别

用户向服务器发送了一次HTTP请求,该请求肯能会经过多个信息资源处理以后才返回给用户,各个信息资源使用请求转发机制相互转发请求,但是用户是感觉不到请求转发的。根据转发方式的不同,可以区分为直接请求转发(Forward)和间接请求转发(Redirect)两种。Forward和Redirect代表了两种请求转发方式:转发和重定向转发方式(Forward),客户端和浏览器只发出一次请求,Se

2017-02-22 10:20:55 705

转载 解释一下什么是servlet

Servlet是一种独立于平台和协议的服务端的java技术,可以生成动态WEB页面与传统的CGI(计算机图形接口)和其他类似的CGI技术相比。Servlet具有更好的可移植性。更强大的功能,更少的投资,更高的效率,更好的安全性。servlet是使用java Servlet应用程序接口(API)及相关类和方法的java程序。java语言能够实现的功能Servlet基本都能够实现。(除了图形化界面

2017-02-21 16:46:55 2042 1

转载 HTTP请求的GET与POST方式的区别

什么是HTTP?超文本传输协议(是一个设计来使客户端和服务器顺利进行通讯的协议。HTTP在客户端和服务器之间以r(请求-回复协议)工作。GET - 从指定的服务器中获取数据POST - 提交数据给指定的服务器处理GET方法:使用GET方法时,查询字符串(键值对)被附加在URL地址后面一起发送到服务器:特点:有关

2017-02-21 11:25:21 566

转载 BS与CS的联系与区别

BS与CS的联系与区别C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、InFORMix或 SQL Server。客户端需要安装专用的客户端软件。B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Ex

2017-02-20 18:08:38 452

转载 Collection框架的结构

Collection框架集合框架(Collection Framework)泛指java.util包的若干个类和接口。如Collection,List,ArrayList,LinkedList,Vector(自动增长数组),HashSet,HashMap等。Collection框架中实现比较要实现什么接口? Comparable/comparator Java类集框架的优势

2017-02-20 12:08:07 997

转载 线程的基本概念、线程的基本状态以及状态之间的关系

什么是线程一个线程是进程的一个顺序执行流。同类的多个线程共享一块内存空间和一组系统资源,线程本身有一个供程序执行时的堆栈。线程在切换时负荷小,因此,线程也被称为轻负荷进程。一个进程中可以包含多个线程。进程与线程的区别一个进程至少有一个线程。线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序

2017-02-19 16:53:42 16740 1

转载 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

分几种情况:     1.其他方法前是否加了synchronized关键字,如果没加,则能。     2.如果这个方法内部调用了wait,则可以进入其他synchronized方法。     3.如果其他个方法都加了synchronized关键字,并且内部没有调用wait,则不能。4.如果其他方法是static,它用的同步锁是当前类的字节码,与非静态的方法不能同步,因为非静态的方法

2017-02-19 14:00:23 1445

转载 启动一个线程是用run()还是start()

1.start()方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码:通过调用Thread类的start()方法来启动一个线程,这时此线程是处于就绪状态,并没有运行。 然后通过此Thread类调用方法run()来完成其运行操作的, 这里方法run()称为线程体,它包含了要执行的这个线程的内容,Run方法运行结束,此线程终止,而CPU再运行其它

2017-02-19 12:09:23 3959

转载 thread和runnable的区别

Java多线程java中有两种实现多线程的方式: 1. 一种是通过继承Thread类,同时重写run()方法。但是java中,只允许单继承,也就是一个类只能继承一个父类,使得该方式具有一定的局限性,等下就知道了。 2. 另一种是实现Runnable类接口的run()方法,再结合Thread类来实现多线程。 两种方式最终都是通过调用start()方法来实现多线程。切记不能直接调用Th

2017-02-18 11:20:19 681

原创 java中有几种方法可以实现一个线程?

public class test28 {public static void main(String[] args) {Thread tr1=new TestThread(); //实例化线程tr1.start(); //启动线程Thread tr2=new Thread(new TestRunable());//实例化线程并传入线程体tr2.start(); /

2017-02-17 17:05:23 3328

转载 JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?

Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java中,每个异常都是一个对象,它是Throwable类或其子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并可以对其进行处理。Java 的异常处理是通过 5 个关键词来实现的:try、catch、throw、throws 和

2017-02-17 11:16:24 2527

转载 Java中的异常处理机制的简单原理和应用

异常是指java程序运行时(非编译)所发生的非正常情况或错误,与现实生活中的事件很相似,现实生活中的事件可以包含事件发生的时间、地点、人物、情节等信息,可以用一个对象来表示,Java使用面向对象的方式来处理异常,它把程序中发生的每个异常也都分别封装到一个对象来表示的,该对象中包含有异常的信息。 Java对异常进行了分类,不同类型的异常分别用不同的Java类表示,所有异常的根类为java.lan

2017-02-17 10:49:44 2250

转载 运行时异常与一般异常有何异同

Exception:表示可恢复的例外,这是可捕捉到的。Java提供了两类主要的异常:runtime exception和checked exception。checked 异常也就是我们经常遇到的IO异常,以及SQL异常都是这种异常。对于这种异常,JAVA编译器强制要求我们必需对出现的这些异常进行catch。所以,面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理可能的

2017-02-17 10:32:09 2991

转载 final, finally, finalize的区别

一.final如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在new一个对象时初始化(即只能在声明变量或构造器或代码块内初始化),而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用

2017-02-16 18:12:38 437

转载 try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

public static void main(String[] args) {System.out.println("结果为:"+new test27().test());}static int test(){int x=1;try {System.out.println("try里的x:"+x);return x;} finally {System.out.

2017-02-16 17:06:32 455

原创 如何把一段逗号分割的字符串转换成一个数组

public class test26 {public static void main(String[] args) {        /*         * 使用String的split方法         */String str="a,b,da,cz,gr,rr,q,fg,a";        String[] res1=str.split(",");   

2017-02-16 16:47:45 3421

转载 String 和StringBuffer还有StringBuilder的区别

String:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。用于存放字符的数组被声明为final的,因此只能赋值一次,不可再更改。StringBuffer:字符串变量(Synchronized,即线程安全)。如果要频繁对字符串内容进行修改,出于效率考虑最好使用StringBuffer,如果想转成String类型,可以调用StringBuffer的

2017-02-16 16:08:52 401

转载 String s = new String("xyz");创建了几个String Object? 二者之间有什么区别?

String s = new String("xyz");这个跟常量池没有关系,只要是new,都是重新分配堆空间,如果不区分栈和堆,这里创建了1个String Object。如果是从jvm角度来说的话,它是创建了两个对象,String s是在栈里创建了一个变量,new String("xyz")是在堆里创建了一个对象并被s引用到。如果是String s = "xyz",那就要看常量池里

2017-02-16 15:52:11 17588

转载 什么是内部类?

Inner Class(内部类)定义在类中的类Nested Class(嵌套类)是静态(static)内部类。1. 要创建嵌套类的对象,并不需要其外围类的对象。  2. 不能从嵌套类的对象中访问非静态的外围类对象。Anonymous Inner Class (匿名内部类)匿名的内部类是没有名字的内部类。匿名的内部类不能extends(继承)其它类,但一个内部类可以作为一个接口,由另

2017-02-16 12:04:31 550

转载 abstract class和interface有什么区别

在Java语言中,abstract class和interface是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间

2017-02-16 11:26:28 597

转载 hashCode方法的作用

1、hashCode的存在主要是用于查找的快捷性,如Hashtable,HashMap等,hashCode是用来在散列存储结构中确定对象的存储地址的;2、如果两个对象相同,就是适用于equals(Java.lang.Object) 方法,那么这两个对象的hashCode一定要相同;3、如果对象的equals方法被重写,那么对象的hashCode也尽量重写,并且产生hashCode使

2017-02-15 16:16:59 3587

转载 序列化接口的id有什么用

序列化Serializable的方式特别简单 实现Serializable接口,再在类中声明如下这一个属性即可。private static final long serialVersionUID = -3928832861296252415L;Serializable序列化的工作机制:序列化的时候系统会把当前类的serialVersionUID 写入序列化的文件中(也可能

2017-02-15 15:39:41 4974

转载 抽象类的作用

java抽象类的作用1.通过继承它实现多态,后期绑定,可以为将来要实现的东西做好接口,实现重用性。2.接口就是更纯粹的抽象类父类:A子类:a1,a2A obj1 = new A();A obj2 = new B();如果A有一个方法是show();子类实现了show(); 那么obj1.show()就是第一个子类的show();obj2.show()就是第二

2017-02-15 12:32:23 2260

转载 ClassLoader如何加载class

ClassLoader即类加载器,负责将 .class 文件(可能在磁盘上, 也可能在网络上) 加载到内存中, 并为之生成对应的Java.lang.Class 对象,当 JVM 启动时,会形成由三个类加载器组成的初始类加载器层次结构:bootstrap classloader ——> extension classloader ——> system classloaderbootstrap

2017-02-15 11:37:50 1493

转载 线程如何同步和通讯

什么是线程同步?当使用多个线程来访问同一个数据时,非常容易出现线程安全问题(比如多个线程都在操作同一数据导致数据不一致),所以我们用同步机制来解决这些问题。实现同步机制有两个方法:1、同步代码块:synchronized(同一个数据){} 同一个数据:就是N条线程同时访问一个数据。2、同步方法:public synchronized 数据返回类型 方法名(){}

2017-02-15 11:18:24 733

转载 Overload和Override的区别

override(重写,覆盖) 1、方法名、参数、返回值相同。 2、子类方法不能缩小父类方法的访问权限。 3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。 4、存在于父类和子类之间。 5、方法被定义为final不能被重写。overload(重载,过载) 1、参数类型、个数、顺序至少有一个不相同。   2、不能重载只有返回值不同的方法名。 3

2017-02-14 18:17:51 509

转载 作用域public,private,protected,以及不写时的区别

作用域       当前类    同一package      子孙类     其他package                      public            √                √                   √                √                      protected      √            

2017-02-14 17:55:07 1354

转载 if(username.equals(“zxx”){}

if(username.equals(“zxx”){}int  x = 1;return x==1?true:false;public static void method1(){String username="null";// if(username.equals("LBW")){   username为空时报空指针异常// System.out.println("

2017-02-14 17:37:39 4203

转载 Math类的方法

/** abs求绝对值*/System.out.println(Math.abs(-10.1)); //10.1System.out.println(Math.abs(10.4));  //10.4System.out.println("*************");/** ceil是天花板的意思,就是返回大的值,注意一些特殊值*/System.out.pri

2017-02-14 16:38:27 422

转载 Integer与int的区别

Java 为每个原始类型提供了包装类型:     - 原始类型: boolean,char,byte,short,int,long,float,double     - 包装类型:Boolean,Character,Byte,Short,Integer,Long,Float,Doubleint的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区

2017-02-14 11:41:22 446

转载 "=="和equals

"=="操作符的作用1、用于基本数据类型的比较2、判断引用是否指向堆内存的同一块地址。equals所在位置:在Object类当中,而Object是所有类的父类,包含在jdk里面,但并不适合绝大多数场景,通常需要重写public boolean equals(Object obj) { return (this == obj);

2017-02-13 22:19:10 262

转载 &和&&的区别

按位与:a&b是把a和b都转换成二进制数然后再进行与的运算;逻辑与:a&&b就是当且仅当两个操作数均为 true时,其结果才为 true;只要有一个为零,a&&b就为零。 public class Test {12 13 public static void main(String[] args) {14 String str = null;15

2017-02-13 17:53:57 462

转载 介绍Collection框架的结构;Collection 和 Collections的区别

Collection  是单列集合List元素是有序的、可重复有序的 collection,可以对列表中每个元素的插入位置进行精确地控制。可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。 可存放重复元素,元素存取是有序的。List接口中常用类Vector:线程安全,但速度慢,已被ArrayList替代。底层数据结构是数组结构

2017-02-06 17:30:36 900

转载 sleep() 和 wait() 有什么区别?

1、这两个方法来自不同的类分别是Thread和Object2、最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。3、wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用(使用范围) synchronized(x){ x.notify() //或者wa

2017-02-06 17:15:49 423

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除