java基础篇
清风自来&静等花开
Each person has a unique way of seeing, hearing, touching, tasting and thinking.
展开
-
java基础之迭代器(Iterator)
java中的iterator功能比较简单,并且只能单向移动:1)使用iterator()方法要求容器返回一个Iterator。第一次调用iterator的next()方法时,它返回序列的第一个元素。(iterator()方法时java.lang.Iterable接口被Collection继承)2)使用next()获得序列中的下一个元素3)使用hasNext()检查序列中是否还有元素4)使用...原创 2019-01-11 10:13:07 · 149 阅读 · 0 评论 -
java基础之经典算法总结篇
1、题目:判断101-200之间有多少个素数,并输出所有素数。程序分析:判断素数的方法为用一个数分别去除以2到sqrt(这个数),如果能够被整除,则表明次数不是素数,反之则是素数。public class test1{ public static void mian(String[] args) { int count = 0; for(int i = 101; i < 2...原创 2019-01-07 20:03:42 · 298 阅读 · 0 评论 -
java基础之线程
一、线程的优先级一个进程可以并发多个线程,每条线程执行不同的功能。一个线程不能独立存在,它必须试进程的一部分。一个进程一直运行,直到所有的非守护线程都结束运行后才能结束。每个java线程都有一个优先级,java线程的优先级是一个整数,其取值范围是1(Thread.MIN_PRIORITY)-(Thread.MAX_PRIORITY)。线程的默认优先级为NORM_PRIORITY(5)。具有高...转载 2019-01-08 16:51:52 · 132 阅读 · 0 评论 -
java基础之String、StringBuffer、StringBuilder
一、基本概念String:字符串常量,字符串长度不可变。java中String是immutable(不可变的)。用于存放字符的数组被声明为final,因此只能赋值一次,不可再更改。StringBuffer:字符串变量(Synchronized,线程安全)。如果要频繁的对字符串内容进行修改,出于效率考虑最好使用StringBuffer,如果想转成String类型学,可以调用StringBuffe...转载 2019-01-08 17:27:12 · 153 阅读 · 0 评论 -
java基础之length、length()、size()
1)length():方法是针对字符串来说的,要求一个字符串的长度就有用到它的length()方法;2)length属性是针对java中的数组来说的,要求数组的长度可以用其length属性;3)size()方法是针对泛型集合说的。...原创 2019-01-08 17:34:13 · 1035 阅读 · 0 评论 -
java基础之数据结构
java工具包提供了强大的数据结构。在java中的数据结构主要包括以下几种接口和类:1)枚举(Enumeration)2)位集合(BitSet)3)向量(Vector)4)栈(Stack)5)字典(Dictionary)6)哈希表(HashTable)7)属性(Properties)8)集合框架(Collection)1、枚举:枚举(Enumeration)接口虽然它本身不属于...原创 2019-01-10 18:20:38 · 178 阅读 · 0 评论 -
Java之重写与重载
下面介绍一下重写(Override)与重载(Overload)的区别:方法重载是一个类的多态性表现,而方法重写是子类与父类的一种多态性的表现。一、重写规则:1)参数类表必须完全与重写方法相同2)返回类型与被重写方法的返回类型可以不同,但是必须试父类返回值的派生类3)访问权限不能比父类找那个被重写方法的访问权限更低。例如:如果父类的一个方法被声明为public,那么在子类中重写该方法就不能...转载 2019-04-25 10:53:30 · 125 阅读 · 0 评论 -
Java基础之final与static
下面介绍一下final与staticfinal:final可以修饰:属性、方法、类、局部变量final关键字经常用于匿名内部类,java的String类也是final修饰的。对于基本类型的数据,final会将值变为一个常数(创建后不能被修改);但是对于对象句柄(亦可称作引用或者指针),final会将句柄变为一个常数(进行声明时,必须将句柄初始化到一个具体的对象。而且不能再将句柄指向另一个对...转载 2019-04-25 13:56:32 · 205 阅读 · 0 评论 -
Java之获取指定目录下所有文件的名称
在写文件的时候,我会需要通过读相关的文件名称去建立相应的写的文件:下面就分享下如何获取指定目录下的所有文件的文件名:/** * author:wxy_jdhk * date:2019-07-22 15:55:00 */public class FileUtils { //获取目录下所有文件的文件名称 public static String[] getFileNames...原创 2019-07-23 20:39:58 · 978 阅读 · 0 评论 -
Linux系统下安装JDK
最近在设置部署环境,下面来记录并更新下在Linux环境下安装JDK的步骤:一、下载jdk的rpm安装包:通过wget命令下载jdk的rpm包,如图所示:二、安装rpm包通过rpm ivh jdk-8u131-linux-x64.rpm命令安装rpm包三、设置环境变量在通过export命令设置环境变量,如图:四、校验安装五、写一个java类来测试一下1)新建类2)通过v...原创 2019-07-30 22:42:23 · 240 阅读 · 0 评论 -
java基础之类加载器
java类加载器有:1、引导类加载器(bootstrap classloader):只加载JVM自身需要的类,包名为java、javax、sun等开头。2、扩展类加载器(extensions classloader):加载JAVA_HOME/lib/ext目录下或者由系统变量-Djava.ext.dir指定位路径中的类库。3、应用程序类加载器(application classloader)...原创 2019-01-08 13:02:48 · 131 阅读 · 0 评论 -
java基础之文件操作
文件操作工具类(关于文件创建、写入、删除)package util;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.Inp...原创 2019-01-14 15:04:02 · 198 阅读 · 1 评论 -
java基础之Set、List、ArrayList和LinkedList
一、Set和List的区别1)Set接口实例存储的是无序的,不重复的数据。List接口实例存储的是有序的,可以重复的元素。2)Set检索效率低下,删除和插入效率高,插入和删除不会引起元素位置改变<实现类有HashSet,TreeSet>3)List和数组类似,可以动态增长,根据实际存储的数据的长度自动增长List的长度。查找元素效率高,由于插入删除操作会引起其他元素位置改变,故而...原创 2019-01-11 16:24:35 · 754 阅读 · 0 评论 -
接口与抽象类
JAVA基础之接口与抽象类的区别java不能多继承,一个类只能继承一个抽象类;但是可以实现多个接口;继承抽象类是一种IS-A的关系,实现接口是一种LIKE-A的关系;继承抽象类可以实现对父类代码的复用,也可以重写抽象方法实现子类特有的功能。实现接口可以为类新增额外的功能;抽象类定义基本的共性内容,接口是定义额外的功能;调用者使用动机不同,实现接口是为了使用定义的规范中的某一个行为;继承...原创 2019-01-06 20:55:19 · 100 阅读 · 0 评论 -
==与equals的区别
==与equals的区别1、equals的默认实现实际上使用了==来比较两个对象是否相等,但是equals对于integer、String等类的比较方法进行了重写,比较的是两个对象的内容是否相等。2、==对于基本类型而言,比较值是否相等,对于对象而言,比较的是两个对象的地址是否相同(即是否指向同一个对象)。1)对于integer,如果依然坚持用==来比较,有一些需要注意的地方。对于[-128...原创 2019-01-06 21:24:03 · 207 阅读 · 0 评论 -
JAVA基础之封装、继承与多态
封装、继承、多态1、封装:隐藏实现细节,明确标识出允许外部使用的所有成员函数和数据项,从而防止代码或数据被破坏。2、继承:子类继承父类,拥有父类的所有功能,并且可以在父类的基础上进行扩展。实现了代码的重用性。子类和父类是兼容的。3、多态:一个接口有多个子类或实现类,在运行期间(而非编译期间)才决定所引用的对象的实际类型,再根据实际的类型调用其对应的方法,也就是“多态绑定”。另:java实现...原创 2019-01-06 21:32:55 · 193 阅读 · 0 评论 -
java基础之反射
java基础之反射反射:允许任意一个类在运行时获取自身的类信息,并且可以操作这个类的方法和属性。这种动态获取类信息和动态调用对象方法的功能称为java的反射机制。反射的核心:JVM在运行时才动态加载类或调用方法/访问属性。它不需要事先知道运行对象,反射避免的将程序“写死”反射的好处:反射可以降低程序的耦合性,提高程序的灵活性。new是造成紧耦合的一大原因。例如:Class.forName(...原创 2019-01-06 21:44:51 · 139 阅读 · 0 评论 -
java基础之实现不可变对象的策略
java基础之实现不可变对象的测试1)不提供setter方法(包括修改字段、字段引用到的对象等方法)2)将所有字段设置为final、private3)将类修饰为final,不允许子类继承、重写方法,可以将构造函数设为private,通过工厂的方法创建4)如果类的字段是对可变对象的引用,不允许修改被引用对象。a、不提供修改可变对象的方法b、不共享对可变对象的引用,对于外部传入的可变对象,...原创 2019-01-06 21:51:56 · 332 阅读 · 0 评论 -
java基础之JDBC
JAVA基础之JDBC@Testpublic void jdbcUtil() throws SQLException, ClassNotFoundException { //1、注册驱动 Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/jdbcTest?useUnicode...原创 2019-01-06 22:13:35 · 149 阅读 · 0 评论 -
java基础之遍历list的不同方式
java基础之遍历list的不同方式遍历方式有以下几种:1、for循环遍历:基于计数器,在集合的外部维护一个计数器,然后依次读取每一个位置的元素,当读到最后一个元素时停止。2、迭代器遍历:iterator是面向对象的一个设计模式,目前是屏蔽不同数据集和的特点,统一遍历集合的接口。java在Collections中支持了iterator模式。3、foreach循环遍历:foreach内部也是...原创 2019-01-06 22:33:15 · 1299 阅读 · 0 评论 -
java基础之构造函数引用和方法引用
方法引用可以引用静态方法和实例方法,两者是通用的。方法引用是函数式接口的实例。虽然Lambda表达式允许动态创建方法实现,但通常情况下,一个方法最终会调用Lambda表达式中的另一个方法来完成我们想要完成的工作。更直接的方法是使用方法引用。使用方法引用的主要步骤:1、定义一个函数式接口2、定义一个满足函数式接口抽象方法要求的方法3、使用对步骤2中定义的(x::y)方法引用实例化函数式接口...原创 2019-01-07 14:30:06 · 2332 阅读 · 1 评论 -
java基础之java7与java8的区别
列举重要几点:一、lambda表达式,java8版本引入的一个新特性。lambda表达式允许将功能当作方法参数或代码当作数据。lambda标识还可以更简洁的方式表示只有一个方法的接口(函数式接口)的实例。二、方法引用,为已命名的方法提供了易于阅读的lambda表达式三、默认方法,支持将新功能添加到类库中的接口,并确保与基于这些接口的旧版本的代码的二进制兼容性。四、重复注解,支持在同一声明或...原创 2019-01-07 15:25:33 · 14611 阅读 · 1 评论 -
java基础之Object
在java.lang包中,object类位于类层次结构的顶端。每个类都是Object类直接或间接的子类。从Object类中继承的方法:1)protected Object clone() throws CloneNotSupportedException创建并返回此对象的副本。2)public boolean equals(Object obj)判断另一对象与此对象是否相等。3)prote...原创 2019-01-07 15:34:17 · 174 阅读 · 0 评论 -
final、finally和finalize
final、finally和finalize三者的区别:1、final关键字用于在多个语境下定义只能分配一次的实体。2、finally代码块是用于执行重要代码(如关闭连接、流等)的代码块。无论是否处理异常,finally代码总会被执行。finally代码块紧随try代码块或catch代码块。3、finalize这是在删除或销毁对象之前垃圾回收器总会调用的方法,该方法使得垃圾回收机制能够执行清...原创 2019-01-07 15:59:07 · 325 阅读 · 0 评论