自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

benhz的博客

走一步看一步等于没走

  • 博客(45)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java NIO与IO的比较

Java NIO与IO的比较IONIOIONIO基于阻塞I/O操作基于非阻塞I/O操作面向流的面向缓存的IO阻塞IO等待数据写入或返回前的读取。Java IO的各种流是阻塞的。这意味着当线程调用write()或read()时,线程会被阻塞,直到有一些数据可用于读取或数据被完全写入。面向流的流是单向写入数据NIO非阻塞IO不等待返回前读取或写入数据。...

2019-03-05 10:36:37 341

原创 Java NIO组件

NIO组件通道和缓冲区通道列表:缓冲列表选择器在Java中,NIO读写是I/O的基本过程。 从通道读取:创建一个缓冲区,然后请求通道读取数据。通道写入:创建一个缓冲区,填充数据,并要求通道写入数据。读写操作的核心部件:ChannelsBuffersSelectorsJava NIO还有其它更多的组件和类,但是Channel,Buffer和Selector用作API的核心。通道和缓...

2019-03-04 16:00:08 344

原创 Java NIO初步了解大概

Java NIO初步了解大概NIO为Java程序员实现高速I/O,而不使用自定义本机代码。 NIO将填充,排放缓冲区等的时间性I/O活动移回操作系统,从而大大提高了操作速度。Java NIO基本组件如下:通道和缓冲区(Channels and Buffers):在标准I/O API中,使用字符流和字节流。 在NIO中,使用通道和缓冲区。数据总是从缓冲区写入通道,并从通道读取到缓冲区。通...

2019-03-04 13:59:08 245

原创 Java I/O流

Java I/O流处理方式分类字符流字节流按照流的方向分类输入流输出流Java中的流对象输入字节流输出字节流字符输入流Reader字符输出流Writer字符流与字节流的转换何时使用转换流具体对象的体现FIleRandomAccessFile类Java I/O也就是流 io=流io是指对数据的输入和输出,i/o流主要分为两大类,字节流和字符流,字节流可以传输任何数据(图片啊,电影啊,文字啊),只...

2019-03-04 13:13:53 294

原创 Java8 函数式编程接口

Java 函数式接口其中有一个单一的功能,以显示出这些接口。接口函数名说明BiConsumer<T,U>表示接收两个输入参数和不返回结果的操作。BiFunction<T,U,R>表示接受两个参数,并产生一个结果的函数。BinaryOperator表示在相同类型的两个操作数的操作,生产相同类型的操作数的结果。BiPredicate...

2019-03-01 11:52:11 324

原创 Java 8 Lambda

Java8 新特性Lambda表达式Lambda表达式是在Java8中引入的,并号称是Java8的最大的特点. Lambda表达式有利于函数式编程,简化了开发了很多。下面是一个lambda表达式的重要特征:可选类型声明 - 无需声明参数的类型。编译器可以从该参数的值推断。可选圆括号参数 - 无需在括号中声明参数。对于多个参数,括号是必需的。可选大括号 - 表达式主体没有必要使用大括号,...

2019-02-26 16:00:37 105

原创 Java strictfp

Java strictfp关键字的作用strictfp关键字可以应用于方法,类和接口。strictfp关键字的非法代码Java strictfp关键字确保您将在每个平台上获得相同的结果,如果在浮点变量中执行操作。 不同平台的精度可能不同,这就是为什么java编程语言提供了strictfp关键字,它用于在每个平台上获得相同的结果。 所以,现在我们就可以更好的控制浮点数据类型运算了。strictf...

2019-02-26 10:24:28 204

原创 Java中安按值调用和引用调用问题

按值调用和引用调用Java中只有按值调用,没有引用调用示例:class Operation { int data = 50; void change(int data) { data = data + 100; } public static void main(String args[]) { Operation op =...

2019-02-25 17:50:54 280

原创 Java包装类

Java包装类java中的包装类提供了将原始数据类型转换为对象,以及将对象转换为原始数据类型的机制。是为了把原始数据当做对象进行操作;八个包装类基本类型包装类booleanBooleancharCharacterbyteByteshortShortintIntegerlongLongfloatFloatdouble...

2019-02-25 17:14:46 873

原创 数组的拷贝

数组的拷贝System.arraycopyArrays.copyOfArrays.copyOfRange数组的拷贝有四种常用的方法对于一位数组来说都是浅拷贝,如果是多维数组,需要进行递推拷贝或者通过反序列化,相关序列化克隆内容在对象的克隆;#clone该类是通过object的clone方法进行拷贝数组的public class CopyArray { public static ...

2019-02-25 17:09:50 549

原创 Java数组

Java数组一维数组多维数组优点使得代码优化,轻松的进行索引和排序可以进行任意位置的索引缺点大小不能随意扩张缩小,解决策略在集合框架中。一维数组声明方式:dataType[] arr;dataType []arr;dataType arr[];实例化方式arr = new arr[size];声明赋值方式一int a[] = { 33, 3, 4, 5 }...

2019-01-28 11:52:08 117

原创 Java克隆

Java 克隆浅克隆Java 有两种克隆,浅克隆和深克隆浅克隆负责拷贝当前对象,但是对象里的对象没法克隆,还是引用该对象的对象变量。深克隆负责拷贝当前对象,并且对象的对象也被克隆,既不再引用对象的对象,而是一个新的对象的对象。浅克隆学生类,在这里除了基本变量外,还引用了一个类变量 address;@SuppressWarnings("serial")class Student i...

2019-01-28 11:02:47 325

原创 Java中接口可以取代常用方法类

接口取代方法类常用方法类Java8中的接口常用方法类常用方法类如:public final class Math{ //私有属性 public static final double E = 2.7182818284590452354; public static final double PI = 3.14159265358979323846; //构造方法 private ...

2019-01-03 12:21:40 163

原创 Java Object

Java object类默认情况下,Object类是java中所有类的父类,它是java的顶级类。如果想引用你不知道的类型的对象,使用Object类是没有错的,可以向上转型。Object类的方法方法描述public final Class getClass()返回此对象的Class类对象。 Class类可以进一步用于获取此类的元数据。public int ha...

2018-12-24 13:50:18 366

原创 Java 封装

封装java中的封装是将代码和数据一起封装到单个单元中的过程,例如胶囊,即几种药物的混合。我们可以通过将类的所有数据成员设为private,以在java中创建一个完全封装的类。现在我们可以使用setter和getter方法来设置和获取其中的数据。Java Bean类是完全封装类的示例。封装的应用//save as Student.java package com.lch;publi...

2018-12-24 13:25:29 2648

原创 Java权限修饰符

Java权限修饰符权限修饰符(访问修饰符)四种访问修饰符private只能在本类中访问,类不能是私有的,除非是内部类default如果不使用任何修饰符,默认情况下将其视为default修饰符。default修饰符只能在包内访问。protect protected访问修饰符可以在包中和包外部访问,但只能通过继承。protected访问修饰符可以应用于数据成员,方...

2018-12-24 13:20:21 504 1

原创 Java中的包

Java 包一个java包是一组相似类型的类,接口和子包。java中的包可以分为两种形式,内置包和用户定义包。java中有很多内置的包,如:java,lang,awt,javax,swing,net,io,util,sql等。Java包的优点Java包用于对类和接口进行分类,以便更好地维护它们。Java包提供访问保护。Java包消除命名冲突。java包的简单示例package关键字...

2018-12-24 12:54:55 558

原创 Java抽象类和接口的区别

Java 抽象类和接口的区别抽象类和接口都用于实现抽象,可以声明抽象方法。 抽象类和接口都不能被实例化。但是在下面给出的抽象类和接口之间有许多区别。接口:更多的事一种声明或者说是一种标准,现实生活中的USB和typeC及时两种不同的USB接口。Java中原理一样。抽象类:更多的是对具体个体统一特征的描述,比如哺乳动物可以说就是抽象类,而猫狗具体的个体就是继承哺乳动物的具体类。抽象类...

2018-12-24 12:29:19 155

原创 Java接口

Java 接口java中的接口是类的蓝图。 它有静态常量和抽象方法。java中的接口是一种实现抽象的机制。 接口中只有抽象方法而不是方法体。接口用于在Java中实现抽象和多重继承。Java接口也表示IS-A关系。它不能像抽象类一样被实例化。q) Java为什么需要接口通过接口实现多继承用于实现耦合如下图所示,一个类扩展了另一个类,一个接口扩展了另一个接口,一个类实现了一个接口。接...

2018-12-24 12:00:36 9570 2

原创 Java抽象类

Java抽象类什么是抽象在java中用abstract关键字声明的类称为抽象类。 它可以有抽象和非抽象方法(带主体的方法)。什么是抽象抽象是隐藏实现细节并仅向用户显示功能的过程,它只向用户显示重要的事情,并隐藏内部详细信息。例如:发送短信,只需输入文本并发送消息。您也不需要知道有关邮件传递的内部处理过程。抽象可以让你专注于对象做什么(实现的功能),而不是它如何做。下面来举一个例子ab...

2018-12-10 11:18:31 404

原创 Java静态绑定和动态绑定

Java静态绑定和动态绑定静态绑定动态绑定将方法调用连接到方法体称为绑定。也就是通过调用方法连接到具体的方法体。Java两种绑定模式首先了解一下变量和类型每个基本变量都会有个类型int a =1;double b = 1;这里变量a的类型是int,b的变量是double类型每一个变量也会有一个类型class Dog { public static void main(St...

2018-12-07 12:09:21 147

原创 Java多态

Java多态编译时多态性。方法重载为编译多态,当方法名相同时,由编译器决定执行那个方法。重写方法的编译时多态。运行时多态性。Java有两种多态编译时多态性。方法重载为编译多态,当方法名相同时,由编译器决定执行那个方法。class Add{ int add(int num1,int num2){ return num1 + num2; } int add(int num1,int ...

2018-12-07 11:22:23 127

原创 final关键字

final关键字final修饰的变量final方法final修饰的类java中的final关键字用于限制用户修改变量或重写一个类或方法。final关键字可以修饰:变量 ,禁止变量的值被改变方法,禁止方法重写类,禁止类继承final修饰的变量要改变final变量的值,这是不可能的,因为一个final变量一次分配一个值永远不能更改。class Bike { final int...

2018-12-06 18:38:54 130

原创 Java初始化实例

Java初始化实例类有三个地方可以初始化实例,当类实例被初始化后,以后每一个生成的对象都会带有初始化后的值。三个初始化实例的地方:方法构造函数代码块q)初始化代码块和构造函数谁先执行a)示例class Bike { int speed; Bike() { System.out.println("constructor is invoke...

2018-12-06 18:17:09 986

原创 super关键字的使用

super关键字直接引用父类的实例变量通过 super 来调用父类方法使用super来调用父类的构造函数java中的super关键字是一个引用变量,用于引用直接父类对象。super关键字用法如下:可以用来引用直接父类的实例变量。可以用来调用直接父类方法。可以用于调用直接父类构造函数。直接引用父类的实例变量可以使用super关键字来访问父类的数据成员或字段。 如果父类和子类具有相同...

2018-12-06 11:06:14 3814 3

原创 Java方法重写

方法重写如果子类中具有与父类中声明相同的方法,在java中称为方法覆盖。换句话说,如果子类提供了由其父类提供的其中一个方法的特定实现,则它被称为方法覆盖。所以方法覆盖有两个前提条件:继承和子父类中方法名称相同。q)方法覆盖的用法在继承超类的同时,添加当前类的行为。方法重写用于运行时多态。q)方法覆盖的条件首先得继承与父类中方法的名称相同与父类中方法的参数相同(这点容易和重载混...

2018-12-06 10:50:07 4478

原创 Java方法重载

方法重载如果一个类中有多个具有相同名称但参数不同的方法,则称为方法重载。如果只需要执行一个操作,具有相同的方法名称将增加程序的可读性。假设必须执行给定数值的添加操作(求和),但是参数的数量不固定,如果为两个参数编写add1(int,int)方法,为三个参数编写add2(int,int,int)方法,可能对其他程序员来说很难理解这样的方法的行为,因为它的名称不同。正确的方式可以用重载:两个参...

2018-12-06 10:23:33 34567 1

原创 Java聚合

Java聚合聚合聚合如果一个类有一个类的实体引用(类中的类),则它称为聚合。 聚合表示HAS-A关系。考虑有一种情况,Employee对象包含许多信息,例如:id,name,emailId等。它包含另一个类对象:address,其包含它自己的信息,例如:城市,州,国家,邮政编码等,如下所示。class Employee{ int id; String name; ...

2018-12-03 12:35:55 4111

原创 Java继承

Java继承Java中的继承q)什么时候用继承?java继承类型一个类有的对象有属性(类变量)和行为(方法)class cat{ int age; String color; //属性(年龄和颜色) void eat(){ System.out.pr...

2018-12-03 12:29:02 229

原创 This关键字

This关键字this关键字可用来引用当前类的实例变量。this关键字可用于调用当前类方法(隐式)。this()可以用来调用当前类的构造函数。this关键字可作为调用方法中的参数传递。this关键字可作为参数在构造函数调用中传递。this关键字可用于从方法返回当前类的实例。this关键字用法:this关键字可用来引用当前类的实例变量。可以消除歧义,一般用于set和get方法中:class ...

2018-12-03 11:58:52 409

原创 static 关键字的作用

Static关键字static关键字可以修饰变量方法代码块内部类java中的static关键字主要用于内存管理。我们可以应用java static关键字在变量,方法,块和嵌套类中。 static关键字属于类,而不是类的实例。static关键字可以修饰变量如果将一个变量声明为static,它就是所谓的静态变量了,静态变量可以用于引用所有对象的公共属性。它能使程序存储器高效(即它节省内存)。例...

2018-11-28 16:04:27 389

原创 Java构造函数

Java构造函数创建java构造函数的规则Java构造函数的类型没参数的构造函数 (默认函数的构造类型)Java参数化构造函数Java 构造函数重载java的构造函数和方法之间的区别Q)构造函数没有返回值 ?Q)可以构造函数执行其他任务而不是初始化?java中的构造方法是一种特殊类型的方法,用于初始化对象。Java构造函数在对象创建时被调用。 它构造值,即提供对象的数据,这是为什么它被称为构造函...

2018-11-22 13:06:46 3714 1

原创 Java对象和类

Java 对象和类Java对象Java中的类成员变量(属性)方法(动作,行为)构造函数(构造基本属性)代码块(一般用来初始化);镶嵌类和接口;初始化对象通过引用变量初始化通过方法初始化对象通过构造函数初始化对象匿名对象创建同个类型多个对象Java对象具有状态和行为的实体可称为对象,一个对象有三个特点:状态: 表示一个对象的数据(值)。行为: 表示对象的行为(功能),例如:存款,取款等。...

2018-11-22 12:36:50 249

原创 Java命名规则

Java命名规则Java驼峰命名规则java命名约定的优点Java命名约定是一个规则,决定标识符使用什么命名规则,如类,包,变量,常量,方法等的命名规则。但是,它并不是强制要求必须遵循。这称为约定不规则。java编程语言的所有类,接口,包,方法和字段都是根据java命名约定给出的。Java驼峰命名规则如果名称是使用两个单词组合,则第二个单词将以大写字母开头。Java遵循驼峰语法,用于命名类...

2018-11-22 10:53:02 264

原创 Java面向对象(OOP)概念

Java 面向对象OOPs(面向对象编程系统)对象类继承多态性抽象封装面向对象编程语言和基于对象的编程语言有什么区别?始祖:simula第一种面向对象语言。始祖:smalltalk第一个真正面向对象(一切可表现为对象的编程模式)的语言。OOPs(面向对象编程系统)      他提供一些概念对象  &nbsp...

2018-11-22 10:44:18 457

原创 Java do-while语句

Java do-while 循环语法:Java do-while循环执行流程图如下所示示例do-while循环至少执行一次,因为它是在循环体之后检查条件。语法:do{ //code to be executed }while(condition); // 后置条件检查Java do-while循环执行流程图如下所示示例public class DoWhileExam...

2018-11-09 13:05:20 1653

原创 3种For循环

for循环普通for循环加强for循环(for - each)标记for循环Java无限循环`普通for循环语法:for(initialization;condition;incr/decr){ //code to be executed }执行流程图如下所示加强for循环(for - each)语法for(Type var:array){ //code...

2018-11-09 12:59:03 3762

原创 Java switch语句

Java Switch语句语法流程执行图语法switch(expression){ case value1: //code to be executed; break; //optional case value2: //code to be executed; break; ...

2018-11-09 12:43:53 179

原创 Java运算符

Java运算符1. Java一元运算符示例:++ 和 — —2、Java一元运算符示例3:〜 和 !4、 java的移位运算实例:左移和友谊5. java的移位运算实例:>> 和 >>>6、Java AND运算符示例:逻辑&a

2018-11-09 12:35:21 153

原创 Java Unicode编码系统

Unicode是一种通用的国际标准字符编码,能够表示世界上大多数的书面语言。为什么java使用Unicode系统?在Unicode之前,有很多语言标准:ASCII (美国信息交换标准代码)。ISO 8859-1 用于表示西欧语言。KOI-8 用于表示俄文。GB18030 和 BIG-5 用于表示中文等等。问题一般的编码乱码问题是由于编码代码值中对应的各标准语言中的字母不同。...

2018-11-09 10:24:04 758

空空如也

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

TA关注的人

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