反射在框架中会大量使用,这里是一个重点。 Class类 对象 代表是具体要去映射哪个类。...getName()); } } Field 类 反射技术中用于描述属性 package com.qf; import com.qf.lambdaDemo.Student; import java.lang.reflect.Field...; import java.util.HashMap; import java.util.Map; public class Demo1 { public static void main(...import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class Demo3...; import java.lang.reflect.InvocationTargetException; public class Demo4 { public static void main
一、 初识Java编程 1、 Java开发环境 JDK Java开发工具 JVM Java虚拟机 JRE Java运行环境 2、实现第一个hello world public class...; } } 执行代码: (1) 在命令窗体输入: javac 文件名.java (2) 输入:java 文件名 注意: (1) 类名和文件名要保持一致; (2) Java源代码中的所有标点符号使用英文输入法状态输入...; (3) Java源代码是区分大小写; (4) 类名默认都使用大写; 3、Java运行原理 4、变量的声明 声明语法: 数据类型 变量名 ; 赋值: 变量名 = 值; 示例: public class...double d = 123.456789;//保留2位小数 System.out.println((int) (d*100+0.5)/100.0); 三、运算符 1、算术运算符 重点掌握...Collections.shuffle(list);//随机排序 for (String s : list) { System.out.println(s); } 1.9 使用排序算法对集合排序
Java反射说的是在运行状态中,对于任何一个类,我们都能够知道这个类有哪些方法和属性。对于任何一个对象,我们都能够对它的方法和属性进行调用。...Class.forName("com.reflect.Main"); // 获取Main方法 Method method = clazz.getMethod("main", java.lang.String
import java.util.HashMap; import java.util.Map; public class Context { //策略 策略的存在 private...获取迭代器的接口 public interface Container extends Iterable { } //迭代器类 package com.qf.demo5; import java.util.Iterator...; import java.util.List; public class Ntr implements Iterator { private List objs;...; import java.util.Iterator; import java.util.List; public class NameRepository implements Container...; import java.util.List; public class Main { public static void main(String[] args) { NameRepository
Java种的内存分配: jvm把Java代码分为了5快区域,这样可以方便jvm去管理我们的Java代码。...基本数据类型和引用数据类型 在Java中类型分为了2大块,一块是基本数据类型 (八大)除了基本数据类型以外的所有的类型都叫做引用数据类型。...在数组中常见的异常: 1.角标越界异常:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 2....空指针异常:Exception in thread "main" java.lang.NullPointerException ##数组排序: 冒泡排序: package com.ly.array;
Server Pages是javaweb服务器端的动态资源,他与HTML 页面的作用是相同的,显示数据 和获取数据 6.2:JSP=html+Java脚本(代码片段)+JSP动态标签 6.3:JSP脚本就是...java片段 分为3种: :java语句 :java表达式// 与out.print()功能相同,向客户端输出 :java定义类成员 6.4原理: 是特殊的Servlet,当jsp页面首次被访问时,容器Tomcat会先把 jsp编译成Servlet,然后再去执行Servlet 7.Cookie概述 Cookie...Servlet:控制层,接收请求和向客户端响应的中间层,servlet是一种服务器端的java应 用程序 他往往用来处理请求的。
Java是如何处理的? GC(Garbage Collector):垃圾收集器,可以释放掉垃圾空间所占用的内存。...在java之中GC有两种方式处理:一种是由JVM不定期的执行GC操作,另外一种是由用户自己手工调用Runtime类的gc()方法进行垃圾空间的释放。
Java基础重点知识总结 一、Java基础内置对象 1.Object 可以使用该类型的变量引用任何类型的对象,其中有如下几个方法 toString() getClass():获取对象的“运行时”类型...中的三个类Field、Method、Constructor 实现泛型 关于类加载的机制,看JVM篇 java.lang.Class类可以访问Java运行时系统为所有对象维护的一个运行时的类型标识,我觉得也可以叫他是字节码对象...类加载器 大致分为如下几种类型 引导类加载器(Bootstrap Classloader)又称为根类加载器 它负责加载jre/rt.jar核心库,它本身不是Java代码实现的,也不是ClassLoader...接口的话,可以多个 如果在声明时没有指定任何上限,默认上限是java.lang.Object 泛型擦除 当使用参数化类型的类或接口时,如果没有指定泛型,那么会怎么样呢?...代表是下限或下限的父类,那么设置为下限或下限子类的对象是安全的 三、集合 首先看看菜鸟教程的集合框架图 我觉得涉及到的知识点大概如下 有哪些集合 集合之间的差别 线程安全/效率 算法 Collection
Java编程思想,Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面试过程中,而且在大型项目开发中也是常用的知识,既有简单的概念理解题...import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy...策略设计模式与适配器模式的区别 策略设计模式 创建一个能够根据所传递的参数对象的不同而具有不同行为的方法,被称为策略设计模式,这类方法包含所要执行的算法中固定不变的部分,而“策略”包含变化的部分。...explicit方法: public java.lang.String explicit(java.lang.String[]); Code: 0: new #18 // class java/lang...Java中,所有新的格式化功能都由java.util.Formatter类处理。
2、使用UUID算法产生ID值。 3、使用SnowFlake算法产生ID值。 由于Java提供了对UUID的支持, 可以直接通过UUID.random UUID) 获取到UUID值。...本文重点介绍SnowFlake算法。SnowFlake算法被称为雪花算法, 是由Twitter提出的一种生成ID的算法, 该算法会生成一个64bit的整数,共可以表示263个ID值。...SnowFlake算法采用“41位时间戳+10位机器码+12位序列号”的大致思想是, 当多个节需要生成多个ID值时,先判断这些节点是否是在同一时刻(精确到ms)生成的ID。...具体算法代码: //本例将10位机器码看成是“5位datacenterId+5位workerId” public class SnowFlake { private long workerId...this.datacenterId = datacenterId; this.workerId = workerId; } //通过SnowFlake生成id的核心算法
· String类的对象有两种实例化方式,一种是直接赋值,只会开辟一块堆内存空间,而且对象可以自动入池,另外一种方式使用构造方法完成,会开辟两块空间,有一块空间...
比较器(重点) 如果现在要想为一组对象进行排序,那么必须有一个可以区分出对象大小的关系操作,而这个操作在Java之中就是利用比较器完成的。...范例:实现比较器 package com.pku.wuyu.io; import java.util.Arrays; class Person implements Comparable <Person
集合来解决数组固定,如果扩容又影响效率的问题 UML图 类图 实线三角形是继承关系 虚线三角形是实现关系 箭头关联关系(结合两张图片,大概的了解一下) iterator 迭代器对象,是所有集合类的父接口 重点...: com.qf.entitys.Student cannot be cast to java.lang.Comparable at java.util.TreeMap.compare(TreeMap.java...:1290) at java.util.TreeMap.put(TreeMap.java:538) at java.util.TreeSet.add(TreeSet.java:255)...at Main6.main(Main6.java:9) 结论,因为TreeSet会自然排序,普通的类直接丢进TreeSet中会报错, 解决方案,Student中实现Comparable接口。...13.6 HashMap 重点 HashMap是以Key(键)--Value(值) 通过Key去寻找对应的值,江湖简称K-V键值对。
Java引用类型 引用数据类型:数组,类(String),接口。 class作为成员变量 类作为成员变量时,对它进行赋值的操作,实际上,是赋给它该类的一个对象。...Role.java package referenceType2; public class Role { private String name; private int blood; private...set()方法中可以传入匿名内部类 Role.java package referenceType3; public class Role { MagicAttack magicAttack;...(接口) package referenceType3; public interface MagicAttack { void magicAttack(); } Test.java package...ArrayList类我们并不陌生,查看API我们发现,实际上,它是 java.util.List 接口的实现类。
考前知识点整理 课程介绍 算法分析基础 算法的定义 算法正确性 算法的性质 程序的定义 程序与算法的区别 算法设计和分析的步骤 复杂度分析 算法的时间复杂性 算法渐近复杂性 渐近分析的记号...感兴趣的话可以参考 算法竞赛、小白学DP(动态规划) 学习相关代码的具体实现(Java版) 课程介绍 算法分析基础 算法的定义 算法是指解决问题的一种方法或一个过程。...算法是若干指令的有穷序列。 算法正确性 对每一个输入实例算法都能终止,并给出正确输出。 算法的性质 (1)输入:有外部提供的量作为算法的输入。...一个算法是对某类给定问题求解过程的精确描述,算法中描述的操作都可以通过将已经实现的基本操作执行有限次来实现,这句话说明算法具有有穷特性。 最长公共子序列算法利用的算法是 动态规划算法。...贪心选择性质是贪心算法可行的第一个基本要素,也是贪心算法与动态规划算法主要区别。 快速排序算法是基于 分治策略 的一种排序算法。
com.yangkaile.generator; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import java.util....*; /** * @description: DFA算法案例 * @class Name: ApplicationTest * @author: wangdong * @Date: 2021...getTriggerOverWord("一鞭后直接五鞭,",dfa_map); System.out.println(result); } /** * 构建成DFA算法模型
操作 使用Iterator遍历容器 类 java.util.Collections 提供了对Set、List、Map操作的方法(排序,填充,查找,打乱等) 重写equals、hashCode方法(重点)
Java 实现阶乘算法 阶乘算法如下: 以下列出 0 至 20 的阶乘: 0!=1,(0 的阶乘是存在的) 1!=1, 2!=2, 3!=6, 4!=24, 5!=120, 6!=720, 7!...java代码实现 package com.leo.kang.interview; import java.math.BigDecimal; public class Factorial { /**...——-“); System.out.println(factorialRecursive(20)); System.out.println(“——–循环算法——-“); System.out.println...(100))); } /** * 递归实现阶乘算法 * * @param n * @return */ public static long factorialRecursive(int n) {...== 0) { return 1; } if (n < 2) return n * 1; return n * factorialRecursive(n – 1); } /** * 循环实现阶乘算法
领取专属 10元无门槛券
手把手带您无忧上云