JAVA
文章平均质量分 91
包括javaSE基础和进阶
青衫白衣98
当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。
展开
-
Java 8新特性总结
Java 8新特性一、Lambda表达式二、函数式(Functional)接口三、方法引用与构造器引用(一)方法引用(二)构造器和数组的引用四、强大的Stream API五、Optional类Java 8新特性汇总一、Lambda表达式1.Lambda表达式概述Lambda是一个匿名函数,可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。使用它可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升2.使用Lambda表达式前后原创 2021-02-09 13:21:22 · 179 阅读 · 1 评论 -
Java之反射总结
Java之反射总结一、反射的概述一、反射的概述反射的简介Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:反射。通常的方式:引入需要的“包类原创 2021-02-08 23:52:52 · 514 阅读 · 0 评论 -
Java之网络编程总结
Java之网络编程总结一、概述二、网络通讯要素(一)通讯要素一:IP和端口号(一)通信要素二:网络通信协议三、TCP网络编程四、UDP网络编程五、URL编程一、概述计算机网络:把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息共享硬件、软件、数据信息等资源。网络编程的目的: 直接或间接地通过网络协议与其它计算机实现数据交换,进行通讯实现网络通信需要解决的两个问题:如何准确地定位网络上一台或多台主机;原创 2021-02-07 15:02:21 · 342 阅读 · 0 评论 -
Java之IO流总结
这里写目录标题一、File类的使用(一)概述(二)实例化(三)常用方法一、File类的使用(一)概述(二)实例化(三)常用方法原创 2021-02-06 15:30:20 · 329 阅读 · 0 评论 -
Java泛型详细总结
Java泛型总结一、泛型简介二、泛型在集合中的应用一、泛型简介泛型的概念所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返 回值及参数类型。这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型声明变量、 创建对象时确定(即传入实际的类型参数,也称为类型实参)。从JDK 5.0以后,Java引入了“参数化类型(Parameterized type)”的概念,允许我们在创建集合时再指定集合元素的类型,正如:List,这表明该List只能保存字符串类型的对象原创 2021-02-04 15:56:23 · 513 阅读 · 1 评论 -
Java集合源码分析(ArrayList、LinkedList、Vector和HashMap)
Java集合源码分析一、ArrayList二、LinkedList一、ArrayList继承结构与接口实现JDK 8.0中ArrayList的变化: ArrayList list = new ArrayList();//底层Object[] elementData初始化为{}.并没创建长度为10的数组 list.add(123);//第一次调用add()时,底层才创建了长度10的数组,并将数据123添加到elementData[0]源码解析: //无参构造方法 p原创 2021-02-04 00:54:49 · 249 阅读 · 0 评论 -
Java集合详解(超详细)
这里写目录标题一、集合框架的概述二、Collection接口(一)常用方法(二)Iterator迭代器接口(三)JDK 5.0新特性--增强for循环:(foreach循环)三、Collection子接口:List接口一、集合框架的概述集合与数组存储数据概述:集合、数组都是对多个数据进行存储操作的结构,简称Java容器。 说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中)数组存储的特点:一旦初始化以后,其长度就确定了。数组一旦原创 2021-02-03 15:59:24 · 13597 阅读 · 5 评论 -
枚举类的使用和注解总结
枚举类的使用和注解总结一、枚举类(一)概述(二)如何自定义枚举类?(三)JDK 5.0 新增使用enum定义枚举类(四)Enum类的常用方法(五)用Enum类定义的枚举类对象实现接口二、注解一、枚举类(一)概述枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类当需要定义一组常量时,强烈建议使用枚举类枚举类的实现:JDK 5.0以前需要自定义JDK 5.0后新增enum关键字用于定义枚举类如果枚举类中只一个对象,则可以作为单例模式的实现方式。枚举类的属性:枚举类对象的属性不应原创 2021-01-31 01:28:36 · 1308 阅读 · 0 评论 -
Java常用类(比较器、System类、Math类、BigInteger和BigDecimal类)
Java常用类(比较器、System类、Math类、BigInteger和BigDecimal类)一、比较器(一)自然排序:使用Comparable接口(二)定制排序:使用Comparator接口二、System类三、Math类四、BigInteger和BigDecimal类一、比较器(一)自然排序:使用Comparable接口像String、包装类等实现了Comparable接口,重写了compareTo(obj)方法,给出了比较两个对象大小的方式。(进行了从小到大的排列)。实现 Compar原创 2021-01-30 14:38:41 · 251 阅读 · 0 评论 -
Java多线程详解
这里写目录标题一、基本概念二、线程的两种创建方式(一)继承于Thread类(三)实现Runnable接口(三)比较创建线程的两种方式三、线程的使用(一)Thread类的常用方法(二)线程的优先级(三)线程的分类三、线程的生命周期线程的同步一、基本概念程序(program):是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。进程(process):是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期进程作为资源原创 2021-01-29 14:33:37 · 322 阅读 · 1 评论 -
Java中一个范围大的作用域下不能重新定义同名变量
同一个作用域范围的包裹下局部变量和局部变量不可以重名(作用域内不能重复命名)上面的代码虽然在C和C++里合法(将一个较大作用域的变量“隐藏”),但在java中是非法的,编译器会报告变量x已经定义过。同一作用域范围的包裹下成员变量名和局部变量名是可以变量名相同的。在方法中使用变量时,如果不指明使用成员变量还是局部变量,那么默认使用局部变量(就近原则),但是如果局部变量超出了它本身的作用域范围则会失效,被JVM垃圾回收,那么则可以重复命名此变量。public class Test04{ .原创 2021-01-26 14:39:36 · 2057 阅读 · 0 评论 -
Java中日期时间相关类
一、java.lang.System类 类System类提供的public static long currentTimeMillis()用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。 此方法适于计算时间差。计算世界时间的主要标准有:UTC(Coordinated Universal Time)GMT(Greenwich Mean Time)CST(Central Standard Time)二、java.util.Date类两个构造方法:Dat原创 2021-01-13 23:27:56 · 269 阅读 · 0 评论 -
基本数据类型对应的包装类与缓存机制
一、自动拆箱和装箱定义:将一个基本数据类型的值赋给其所对应的包装类型称为装箱;将一个基本数据类型包装类类型的值赋给其所对应的基本数据类型称为拆箱//拆箱和装箱//装箱:基本数据类型转换为包装类Integer a = 12;//拆箱:包装类类型转换为基本数据类型int aa = a;二、包装类数据缓存(一)包装类数据缓存Java对部分经常使用的数据采用缓存技术,即第一次使用该数据则创建该数据对象并对其进行缓存,当再次使用等值对象时直接从缓存中获取,从而提高了程序执行性能。(二)Java中原创 2020-07-08 13:37:52 · 318 阅读 · 0 评论 -
Java中byte和short类型向加减问题
public class Test { public static void main(String[] args) { short b1 = 1,b2 =2,b3,b6,b8; final byte b4 = 4,b5 = 6,b7; int b; //b3 = (b1 + b2);//编译出错 b3 = (byte)(b1 + b2); b3 = (b4+b5); //b3 = (b4+b1);//编译出错 //b7 = 128;//编译出错 b = (b1 + b原创 2020-07-03 11:38:14 · 3801 阅读 · 0 评论 -
HashSet类中add()方法的执行过程
@TOC一级目录二级目录三级目录向集合中添加第一个元素public class SetAddTest { public static void main(String[] args) { HashSet<String> names = new HashSet<String>(); //HashSet构造方法中创建Map集合 names.add("Ji...原创 2020-04-24 22:18:56 · 270 阅读 · 0 评论 -
Java中的集合
集合的框架定义:集合又称为容器,用于存储、提取、删除数据。JDK提供的集合API都包含在 java.util 包内。集合框架两大分支:Collection接口和Map接口Collection接口下还有个Queue接口、Set接口、List接口Set下有HashSet,LinkedHashSet,TreeSetList下有ArrayList,Vector,LinkedListMap下有...原创 2020-04-17 20:46:35 · 159 阅读 · 0 评论 -
详述ArrayList类contains方法
ArrayList中contains(Object o)方法一、源码分析:二、对于ArrayList后不同泛型的分析:(一)泛型String类型(二)泛型为包装类(三)泛型为类类型:一、源码分析:public boolean contains(Object o) { return indexOf(o) >= 0;}分析:将contains()括号中的元素上转型为...原创 2020-04-15 21:25:25 · 667 阅读 · 0 评论 -
Java中异常总结
异常一、异常的分类:(一)Error类(二)Exception1.运行时异常:RuntimeException2.检查时异常:CheckedException二、异常的处理(一)通过使用try-catch-finally语句块来处理:(二)通过throws/throw到上层再进行处理1.throw关键字throws关键字throws/throw关键字的区别自定义异常一、异常的分类:在 Java...原创 2020-04-11 15:06:51 · 415 阅读 · 0 评论 -
内部类和Lambda表达式
普通内部类在一个类里面作为类的一个字段定义的类为:普通内部类普通内部类对象依赖外部类对象而存在,即在创建一个普通内部类对象时首先需要创建其外部类对象在外部类对象内部,直接通过 new InnerClass(); 创建内部类对象。public class Body { private String name1 = "private"; protected String name2 =...原创 2020-03-31 18:25:56 · 296 阅读 · 0 评论 -
抽象类和接口和instanceof运算符
抽象类abstract(可以修饰类和方法):abstract修饰的类称为做抽象类;abstract修饰的方法叫做抽象方法,抽象方法只有声明部分,而没有具体的方法体。关于抽象类:抽象类不能被直接实例化,即不能使用关键字new来创建该抽象类的对象。抽象类中可以有构造方法,由于抽象类里会存在一些属性,那么抽象类中一定存在构造方法,其存在目的是为了属性的初始化。并且子类对象实例化的时候,...原创 2020-03-25 15:36:49 · 277 阅读 · 0 评论 -
package和访问控制符
包一、包的明明规则1.包名全部由小写字母(多个单词也全部小写);2.如果包名包含多个层次,每个层次应该用“.”分割;3.包名一般由倒置的域名开头,比如com.baidu;——不要有www4.自定义包不能java开头;二、包的两种导入方法(一)在每个类名之前添加完整的包名java.util.Date today = new java.util.Date(); //类名之前添加完整的...原创 2020-03-17 19:59:30 · 330 阅读 · 0 评论 -
String类(String类实例化对象方式,String类常用方法,equals与==的区别,StringBuffer类)及String相关面试题
public class Three { public static void main(String[] args) { String str1 = new String("Tom"); System.out.println(str1.length()); System.out.println(str1.endsWith("om")); System.out.pri...原创 2020-02-26 14:06:22 · 412 阅读 · 0 评论 -
Java继承(方法的重写、多态和super关键字)
方法的重写什么是方法的重写:当父类的功能无法满足子类的需求时,在子类中写一个与父类出了同名的函数,这个我们就称作为方法的重写。方法重写的注意事项:方法重写时, 方法名与形参列表必须一致。public class One { public static void main(String[] arg) { Student one = new Student(); one.R...原创 2019-12-01 15:26:44 · 859 阅读 · 2 评论 -
Java继承(继承和父类对子类构造方法的影响)
继承继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为...原创 2019-12-01 15:25:23 · 738 阅读 · 0 评论 -
Java类和对象(二)(代码块、成员变量和局部变量、this、static(设计模式)、构造方法、对象初始化过程)
标题原创 2019-11-30 16:31:40 · 203 阅读 · 0 评论 -
Java类和对象(一)(类和对象的定义、内存关系、方法的定义、方法的重载)
什么是类和对象类:是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法)对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。类与对象的定义和使用类的定义和使用1.定义类名。2.定义类的属性。3.定义类的方法。范例:定义一个Student类public class Student { //类首字母大写 //定义...原创 2019-11-16 17:21:28 · 307 阅读 · 0 评论 -
Java数组总结
数组介绍数组是相同数据类型的数据按顺序组成的一种引用数据类型声明数组声明一位数组:数组元素数据类型 [] 数组名;String [] countryArray;声明二维数组:数组元素数据类型 [][] 数组名;double [][] wagesArray;实例化数组声明数组仅仅给出了元素的数据类型和数组名字,要使用数组就必须为它分配内存空间,即实例化数组。当实例化一个数组时...原创 2019-11-16 11:46:55 · 126 阅读 · 0 评论 -
JAVA基础简单总结
JAVA代码规范类名:第一字母必须大写,如果类名由多个单词组成,单词首字母大写。(驼峰命名法)方法名、变量名:首字母小写,其他单词首字母大写。标识符的命名规则由英文字母、数字、_(下划线)和$组成,长度不限。其中英文字母包含大写字母(AZ)和小写字母(az),数字包含0~9。标识符的第一个字符不能是数字(即标识符不能以数字开头)。标识符区分大小写。标识符不能包含空格。JAV...原创 2019-12-01 15:23:49 · 134 阅读 · 0 评论