Java Learning
白雪青冢 黄河黑山
一枚在读的准大二新生(只在学校呆了半年)
展开
-
【Java 20】Java8的其他新特性 - Lambda表达式、函数式接口、方法引用、构造器引用、数组引用、Stream API、Optional类
这里写目录标题Java8的其他新特性1 Lambda表达式 ->1.1 介绍1.2 格式1.2.1 本质1.2.2 6种语法格式1.2.3 代码实例1.3 类型推断2 函数式(Functional)接口2.1 介绍2.2 函数式接口举例2.3 自定义函数式接口2.4 作为参数传递Lambda表达式2.5 Java内置函数式接口3 方法引用、构造器引用、数组引用 ::3.1 方法引用3.2 构造器引用3.3 数组引用4 强大的Stream API4.1 介绍4.2 操作步骤4.2.1 创建Stream4原创 2020-09-06 02:06:50 · 264 阅读 · 0 评论 -
【Java 19】反射 - 反射机制概述、获取Class实例、类的加载与ClassLoader的理解、创建运行时类的对象、获取运行时类的完整结构、调用运行时类的指定结构、动态代理
反射Class clazz1 = Class.forName("com.wmiao.java.Person");//Class clazz1 = Person.class;Person p1 = (Person) clazz1.newInstance();1 Java反射机制概述1.1 Java Reflection介绍1.2 动态语言 vs 静态语言1.3 Java反射机制研究及应用1.4 Java反射主要API1.5 代码实例package com.wmiao.java原创 2020-09-05 00:53:02 · 181 阅读 · 0 评论 -
【Java 18】网络编程 - 概述、网络编程要素、IP和端口号、网络协议、TCP、UDP、URL
网络编程 - 概述、网络编程要素、IP和端口号、网络协议、TCP、UDP、URL网络编程1 网络编程概述2 网络通信要素概述3 通信要素1:IP和端口号3.1 内容3.2 InetAddress类3.2.1 概述3.2.2 方法3.2.3 代码实例4 通信要素2:网络协议4.1 内容4.2 TCP/IP协议簇4.3 TCP和UDP4.4 TCP三次握手和四次挥手4.5 Socket5 TCP网络编程5.1 基于Socket的TCP编程5.2 代码实例5.3 例题5.4 练习6 UDP网络编程6.1 内容6.原创 2020-09-03 03:44:33 · 186 阅读 · 0 评论 -
【Java 17】IO流 - File类、IO流原理及流的分类、抽象基类、节点流、缓冲流、转换流、标准输入、输出流、打印流、数据流、对象流、随机存取文件流、NIO.2
IO流 -File类、IO流原理及流的分类、抽象基类、节点流、缓冲流、转换流、标准输入、输出流、打印流、数据流、对象流、随机存取文件流、NIO.2IO流1 File类的使用1.1 File类的使用1.2 常用构造器1.3 路径分隔符1.4 常用方法1.5 小练习2 IO流原理及流的分类2.1 IO流原理2.2 流的分类2.3 IO流体系3 抽象基类3.1 读入3.1.1 代码步骤规范3.1.2 read()3.1.3 read(char[] cbuf)3.2 写出3.2.1 步代码骤规范3.2.2 writ原创 2020-09-02 15:48:44 · 355 阅读 · 0 评论 -
【Java 16】泛型 - 集合中使用泛型、自定义泛型结构、泛型在继承上的体现、通配符
泛型泛型1 为什么要有泛型2 在集合中使用泛型3 自定义泛型3.1 泛型类、泛型接口3.2 泛型方法4 泛型在继承上的体现5 通配符的使用5.1 使用5.2 使用注意点5.3 有限制的通配符5.3.1 简述5.3.2 练习题6 泛型应用举例7 自定义泛型类的使用泛型1 为什么要有泛型2 在集合中使用泛型ArrayList<Integer> list = new ArrayList<>();//jdk7新特性, 类型推断list.add(78);list.add原创 2020-08-31 01:25:04 · 362 阅读 · 0 评论 -
【Java 15】集合 - List、Set、Map部分详解
public class HashMap<K,V> extends AbstractMap<K,V>implements Map<K,V>, Cloneable, Serializable {private static final long serialVersionUID = 362498820763181265L;static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16static原创 2020-08-30 00:41:01 · 247 阅读 · 0 评论 -
【Java 14】枚举类、注解
枚举类、注解一 枚举类1 枚举类的使用2 枚举类的定义2.1 自定义枚举类(JDK5.0之前)2.2 使用enum定义枚举类(JDK5.0)3 Enum类的主要方法4 实现接口的枚举类二 注解(Annotation)1 注解(Annotation)概述2 常见的Annotation示例2.1 示例一:生成文档相关的注解2.2 示例二:在编译时进行格式检查(JDK内置的三个基本注解)2.3 示例三:跟踪代码依赖性,实现替代配置文件功能3 自定义Annotation4 JDK中的元注解4.1 @Retentio原创 2020-08-21 21:39:55 · 187 阅读 · 0 评论 -
【Java 13】常用类下 - JDK8之前和JDK8新增的日期时间API、Java比较器、System类、Math类、BigInteger与BigDecimal
常用类下 - JDK8之前和JDK8新增的日期时间API、Java比较器、System类、Math类、BigInteger与BigDecimal2 JDK8之前的日期时间API2.1 java.lang.System类2.2 java.util.Date类2.2.1 两个构造器2.2.2 两个方法2.2.3 子类java.sql.Date类2.3 java.text.SimpleDateFormat类2.3.1 SimpleDateFormat的实例化2.3.2 格式化:日期 --> 字符串2.3.原创 2020-08-21 11:57:25 · 245 阅读 · 0 评论 -
【Java 12】常用类上 - 字符串相关的类:String、StringBuffer、StringBuilder
1 字符串相关的类1.1 String类及常用方法1.1.1 String的特性String声明为final的,不可被继承String实现了Serializable接口:表示字符串是支持序列化的 实现了Comparable接口:表示String可以比较大小String内部定义了final char[] value用于存储字符串数据String:代表不可变的字符序列。简称:不可变性体现:不同内容的字符串,就会重新造当对字符串重新赋值时,需要重新指定内存区域赋值原创 2020-08-19 16:16:12 · 191 阅读 · 0 评论 -
【Java 11】多线程 - 程序、进程、线程、线程的创建和使用、线程的生命周期、线程的同步、线程的通信、JDK5.0新增线程创建方式
一 Idea1 快捷补全new Method()使用Alt + Enter 可补全Method method = new Method();psvm : 可生成 main 方法sout : System.out.println() 快捷输出soutp=System.out.println("方法形参名 = " + 形参名); soutv=System.out.println("变量名 = " + 变量); soutm=System.out.println(“当前类名.当前方法”原创 2020-08-18 16:57:57 · 325 阅读 · 0 评论 -
【Java 10】异常处理 - try-catch-finally、throws、throw、自定义异常类
异常处理1 异常概述与异常体系结构1.1 异常体系结构2 常见异常FileNotFoundExceptionIOXException@Testpublic void test(){ File file = new File("hello.txt"); FileInputStream fis = new FileInputStream(file); int data = fis.read(); while(data != -1){原创 2020-08-13 17:37:59 · 288 阅读 · 0 评论 -
【Java 09】面向对象(下) - abstract(抽象类和抽象方法)、模板方法模式、接口、代理模式、内部类
一 面向对象下二1 抽象类和抽象方法(abstract)随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更一般,更通用。类的设计应该保证父类和子类能够共享特征。有时将一个父类设计得非常抽象,以至于它没有具体的实例,这样的类叫做抽象类。abstract:抽象的abstract可以修饰的结构:类、方法1.1 代码实例public class AbstractTest{ public static void main(String[] args){原创 2020-08-12 11:41:15 · 269 阅读 · 0 评论 -
【Java 08】面对对象(下) - static、单例设计模式、代码块、final
一 面向对象上一1 对三大特性的理解1.1 封装性指一个类把自己内部的实现细节进行隐藏,只暴露对外的接口(setter和getter方法)。封装又分为属性的封装和方法的封装。把属性定义为私有的,它们通过setter和getter方法来对属性的值进行设定和获取。总体上体现为四种权限修饰1.2 继承性指在一个现有类(父类)的基础上在构建一个新类(子类),子类可以拥有父类的成员变量以及成员方法(但是不一定能访问或调用,例如父类中private私有的成员变量以及方法不能访问和调用)。继承的作用就是能原创 2020-08-11 11:19:38 · 161 阅读 · 0 评论 -
【Java 07】面对对象(中) - instanceof、向下转型、equals、toString、JUnit单元测试、包装类
一 面向对象中三1 多态如何才能调用子类特有的属性和方法?1.1 向上转型(多态)、向下转型Person p2 = new Man();//多态Man m1 = (Man)p2;//向下转型m1.earnMoney();//调用子类特有的属性和方法m1.isSmoking = true;//调用子类特有的属性和方法1.2 风险强制类型转化风险:精度损失向下转型风险:转不成功//Person p2 = new Man();Woman w1 = (Woman)p2;w1.goShop原创 2020-08-10 00:50:42 · 276 阅读 · 0 评论 -
【Java 06】面对对象(中) - Debug调试、重写、super、多态性
一 面向对象中二1 Debug调试左侧行双击产生断点,Debug asResume(F8)直接执行到下一个断点处,如果没有断点算中止Terminate(Ctrl+F2)强制中止Step Into(F5)进入当前行调用的方法中Step Over(F6)执行完当前行的语句,进入下一行Step Return(F7)执行完当前行的语句,进入下一行Drop To Frame 回到方法的初始位置Javaee窗口和Debug窗口切换2 方法的重写(Override/overwrite)原创 2020-08-08 20:37:04 · 284 阅读 · 0 评论 -
【Java 05】面对对象(中) - Eclipse快捷键、对象数组、继承性
一 面对对象中一1 Eclipse快捷键补全代码:Alt + /将未写完的代码补充快速修复:Ctrl + 1如果出现错误,鼠标移动到那个位置,Ctrl + 1,则可以出现错误信息,并提供修复方法批量导包:Ctrl + Shift + o未导包的全部导包单行注释:Ctrl + /多行注释:Ctrl + Shift + /**取消多行注释:Ctrl + Shift + \ **复制指定行的代码:Ctrl + Alt + ↓ 或 Ctrl + Alt + ↑原创 2020-08-07 07:09:02 · 497 阅读 · 0 评论 -
【Java 04】 面向对象(上) - 封装性、权限修饰符、构造器、JavaBean、UML类图、this、package、import
一 面向对象(上三)1 一道递归题/** * 测试递归调用次数 */@Testpublic void binomial(){ recursion(10); recursion(4);}private static int count = 0;public static int recursion(int k){ count++; System.out.println("count:" + count +"\tk:" + k);原创 2020-08-06 06:12:09 · 270 阅读 · 0 评论 -
【Java 03】 面向对象(上) - 匿名对象、重载、可变形参、值传递机制、递归
一 面向对象(上二)1 类和对象的理解与关系类是对一类事物的描述,是抽象概念的定义 = 抽象概念的人对象是实际存在的该类事物的每个个体 = 实实在在的人1.1 两者关系对象是对类的实例化(new),由类派生出来的。更模糊的讲,就是对图纸(类)的实现(实例化) 如:车的图纸造出宝马奔驰。 ???? 和????。 模糊的人概念,比如“人”这个字 与 实际的一个有名字的 人,比如你的同学朋友。高级通俗点来讲,我们跟控制台去交互,需要先造一个类,API给我们提供好了,叫XX原创 2020-08-05 11:53:08 · 198 阅读 · 0 评论 -
【Java 02】 面向对象(上) - 类、对象、成员变量、方法
一 面向对象大纲Java类及类的成员:属性、方法、构造器;代码块;内部类三大特征:封装性、继承性、多态性(抽象性)其他关键字:this、super、static、final、abstract、interface、package、import…1 面向过程(POP) 与 面向对象(OOP)面向过程(Procedure Oriented Programming):强调的是功能行为,以函数为最小单位,考虑怎么做//C//① 把冰箱门打开//② 把大象塞进冰箱//③ 把冰箱门关闭v原创 2020-08-04 08:29:51 · 199 阅读 · 0 评论 -
【Java 01】 数组、部分算法
学习Java记录的一些笔记1 数组大纲1 一维数组1.1 数组的初始化//1.1静态初始化:数组的初始化和数组元素的赋值操作同时进行int[] ids = new int[]{1,2,3,4,5};//1.2动态初始化:数组的初始化和数组元素的赋值操作分开进行int[] ids = new int[5];String[] names = new String[5];1.2 调用数组元素names[0]1.3 获取数组长度names.length1.4 遍历数组for(i原创 2020-08-03 23:19:24 · 199 阅读 · 0 评论