
Java自学
小菜鸡历险记
这个作者很懒,什么都没留下…
展开
-
Java发送邮件报Failed message 1: com.sun.mail.smtp.SMTPSendFailedException: 502 Invalid input from 123.124
//我的邮箱(固定配置好的)、收件人,标题内容三要素 @Value("${spring.mail.username}") private String from;一直以为是自己测试所以被网易企业邮箱拦截了,后来发现是自己对发件人的地址格式配置有错误也就是上面本来$后面写的是小括号,其实应该是花括号。...原创 2022-04-13 11:40:12 · 6084 阅读 · 0 评论 -
使用node和npm&VS时出现的问题
当在VS的终端输入npm install时,会报错:npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查这是因为nodejs的环境变量配置,网上很多说的其实是错的,甚至有的还在配系统变量。正确做法应该是:(1)在用户变量里面新建F:\node是我安装的文件夹(2)在用户变量的Path,点击编辑,然后新建一个这样就可以解决刚开始可以在cmd窗口查到node -v,npm -v后来却不可以的问题。此时在VS的终端输入npm -install,会一直不停的出原创 2022-03-26 17:48:40 · 902 阅读 · 0 评论 -
Vagrant安装centos7时一直报错无法保存文件
试了很多方法,应该是需要将VirtualBox管理器的全局设定中的默认虚拟电脑位置改为和C盘下用户文件夹的.VirtualBox的VirtualBox.xml中的一个地址保持一致。原创 2022-03-21 22:09:50 · 926 阅读 · 0 评论 -
MyBatis中PersistenceException:Error querying database. Cause: org.apache.ibatis.type.TypeException:
org.apache.ibatis.exceptions.PersistenceException:Error querying database. Cause: org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property=‘arg0’, mode=IN, javaType=class java.lang.Object, jdbcType=null, numer原创 2022-03-06 19:21:19 · 1349 阅读 · 0 评论 -
Mybatis报错ClassNotfind
在用Mybatis进行开发时,一直报错找不到类,最后发现是路径的问题。(1)对于main下面的包来说,是一级目录,也就是前面只是前缀,在实际文件夹显示时还是一级,所以在IUserDao.xml中resultType要用点来进行连接同时要注意,自己建立的目录结构可能与网上的案例不一样,是因为idea默认会折叠更紧实显示,如果不想,需要取消这个地方的勾选(2)但是在resource下面,因为是资源包,所以不能建立包,就是目录了,目录需要用/来分割,也就是在SqlMapConfig中需要用这种类型的路径此原创 2022-03-05 16:23:14 · 1875 阅读 · 0 评论 -
2021-11-18Collections
package Collections;import java.util.ArrayList;import java.util.Collections;/* * -java.utils.Collections是集合工具类,用来对集合进行操作。部分方法如下: * -public static <T> boolean addAll(Collection<T> c, T...elements):往集合中添加一些元素 * -原创 2021-11-18 21:24:08 · 95 阅读 · 0 评论 -
2021-11-18可变参数
package VarArgs;/* * 可变参数:是jdk1.5之后出现的新特性 * 使用前提: * 当方法的参数列表数据类型已经确定,但是参数的个数不确定,就可以使用可变参数 * 使用格式:定义方法时使用 * 修饰符 返回值类型 方法名(数据类型...变量名){} * 可变参数的原理: * 可变参数底层就是一个数组,根据传递参数个数不同,会创建不同长度的数组,来存储这些参数 * 传递的参数个数,可以是0个(不传递),1,原创 2021-11-18 20:48:26 · 94 阅读 · 0 评论 -
2021-11-18哈希值
1.哈希值DemoHashCode.javapackage HashCode;/* * 哈希值:是一个十进制的整数,由系统随机给出(就是对象的地址值,是一个逻辑地址,是模拟出来得到的地址,不是数据实际存储的物理地址) * 在object类有一个方法,可以获取对象的哈希值 * int hash Code()返回该对象的哈希值 * hasCode方法的源码: * public native int hasCode() * native:代表该方法调用的原创 2021-11-18 19:44:37 · 381 阅读 · 0 评论 -
2021-11-16数据结构
1.栈和队列2.数组3.链表双向链表既能指向下一个元素,也能指向上一个元素。4.红黑树查询速度非常快。5、List集合list的特点:(1)有序的集合,存储元素和取出元素的顺序是一致的(存储123,取出123)(2)有索引,包含了一些带索引的方法(3)允许存储重复的元素。java.util.list接口 extends Collection接口List接口中带索引的方法(特有)public void add(int index, E element):将指定的元素,添加到该集合原创 2021-11-16 21:56:36 · 741 阅读 · 0 评论 -
2021-11-14泛型
1.泛型的概念2.使用泛型的好处Demo01Generic.javapackage Generic;import java.util.ArrayList;import java.util.Iterator;public class Demo01Generic { public static void main(String[] args) { /* * 创建集合对象,不使用泛型 * 好处: * 集合原创 2021-11-14 22:00:25 · 236 阅读 · 0 评论 -
2021-11-14Iterator迭代器
1.Iterator迭代器介绍有索引的时候可以用for循环,但是集合中有的没有索引,所以用Iterator迭代器进行遍历2.迭代器的代码实现Demo01Iterator.javapackage Iterator;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;/* * java.util.Iterator接口:迭代器(对集合进行遍历) * Iterator迭代器原创 2021-11-14 11:42:09 · 1592 阅读 · 0 评论 -
2021-11-14Collection
1.集合概述关于区别的第二条:数组既可以存储基本类型,又可以存储对象。但是集合只可以存储对象。2.集合框架介绍3.Collection常用功能原创 2021-11-14 11:01:41 · 222 阅读 · 0 评论 -
2021-11-13包装类
1.包装类的概念2.装箱与拆箱3.自动拆箱和自动装箱4.基本数据类型与字符串Demo02Integer.javapackage Interger;/* * 基本类型与字符串之间的转换 * 基本类型--》字符串 * 1.基本类型数据的值+”“最简单的方式 * 2.使用包装类中的静态方法 * static String toString(int i)返回一个表示指定整数的String对象 * 3.使用Str原创 2021-11-13 22:09:08 · 229 阅读 · 0 评论 -
2021-11-13System&StringBuliding
Demo01System.javapackage System;import java.util.Arrays;import java.util.Date;public class Demo01System { public static void main(String[] args) { //1.currentTimeMills(),一般用来测试程序的效率 long s = System.currentTimeMillis(); f.原创 2021-11-13 20:30:12 · 242 阅读 · 0 评论 -
2021-11-12Date类
1.毫秒值的概念和作用原创 2021-11-12 11:47:24 · 475 阅读 · 0 评论 -
2021-11-11Object类
1.Object的toString方法package Object;//String toString() 返回该对象的字符串表示//看一个类是否重写了toString方法,直接打印这个类对应对象的名字即可//如果没有重写toString方法,那么打印的就是对象的地址值(默认)//random没有重写,arraylist和scanner重写了public class DemoObjectToString { public static void main(String[] args) {原创 2021-11-11 22:12:05 · 83 阅读 · 0 评论 -
2021-11-09类作为成员变量类型
1.类作为成员变量类型Hero.javapackage Demo02;public class Hero { private String name;//英雄的名字 private int age;//英雄的姓名 private Weapon weapon;//英雄的武器 public void attack(){ System.out.println(age+"岁的" + name + "拿着" + weapon.getCode());//要用ge原创 2021-11-09 22:16:37 · 304 阅读 · 0 评论 -
31内部类
1.内部类的概念与分类分类:1。成员内部类2。局部内部类(包含匿名内部类)2.成员内部类的定义和使用Body.javapackage InnerClass;public class Body { public class Heart { public void beat() { System.out.println("心脏跳动,鹏鹏鹏"); System.out.println("我叫:" + name);原创 2021-11-08 21:24:23 · 64 阅读 · 0 评论 -
30四种权限修饰符
package xiushifu;/* * java中有四种权限修饰符 * public > protected > (default) > private *(我自己) 同一个类: YES YES YES YES * (我邻居)同一个包 YES YES Yes NO(同一个文件夹下,x原创 2021-11-08 20:43:04 · 218 阅读 · 0 评论 -
29final关键字
1.final关键字修饰类MyClass.javapackage Final;/*当final关键字用来修饰一个类的时候,格式:public final class 类名称{}*含义:当前这个类不能有任何的子类。(太监类) 但是会有父亲。 类内的内容不变,正常写 不能用一个final类作为父类注意:一个类如果是final的,那么其中所有的成员方法都无法进行覆盖重写(因为没儿子)* */public final class MyClass /*extends Obj原创 2021-11-08 19:37:03 · 201 阅读 · 0 评论 -
28笔记本USB接口案例分析
1.需求分析(这个程序写的不是太好,自己写的,其实可以把computer直接写成一个类,在main中进行创建使用即可。这篇博客中是在main方法中直接定义了)2.代码实现USB.interfacepackage Demo02USB;//设置为抽象方法,让键盘和鼠标重写public interface USB { //打开设备 public abstract void deviceOn(); //关闭设备 public abstract void device原创 2021-11-06 21:01:41 · 114 阅读 · 0 评论 -
27对象的向上向下转型
1.对象的向上转型也就是把右边的子类当作左边的父类来看。Animal.javapackage Demo01;public abstract class Animal { public abstract void eat();}Cat.javapackage Demo01;public class Cat extends Animal{ @Override public void eat() { System.out.println("猫吃鱼")原创 2021-11-06 20:24:44 · 90 阅读 · 0 评论 -
26Java中的多态
1.多态的概述多态指的是对象,即对象既有自己的形态,也有其父类的形态。2.多态的格式和使用(Day111104.Demo01)Demo01Multi.javapackage Demo01;/** 代码中体现多态性,其实就是一句话:父类引用指向子类对象。* 这就体现了多态的特点,一只猫被当作动物来对待* 格式:* 父类名称 对象名 = new 子类名称();* 或者* 接口名称 对象名 = new 实现类名称();* */public class Demo01Multi {原创 2021-11-04 21:06:00 · 98 阅读 · 1 评论 -
25接口之间的单继承
Demo01Relations.javapackage Relations;/** 1.类与类之间是单继承的。直接父类只有一个。* 2.类与接口是多实现的。一个类可以实现多个接口。* 3.接口与接口之间是多继承的。下面的MyInterface既继承MyInterfaceA又继承MyInterfaceB** 多个父接口的抽象方法名字重复,没关系;* 多个父接口的默认方法名字重复,有关系。子接口必须进行默认方法的覆盖重写。而且要带上default关键字* */public class Dem原创 2021-11-02 18:50:18 · 219 阅读 · 0 评论 -
24继承父类并实现多个接口
Demo01Interfacepackage InterfaceandExtend;/* * 1.接口不能有静态代码块和构造方法 * 2.一个类的直接父类是唯一的,但是一个类可以同事实现多个接口。 * public class MyInterfaceImpl implements MyInterfaceA, MyInterfaceB {} * 3.如果实现类所实现的多个接口当中,存在重复的抽象方法,那么只需要覆盖重写一次即可。 * 4.如果实现类没有覆盖重写所有接口当中的所有抽象方法,那原创 2021-11-02 17:10:57 · 164 阅读 · 0 评论 -
array,arraylist,string的总结
import java.util.ArrayList;/** 这个程序是对array,arraylist,string的总结* 1.创建*(1)数组:分为动态初始化和静态初始化。(动态初始化时其中元素会拥有一个默认值,'\u0000',false,null).一旦创建,程序运行期间长度不能发生改变。* (2)ArrayList:当向它存储基本数据类型时,必须基本类型得到包装类。两个特殊(Integer,Character)。默认为空[].长度可以随意发生变化。* (3)String:三种构造方原创 2021-10-28 10:20:36 · 160 阅读 · 0 评论 -
第24天学习Java的笔记-接口Interface
接口1.接口概述与生活举例2.接口的定义基本格式、接口的抽象方法定义及使用接口使用步骤:1.接口不能直接使用,必须有一个“实现类”来“实现”该接口。格式:public class 实现类名称 implements 接口名称 {//。。。}2.接口的实现类必须覆盖重写(实现)接口中所有的抽象方法。实现:去掉abstract关键字,加上方法体大括号。3.创建实现类的对象,进行使用。注意事项:如果实现类并没有覆盖重写接口中所有的抽象方法,那么这个实转载 2020-12-29 21:31:44 · 449 阅读 · 0 评论 -
第23天学习Java的笔记-抽象类
抽象1.抽象的概念图形一定可以计算面积,但是计算面积方法不确定;动物一定要吃东西,但是吃东西的方法不确定。2.抽象方法和抽象类的格式、使用package Demo2301;/** 抽象方法,就是加上abstract关键字,然后去掉大括号,直接分号结束* 抽象类:抽象方法所在的类,必须是抽象类才行。在class之前写上abstract即可。** 如何使用抽象类和抽象方法:* 1.不能直接创建new抽象类对象。* 2.必须用一个子类来继承抽象父类。* 3.子类必须覆盖重写抽象父类当中原创 2020-12-28 14:29:08 · 86 阅读 · 0 评论 -
第22天学习Java的笔记-继承
继承1.继承的概述[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c1ocRigI-1608862409653)(F:\Java\Learn\day15\day22.assets\image-20201224091344928.png)]2.继承的格式package Demo2201;//定义一个父类,员工public class Employee { public void method() { System.out.println("原创 2020-12-25 10:15:19 · 110 阅读 · 0 评论 -
第21天学习Java的笔记-数学工具类Arrays,Math
27天!数学工具类1.1数组工具类Arrayspackage Demo2101;/*注意事项:是Arrays进行调用,不是变量进行调用!!!* java.util.Arrays是一个与数组相关的工具类,里面提供了大量的静态方法(不用new,直接.调用),* 用来实现数组的常见操作。** public static String toString(数组):将参数数组{元素1,元素2,元素3...}变成字符串(按照默认格式:[元素1,元素2,元素3...])* public static原创 2020-12-19 11:20:24 · 2473 阅读 · 1 评论 -
第20天学习Java的笔记-static静态
静态static关键字1.概述[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1rR1rotO-1608259503514)(F:\Java\Learn\day15\day20.assets\image-20201218090551803.png)]2.静态static关键字修饰成员变量package Demo2001;public class Student { private int id; private String name;原创 2020-12-18 10:46:00 · 119 阅读 · 0 评论 -
第19天学习Java的笔记-String字符串
29天!字符串1.字符串概述和特点、构造方法和直接创建package Demo1901;/** java.lang.String类代表字符串。* API当中说,Java程序中的所有字符串字面值(如“abc”)都作为此类的实例实现。* 其实就是说,程序当中所有的双引号字符串,都是String类的对象。(就算没有new,也照样是)** 字符串的特点:* 1.字符串的内容永不可变【重点】。* 2.正是因为字符串不可改变,所以字符串是可以共享的。* 3.字符串效果上相当于是char[]字符原创 2020-12-17 15:18:38 · 170 阅读 · 0 评论 -
第18天学习Java的笔记-ArrayList
还有31天!对象数组package Demo1801;public class Person { private String name; private int age; public Person() { } public Person(String name, int age) { this.name = name; this.age = age; } public String getName()原创 2020-12-15 17:41:32 · 245 阅读 · 0 评论 -
第17天学习Java的笔记(匿名对象,随机数,猜数字小游戏)
33天!匿名对象package Demo1701;public class Person { String name; public void showName() { System.out.println("我的名字是" + name); }}package Demo1701;/*创建对象的标准格式:类名称 对象名 = new 类名称();匿名对象就是只有右边的对象,没有左边的名字和赋值运算符new 类名称();注意事项:匿名对原创 2020-12-13 11:08:53 · 198 阅读 · 1 评论 -
第16天学习Java的笔记(标准类,Scanner)
还有34天一、定义一个标准的类package Demo1601;/* * 一个标准的类通常要拥有下面四个组成部分: * * 1.所有的成员变量都用private关键字修饰 * 2.为每个成员变量编写一对儿Getter/Setter方法 * 3.编写一个无参数的构造方法 * 4.编写一个全参数的构造方法(这时的set方法并不是没有作用,可以用来后期改变参数) * * 这样标准的类也叫做Java Bean * */public class Student { privat原创 2020-12-12 11:02:34 · 104 阅读 · 0 评论 -
第15天学习Java的笔记(封装性,this,构造方法)
还有35天!面向对象三大特征之封装性package Demo1501;/* * 面向对象三大特征:封装、继承、多态 * * 封装性在Java中的体现: * 1.方法就是一种封装 * 2.关键字private也是一种封装 * * 封装就是将一些细节信息隐藏起来,对于外界不可见 * */public class Demo01Method { public static void main(String[] args) { int[] array = {10, 1原创 2020-12-11 11:15:44 · 170 阅读 · 0 评论 -
第14天学习Java的笔记(成员变量和局部变量)
一个对象的内存图package Demo1302;/* * 定义一个类,用来模拟“手机”事物。 * * 属性:品牌、价格、颜色 * 行为:打电话、发短信 * * 对应到类中: * 成员变量(属性): * String brand;//品牌 * double price;//价格 * String color;//颜色 * 成员方法(行为): * public void call(String who) {};//打电话 * public void send原创 2020-12-10 11:27:01 · 137 阅读 · 0 评论 -
第13天学习Java的笔记(类定义)
类和对象类=属性+行为;类是抽象的,对象是具体化的。package Demo1301;/*定义一个类,用来模拟“学生”事务。其中就有两个组成部分,属性(是什么):成员变量(属性) 姓名 String name 年龄 int age行为(能做什么):成员方法(行为) 吃饭 public void eat() {} 睡觉 public void sleep() {} 学习 public void study() {}注意普通方法是有static的原创 2020-12-09 11:40:53 · 93 阅读 · 0 评论 -
第12天学习Java的笔记(数组小练习,数组与方法)
38天求数组中的最大值package day1201;public class Demo01ArrayMax { public static void main(String[] args) { int[] array = {2, 5, 1, 4, 9, 3, 6}; int max = array[0]; for (int i = 1; i < array.length; i++) { //如果当前元素比上一轮的原创 2020-12-08 11:09:39 · 171 阅读 · 1 评论 -
第11天学习Java的笔记(数组注意事项)
39天Java的内存划分主要分为以下5个部分:1.栈(Stack):存放的都是方法中的局部变量。方法的运行一定要在栈当中运行。 局部变量:方法的参数,或者是方法{}内部的变量。 作用域:一旦超出作用域,立刻从栈内存当中消失。2.堆(Heap):凡是new出来的东西,都在堆当中。 堆内存里面的东西都有一个地址值:16进制 堆内存里面的数据u,都有默认值,规则: 如果是整数 默认为0 如果是浮点数 默认为0.0 如原创 2020-12-07 11:29:46 · 138 阅读 · 0 评论