自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HashMap 和 HashTable 有什么区别?

HashMap 是线程不安全的,HashMap 是一个接口,是 Map 的一个子接口,是将键映射到值的对象,不允许键值重复,允许空键和空值;由于非线程安全,HashMap 的效率要较HashTable 的效率高一些.HashTable 是线程安全的一个集合,不允许 null 值作为一个 key 值或者 Value 值;HashTable 是 sychronize,多个线程访问时不需要自己为...

2019-03-17 22:36:01 89

原创 Java 中有几种类型的流

按照流的方向:输入流(inputStream)和输出流(outputStream)。按照实现功能分:节点流(可以从或向一个特定的地方(节点)读写数据。如 FileReader)和处理流(是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如 BufferedReader。处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接。)按照处...

2019-03-16 11:48:04 171

原创 break 和 continue 的区别?

break 和 continue 都是用来控制循环的语句。break 用于完全结束一个循环,跳出循环体执行循环后面的语句。continue 用于跳过本次循环,执行下次循环。...

2019-03-15 20:33:10 101

原创 ==和 equals 的区别?

equals 和== 最大的区别是一个是方法一个是运算符。==:如果比较的对象是基本数据类型,则比较的是数值是否相等;如果比较的是引用数据类型,则比较的是对象的地址值是否相等。equals():用来比较方法两个对象的内容是否相等。注意:equals 方法不能用于基本数据类型的变量,如果没有对 equals 方法进行重写,则比较的是引用类型的变量所指向的对象的地址。...

2019-03-14 22:19:59 69

原创 & 和 && 的区别

&运算符有两种用法:(1)按位与;(2)逻辑与。&&运算符是短路与运算。逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true 整个表达式的值才是 true。&&之所以称为短路运算是因为,如果&&左边的表达式的值是 false,右边的表达式会被直接短路掉,不会进行运算。很多时候我们可能都需要用&&a...

2019-03-13 23:37:54 714

原创 List 的三个子类的特点

ArrayList 底层结构是数组,底层查询快,增删慢。线程不安全,效率高LinkedList 底层结构是链表型的,增删快,查询慢。voctor 底层结构是数组 线程安全的,增删慢,查询快。线程安全,效率低...

2019-03-12 18:39:38 220

原创 什么是 java 序列化,如何实现 java 序列化?

序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。序 列 化 的 实 现 : 将 需 要 被 序 列 化 的 类 实 现 Serializable 接 口 , 该 接 口 没 有 需 要 实 现 的 方 法 ,implements Serializab...

2019-03-11 23:46:25 305

原创 throw 和 throws 的区别。

throw:1)throw 语句用在方法体内,表示抛出异常,由方法体内的语句处理。2)throw 是具体向外抛出异常的动作,所以它抛出的是一个异常实例,执行 throw 一定是抛出了某种异常。throws:1)throws 语句是用在方法声明后面,表示如果抛出异常,由该方法的调用者来进行异常的处理。2)throws 主要是声明这个方法会抛出某种类型的异常,让它的使用者要知道需要...

2019-03-10 22:40:37 93

原创 final、finally、finalize 的区别?

1)final:用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,被其修饰的类不可继承。2)finally:异常处理语句结构的一部分,表示总是执行。3)finalize:Object 类的一个方法,在垃圾回收器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。该方法更像是一个对象生命周期的临终方法,当该方法被系统调用则代表该对象即将“死...

2019-03-09 19:36:56 289

原创 String、StringBuffer、StringBuilder 的区别?

(1)、可变不可变String:字符串常量,在修改时不会改变自身;若修改,等于重新生成新的字符串对象。StringBuffer:字符串变量,在修改时会改变对象自身,每次操作都是对 StringBuffer 对象本身进行修改,不是生成新的对象;使用场景:对字符串经常改变情况下,主要方法:append(),insert()等。(2)、线程是否安全String:对象定义后不可变,线程安全...

2019-03-08 21:46:28 56

原创 线程和进程的区别?

进程:具有一定独立功能的程序关于某个数据集合上的一次运行活动,是操作系统进行资源分配和调度的一个独立单位。线程:是进程的一个实体,是 cpu 调度和分派的基本单位,是比进程更小的可以独立运行的基本单位。特点:线程的划分尺度小于进程,这使多线程程序拥有高并发性,进程在运行时各自内存单元相互独立,线程之间内存共享,这使多线程编程可以拥有更好的性能和用户体验注意:多线程编程对于其它程序是不友...

2019-03-07 23:15:50 60

原创 多线程的创建方式

(1)、继承 Thread 类:但 Thread 本质上也是实现了 Runnable 接口的一个实例,它代表一个线程的实例,并且,启动线程的唯一方法就是通过 Thread 类的 start()实例方法。start()方法是一个 native 方法,它将启动一个新线程,并执行 run()方法。这种方式实现多线程很简单,通过自己的类直接 extend Thread,并复写 run()方法,就可以启动新...

2019-03-06 20:41:48 67

原创 简述一下 hibernate 的开发流程

第一步:加载 hibernate 的配置文件,读取配置文件的参数(jdbc 连接参数,数据 库方言,hbm 表与对象关系映射文件)第二步:创建 SessionFactory 会话工厂(内部有连接池)第三步:打开 session 获取连接,构造 session 对象(一次会话维持一个数据连接, 也是一级缓存)第四步:开启事务第五步:进行操作第六步:提交事务第七步:关闭 s...

2019-03-05 20:17:12 343

原创 java 异常处理机制

Java 对异常进行了分类,不同类型的异常分别用不同的 Java 类表示,所有异常的根类为 java.lang.Throwable,Throwable 下面派生了两个子类Error 和Exception。Exception 表示程序还能够克服和恢复的问题,其中又分为系统异常和普通异常,系统异常是软件本身缺陷所导致的问题,也就是软件开发人员考虑不周所导致的问题,软件使用者无法克服和恢复这种问...

2019-03-04 20:21:47 68

原创 Java 中异常分为哪些种类

1)按照异常需要处理的时机分为编译时异常(也叫强制性异常)也CheckedException 和运行时异常(也叫非强制性异常)也叫 RuntimeException。只有 java 语言提供了 Checked 异常,Java 认为 Checked异常都是可以被处理的异常,所以 Java 程序必须显式处理 Checked 异常。如果程序没有处理 Checked 异常,该程序在编译时就会发生错误无法编...

2019-03-03 23:21:37 1158

原创 抽象类(abstract class)和接口(interface)有什么异同?

不同:抽象类:1.抽象类中可以定义构造器、抽象方法和普通方法、变量、常量、全局常量2.抽象类中的成员可以是 private、默认、protected、public3.有抽象方法的类必须被声明为抽象类,而抽象类未必要有抽象方法4.一个子类只能继承一个抽象类接口:1.接口中只能包含抽象方法和全局常量2.接口中的成员全都是 public 的。、;3.一个类可以实现多个...

2019-03-02 21:13:21 106

原创 int 和 Integer 有什么区别?

Java 是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,为了能够将这些基本数据类型当成对象操作,Java 为每一个基本数据类型都引入了对应的包装类型(wrapper class),从 Java 5 开始引入了自动装箱/拆箱机制,使得二者可以相互转换。1、int 的包装类就是Integer,2、Integer变量必须实例化之后才能使用,而int变量不需要...

2019-03-01 22:40:55 92

原创 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

答:是值传递。Java 语言的方法调用只支持参数的值传递。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的属性可以在被调用过程中被改变,但对对象引用的改变是不会影响到调用者的。C++和 C#中可以通过传引用或传输出参数来改变传入的参数的值。...

2019-02-28 20:01:21 479

原创 静态嵌套类和内部类的不同?

静态嵌套类:Static Nested Class 是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。内部类:需要在外部类实例化后才能实例化。...

2019-02-27 19:59:41 1385

原创 阐述静态变量和实例变量的区别。

静态变量: 是被 static 修饰符修饰的变量,也称为类变量,它属于类,不属于类的任何一个对象,一个类不管创建多少个对象,静态变量在内存中有且仅有一个拷贝;静态变量可以实现让多个对象共享内存。实例变量:必须依存于某一实例,需要先创建对象然后通过对象才能访问到它。...

2019-02-26 20:49:18 148

原创 四个访问修饰符的区别?

访问权限修饰符 public、private、protected, 以及不写(默认)时的区别。private 作用域在本类中,默认的作用域是本类和同一个包中,protected作用域是本类中,同一个包中,不同包的子类中。public 同一个工程(全局)...

2019-02-25 16:48:46 1225

原创 简单介绍一下 Struts2

1. 简单介绍一下 Struts2Struts2 框架是一个按照 MVC 设计模式设计的 WEB 层框架,是在 struts 1 和 WebWork 的技术基础上进行了合并的全新的框架。其全新的 Struts 2 的体系结构与 Struts 1 的体 系结构差别巨大。Struts 2 以 WebWork 为核心,采用拦截器的机制来处理用户的请求, 这样的设计也使得业务逻辑控制器能够与 Serv...

2019-02-24 10:57:27 220

原创 面向对象的特征

面向对象都有哪些特性以及你对这些特性的理解1)继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段。2) 封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象的本质就是将现实世界描绘成一系列完全...

2019-02-23 09:23:50 62

转载 struts2

一、struts2框架Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2在Struts1融合webwork。ONGL表达式:就是对象图形化导航语言,在前端页面中,访问action的属性、方法;类似于认为就是对JSP的封装,是编程更加方便。(以...

2019-01-02 22:31:24 57

空空如也

空空如也

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

TA关注的人

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