![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
后端
后端
kudo_sama
这个作者很懒,什么都没留下…
展开
-
【Java】获取Class类的几种方式
//通过反射获取类的Class对象Class c1 = Class.forName("com.kudo.reflection.User");原创 2020-12-08 16:10:35 · 187 阅读 · 0 评论 -
【Java】自定义注解
//自定义注解public class Test03 { //注解可以显示赋值,如果没有默认值,我们就必须给注解赋值 @MyAnnotation2(name = "kudo") public void test() {} @MyAnnotation3("kudo") public void test2() {}}@Target({ElementType.TYPE, ElementType.METHOD})@Retention(RetentionPolicy原创 2020-12-08 15:24:45 · 47 阅读 · 0 评论 -
【Java】元注解
//测试元注解@MyAnnotationpublic class Test02 { }//定义一个注解//Target 表示我们的注解可以用在哪些地方@Target(value = {ElementType.METHOD, ElementType.TYPE})//Retention 表示我们的注解在什么地方还有效//runtime>class>sources@Retention(value = RetentionPolicy.RUNTIME)//Document原创 2020-12-08 15:24:02 · 190 阅读 · 0 评论 -
【Java】内置注解
@Override、@Deprecated、@SuppressWarningspackage com.kudo.annotation;import java.util.ArrayList;import java.util.List;public class Test01 extends Object{ //重写的注解 @Override public String toString() { return super.toString(); }原创 2020-12-08 11:23:23 · 45 阅读 · 0 评论 -
【Java】if、while、for的区别
if(条件判断)小明:你是不是凶手?嫌疑犯1:我不是。小明:你是不是凶手?嫌疑犯2:我不是。…小明:你是不是凶手?嫌疑犯n:我是。while(循环)小明:你是不是凶手?嫌疑犯:我不是。(然后小明把嫌疑犯打一顿。)小明:你是不是凶手?嫌疑犯:我不是。(然后小明把嫌疑犯再打一顿。)…小明:你是不是凶手?嫌疑犯:我是。do while(先进行一次,再循环)小明上来先给嫌疑犯打一顿。小明:你是不是凶手?嫌疑犯:我不是。(然后小明把嫌疑犯打一顿。)小明:你是不是凶手?嫌原创 2020-12-05 20:14:52 · 492 阅读 · 2 评论 -
【Java】Hello World 的奇怪写法
PrintStream printStream = new PrintStream(System.out);printStream.println("123");原创 2020-12-04 20:59:07 · 109 阅读 · 0 评论 -
【Java】获取注解信息
//练习反射操作注解public class Test12 { public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException { Class c1 = Class.forName("com.kudo.reflection.Student2"); //通过反射获得注解 Annotation[] annotations = c1.ge原创 2020-12-09 20:45:48 · 70 阅读 · 0 评论 -
【Java】获取泛型信息
//通过反射获取泛型public class Test11 { public void test01(Map<String, User> map, List<User> list) { System.out.println("test01"); } public Map<String, User> test02() { System.out.println("test02"); return nu原创 2020-12-09 18:32:00 · 156 阅读 · 0 评论 -
【Java】反射性能对比
public class Test10 { //普通方式调用 public static void test01() { User user = new User(); long startTime = System.currentTimeMillis(); for(int i = 0; i < 1000000000; i++) { user.getName(); } long en原创 2020-12-09 16:10:37 · 126 阅读 · 0 评论 -
【Java】动态创建对象执行方法
//动态的创建对象,通过反射public class Test09 { public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException, NoSuchFieldException { //获得Class对象原创 2020-12-09 15:31:51 · 487 阅读 · 0 评论 -
【Java】获取类的运行时结构
//获得类的信息public class Test08 { public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException, NoSuchMethodException { Class c1 = Class.forName("com.kudo.reflection.User"); //获得类的名字 System.out.print原创 2020-12-09 15:05:45 · 100 阅读 · 0 评论 -
【Java】类加载器
public class Test07 { public static void main(String[] args) throws ClassNotFoundException { //获取系统类的加载器 ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader(); System.out.println(systemClassLoader); //获得系统类原创 2020-12-09 13:54:53 · 41 阅读 · 0 评论 -
【Java】分析类的初始化
//1.主动引用 Son son = new Son(); //2.反射也会发生主动引用 Class.forName("com.kudo.reflection.Son"); //不会产生类的引用的方法 System.out.println(Son.b); Son[] array = new Son[5]; System.out.println(Son.M);...原创 2020-12-09 11:21:44 · 31 阅读 · 0 评论 -
【Java】类加载内存分析
public class Test05 { public static void main(String[] args) { A a = new A(); System.out.println(A.m); /* 1.加载到内存,会产生一个类对应Class对象 2.链接,链接结束后 m = 0 3.初始化 <clinit>() {原创 2020-12-09 11:02:07 · 63 阅读 · 0 评论 -
【Java】所有类型的Class对象
Class c1 = Object.class; //类 Class c2 = Comparable.class; //接口 Class c3 = String[].class; //一维数组 Class c4 = int[][].class; //二维数组 Class c5 = Override.class; //注解 Class c6 = ElementType.class; //枚举 ...原创 2020-12-08 17:30:35 · 122 阅读 · 0 评论 -
【Java】捕获和抛出异常
try catch public static void main(String[] args) { int a = 1; int b = 0; //Ctrl+Alt+T try { //try 监控区域 System.out.println(a/b); } catch (Error e) { //catch 捕获异常 System.out.println("Error"原创 2020-12-22 17:19:49 · 78 阅读 · 0 评论 -
【Java】Error和Exception
Exception在Exception分支中有一个重要的子类RuntimeException(运行时异常)ArrayIndexOutOfBoundsException(数组下标越界)NullPointerException(空指针异常)ArithmeticException(算术异常)MissingResourceException(丢失资源)ClassNotFoundException(找不到类)这些异常一般由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这些异常的发生;Error和原创 2020-12-22 16:42:12 · 51 阅读 · 0 评论 -
【Java】内部类
public class Outer { private int id; public void out() { System.out.println("这是外部类的方法"); } //内部类 public class Inner { public void in() { System.out.println("这是内部类的方法"); } //获得外部类的私有属性原创 2020-12-22 15:16:20 · 27 阅读 · 0 评论 -
【Java】接口
//接口都需要有实现类public interface UserService { //常量 int AGE = 1; //public static final int AGE = 1; //接口中的所有定义其实都是抽象的public void add(); void delete(); void update(); void query();}//实现了接口的类,就要重写接口中的方法//利用接口实现多继承public cl原创 2020-12-22 15:01:18 · 225 阅读 · 0 评论 -
【Java】抽象类
//抽象类 只能单继承public abstract class Action { //约束,有人帮我们实现 //抽象方法,只有方法名字,没有实现 public abstract void doSomething(); //1. 不能new这个抽象类,只能靠子类去实现它 //2. 抽象类可以写普通的方法 //3. 抽象方法必须在抽象类中}//抽象类的所有方法,继承了它的子类都必须实现他的方法,除非子类也是抽象类public class A ext原创 2020-12-22 14:42:21 · 43 阅读 · 0 评论 -
【Java】static关键字
静态属性,静态方法//staticpublic class Student { private static int age; //静态的变量 private double score; //非静态的变量 public void run() { } public static void go() { } public static void main(String[] args) { Student s1 = new S原创 2020-12-22 11:48:36 · 114 阅读 · 0 评论 -
【Java】多态
多态即同一方法可以根据对象的不同而采取多种不同的行为方式。一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多。 public static void main(String[] args) { //一个对象的实际类型是决定的 //可以指向的引用类型就不确定了: 父类的引用指向子类 //Student 能调用的方法都是自己的或者继承父类的 Student s1 = new Student(); //Perso原创 2020-12-22 10:50:17 · 35 阅读 · 0 评论 -
【Java】方法重写
public class A { public void test() { System.out.println("A"); }}public class B extends A{ @Override public void test() { System.out.println("B"); }}重写:子类重写父类方法名必须相同参数列表必须相同修饰符可以扩大,不能缩小异常范围可以缩小,不能扩大...原创 2020-12-21 17:40:17 · 49 阅读 · 0 评论 -
【Java】继承
public class Student extends Person {}子类只能有一个父类,父类可以有多个子类子类继承父类的属性和方法,private修饰的不行没有继承的类,默认继承Object类创建子类时,先调用了父类的无参构造,再调用了子类的无参构造super指父类,this指本类...原创 2020-12-21 16:51:52 · 43 阅读 · 0 评论 -
【Java】创建对象内存分析
原创 2020-12-21 15:48:03 · 88 阅读 · 0 评论 -
【Java】构造器
public class Person { String name; //无参构造器默认创建 public Person() { } public Person(String name) { this.name = name; }}构造器和类名相同没有返回值作用new本质在调用构造器初始化对象的值注意点:定义有参构造之后,如果想使用无参构造,就必须显示定义一个无参构造...原创 2020-12-21 10:44:17 · 47 阅读 · 0 评论 -
【Java】冒泡排序
public class ArrayDemo07 { public static void main(String[] args) { int a[] = {1,213,32,4123,3451,123,12,2,4}; int[] sort = sort(a); System.out.println(Arrays.toString(sort)); } //冒泡排序 //1. 比较数组中,两个相邻的元素,如果第一个数比第二个数大,我们就交原创 2020-12-20 16:39:11 · 62 阅读 · 0 评论 -
【Java】Arrays类
Arrays类提供了很多方法 public static void main(String[] args) { int[] arr = {143,232,1234,31,234,123,43,23}; //哈希值 System.out.println(arr); //打印数组元素 System.out.println(Arrays.toString(arr)); //排序:升序 Ar原创 2020-12-20 16:01:27 · 49 阅读 · 0 评论 -
【Java】二维数组
public static void main(String[] args) { int[][] array = {{1,2},{2,3},{3,4}}; //打印,遍历 for (int i = 0; i < array.length; i++) { for (int j = 0; j < array[i].length; j++) { System.out.println(arr...原创 2020-12-20 15:45:21 · 47 阅读 · 0 评论 -
【Java】初始化及内存分析
静态初始化:创建 + 赋值 int[] a = {1,2,3,4,5,6,7,8,9,10};动态初始化:包含默认初始化 int[] b = new int[10]; b[0] = 10;数组的默认初始化数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化...原创 2020-12-20 11:15:33 · 53 阅读 · 1 评论 -
【Java】递归
递归自己调用自己public class Demo06 { //2! 2*1 //3! 3*2*1 public static void main(String[] args) { System.out.println(f(5)); } //阶乘 public static int f(int n) { if (n == 1) { return 1; } else {原创 2020-12-19 20:54:15 · 59 阅读 · 1 评论 -
【Java】可变参数
在方法声明中,在指定参数类型后加一个省略号(…)。一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。public class Demo04 { public static void main(String[] args) { printMax(1,2,3); } //比大小 public static void printMax(double... numbers) { if (numbers.length == 0) {原创 2020-12-19 20:49:38 · 56 阅读 · 1 评论 -
【Java】方法的重载
重载1.在同一个类中2.方法名称必须相同3.参数列表必须不同4.方法的返回类型可以相同也可以不相同原创 2020-12-19 20:43:38 · 60 阅读 · 1 评论 -
【Java】打印三角形
public static void main(String[] args) { //打印三角形,5行 for (int i = 1; i <= 5; i++) { for (int j = 4; j >= i; j--) { System.out.print(" "); } for (int j = 1; j <= i; j++) { ...原创 2020-12-18 20:54:04 · 49 阅读 · 1 评论 -
【Java】九九乘法表
public static void main(String[] args) { for(int i = 1; i <= 9; i++) { for(int j = i; j <= 9; j++) { System.out.print(i + "*" + j + "=" + (i * j) + "\t"); } System.out.println(); ...原创 2020-12-18 20:29:11 · 145 阅读 · 1 评论 -
【Java】Scanner
public static void main(String[] args) { //创建一个扫描器对象,用于接受键盘数据 Scanner scanner = new Scanner(System.in); System.out.println("请输入数据:"); //判断用户有没有输入字符串 //使用next方式接收 String str = scanner.next(); Syst...原创 2020-12-17 16:49:20 · 44 阅读 · 0 评论 -
【Java】数据类型
强类型语言要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用Java的数据类型分为两大类基本数据类型 //八大基本数据类型 //整形 int num1 = 10; byte num2 = 20; short num3 = 30; long num4 = 30L; //long类型要在数字后面加个L //小数:浮点数 float num5 = 50.1F; //f原创 2020-12-17 15:45:10 · 42 阅读 · 0 评论 -
【SpringMVC】Jackson和Fastjson
<!--JSON乱码问题配置--> <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <constructor-arg...原创 2020-12-25 16:33:15 · 88 阅读 · 0 评论 -
【SpringMVC】使用注解开发SpringMVC
web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/原创 2020-12-24 20:22:16 · 101 阅读 · 1 评论 -
【SpringMVC】初识
web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org.原创 2020-12-24 16:39:14 · 112 阅读 · 1 评论