随笔分类 - Java学习
步入Java学习
摘要:8.23Java远程方法中使用反射机制 java.lang.reflect包 Construct类获取构造方法信息 Method类获取成员方法信息 Field类获取成员变量信息 反射机制在网络编程中的应用 反射机制在网络编程中的应用,实现如何在客户端通过远程方法调用服务器端的方法。 步骤 写一个He
阅读全文
摘要:8.23Java反射访问成员变量 访问成员变量的方法 getFields() getField(String name) getDeclaredFields() getDeclaredField(String name) 会返回一个Field对象,代表一个成员变量 object.getDeciare
阅读全文
摘要:8.23Java反射访问方法 获取一个对象方法的信息 动态获取一个对象方法的信息,首先需要通过下列方法之一创建一个 Method 类型的对象或者数组。 getMethods() getMethods(String name,Class<?> …parameterTypes) getDeclaredM
阅读全文
摘要:8.21Java反射访问构造方法 构造Constructor类型的对象或者数组动态获取对象构造方法的信息 构造一个Constructor对象或者数组: getConstructors() getConstructor(Class<?>…parameterTypes) getDeclaredConst
阅读全文
摘要:8.20Java反射机制之API 实现 Java 反射机制的类都位于java.lang.reflect 包中,java.lang.Class 类是 Java 反射机制 API 中的核心类。 java.lang.Class类 特点: Class 类的一个实例表示 Java 的一种数据类型,包括类、接口
阅读全文
摘要:8.20Java之反射机制的基本概念 编译期和运行期 编译期 概念: 把源码交给编译器编译成计算机可以执行的文件 特点: 在 Java 中也就是把 Java 代码编成 class 文件的过程。 编译期只是做了一些翻译功能,并没有把代码放在内存中运行起来,而只是把代码当成文本进行操作 运行期 概念:
阅读全文
摘要:8.17Java之插入排序(InsertionSort)算法 概念及介绍 将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增 1 的有序表 假设前面 n-1(其中 n>=2)个数已经是排好顺序的,现将第 n 个数插到前面已经排好的序列中,然后找到合适自己的位置,使得插入第n个数的这个序列也
阅读全文
摘要:8.13Java之排序算法 十种经典的排序算法 如图所示: 时间复杂度 概念: 对数据操作的次数(可以简单理解为:某段代码的执行次数) 常数时间复杂度:O(1) 对数时间复杂度:O(log n) >对数n的结果的函数 线性时间复杂度:O(n) >n是指操作次数 空间复杂度 概念: 某段代码每次执行时
阅读全文
摘要:8.16Java之选择排序算法 过程分析 每次都从数据中选出最大或最小的元素 步骤分析 先从全部数据中选出最小的元素,放到第一个元素的位置(选出最小元素和第一位位置交换位置); 然后再从除了第一个元素的剩余元素中再选出最小的元素,然后放到数组的第二个位置上。 循环重复上面的步骤,最终选出来的数据都放
阅读全文
摘要:8.14Java之使用HttpClient类通过POST方式上传文件 背景 简介: 因为在实际的业务当中存在上传文件的场景。经常是通过ajax发送form-data形式的表单。所以在测试的时候需要构造表单的形式进行测试。 关键参数 Content-Type:multipart/form-data;
阅读全文
摘要:8.11Java之数组知识回顾 数组 一维数组的定义与使用方式 数组基本练习 Arrays工具类 案例 点名器 二维数组 数组定义 相同类型数据的有序集合 一开始大小固定 >开始初始化 数组本身属于引用类型 >初始化需要new一个对象并且开辟空间 数组中可以存储任意类型的数据 创建数组时的内存分配说
阅读全文
摘要:7.24Java之配置JDBC配置文件 思路 创建File目录,存放数据库的一些信息 创建MySQL目录,存放三个连接配置类 MySQL配置类:存放从File目录下获取到的数据库的配置信息 >是数据库类和配置文件交互的中间类 MySQL有用的类(util):存放文件连接到具体的数据库的方法,返回Pr
阅读全文
摘要:7.23Java之递归练习 需求 使用递归计算1 - n之间的和 实例图 package PracticeReview.Recursion;/*使用递归计算1 - n之间的和 */public class RecursionDemoNo2 { public static void main(Str
阅读全文
摘要:7.23Java之递归 递归的概念 指在当前方法内调用自己的这种现象 递归分类 直接递归 间接递归 直接递归 方法自身调用自己 间接递归 可以A方法调用B方法,B方法调用C方法,C方法调用A方法 注意事项 递归一定有条件限定,保证递归能够停下来,否则会发生栈内存溢出(抛出这个异常) 递归次数不能太多
阅读全文
摘要:7.23Java之Lambda表达式之省略形式 Lambda表达式 特点: 可推到的,可省略 凡是可以根据上下文推导出来的内容都可以省略书写 可以省略的内容: (参数列表):括号中参数列表的数据类型可以省略不写 (参数列表):括号中的参数如果只有一个那么类型和括号都可以省略 {一些代码}:如果{}中
阅读全文
摘要:7.22Java之函数式编程思想 函数式编程思想概述 数学中的函数特点: 输入值 f(x) 输出值 相较于面向对象过分强调必须通过对象的形式来做事情,函数式思想尽量忽略面向对象的复杂语法。强调: 做什么,而不是什么形式做 面向对象的思想 做一个事情 找一个能完成事情的对象 调用对象的方法 完成事情
阅读全文
摘要:7.22Java线程池的使用 使用线程池中线程对象的步骤 首先由上篇博客明白: >JDK1.5之后内置了线程池的方法 步骤: 创建线程池对象 创建Runnable接口子类对象(task) 提交Runnable接口子类对象(take task) 关闭线程池(一般不做) Java中线程池的一些简述 线程
阅读全文
摘要:7.22Java之Lambda表达式练习 使用Lmabda表达式定义一个无参数无返回值的方法 定义一个接口: package PracticeReview.Lambda;/** * 定义一个接口,内含唯一一个抽象方法makeFood * @since JDK 1.8 * @date 2021/07
阅读全文
摘要:7.22Java线程池概念和原理 线程池思想的概述 背景 为了解决频繁创建线程和销毁线程带来的资源消耗 核心作用: 让线程不会被销毁,而是执行其他任务。该线程任务可以继续被调度 线程池的概念 一个容纳多个线程的容器,其中的线程可以反复使用 >线程复用 容器,就可以有很多种形式: >集合:ArrayL
阅读全文
摘要:7.20Java之封装multipart/form-data格式的表单并请求API 使用到的类 org.apache.http.entity.mime.MultipartEntityBuilder ContentType ContentType类 特点: 提供了对应到所有的ContentType类型
阅读全文