Java_基础
本专栏参考黑马程序员,就不在文章里说了,只为方便本人参考
Mike-H
这个作者很懒,什么都没留下…
展开
-
Spring JDBC,JdbcTemplate对象(增删改,查询封装为自定义对象(或map或list)等操作)、BeanPropertyRowMapper
Spring JDBC使用时还是得用到上一篇博客的druip和它的JDBCUtils的配置的,只不过它那些获取pstmt对象和.close方法就可以不用写,就更加方便一点。 (传送门:上一篇博客)原创 2020-11-19 19:52:48 · 603 阅读 · 0 评论 -
数据库连接池、JDBCUtils(有druid数据库连接池),配置文件路径写法(终版)、对普通数据进行增删改
一、数据库连接池原创 2020-11-18 23:05:41 · 893 阅读 · 1 评论 -
把数据表的数据封装成对象(放到集合里)、JDBCUtils(没数据库连接池)、getclassloader()、getResource()、纯数据库登录小案例、事务、类路径
一、查询数据库表的数据将其封装为对象,然后装载集合,返回数据库:re.getInt()括号里面的得写数据库里面的列名,如不是写你对应实体类(javabean)对应的成员变量名。实体类(javabean)对应的成员变量名可以不和mysql表的列名一样,但一般设置成一样。/** * @author QLBF * @version 1.0 * @date 2020/11/17 19:53 */import java.sql.*;import java.util.ArrayList;impor原创 2020-11-17 20:21:33 · 1111 阅读 · 0 评论 -
JavaBean
1、所有属性为private2、提供默认构造方法3、提供getter和setter4、实现serializable接口(但我们一般只写1和3点)参考:https://www.zhihu.com/question/19773379原创 2020-11-17 19:22:42 · 61 阅读 · 0 评论 -
新建普通java项目、加载mysql驱动、jar
1.创建普通java项目(就刺入创建一个类,或者连接数据库)在创建了java项目后,创建一个module然后我们再day_20这个模块建立数据库连接:1.1(JDBC简单入门)步骤:导入驱动jar包 mysql-connector-java-5.1.37-bin.jar1.1复制mysql-connector-java-5.1.37-bin.jar到项目的libs目录(可换名)下1.2右键–>Add As Library这里创建的是:再把复制mysql-connecto原创 2020-11-16 19:34:42 · 357 阅读 · 2 评论 -
JDBC本质
1.JDBC本质概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。...原创 2020-11-15 23:07:51 · 248 阅读 · 1 评论 -
序列化流和反序列化流、 Serializable 接口、 transient瞬态关键字
1.什么是序列化流什么是反序列化流?原创 2020-11-15 16:43:21 · 128 阅读 · 0 评论 -
缓冲流( BufferedInputStream , BufferedOutputStream ,BufferedReader , BufferedWriter)
一、缓冲流缓冲流是前面四种常用输入、输出流的增强版。原创 2020-11-14 22:30:47 · 604 阅读 · 0 评论 -
IO流、常见输入输出流区别、内存缓冲区、 IO异常的处理、 Properties
一、概念IO流就是联系硬盘跟内存的,分为字节流和字符流原创 2020-11-13 23:01:52 · 255 阅读 · 0 评论 -
File类、相对路径和绝对路径区别(有路径配置)、程序时间
一、File类java.io.File类文件和目录路径名的抽象表示形式。java把电脑中的文件和文件夹(目录)封装为了一个File类,我们可以使用File类对文件和文件夹进行操作我们可以使用File类的方法 创建一个文件/文件夹 删除文件/文件夹 获取文件/文件夹 判断文件/文件夹是否存在 对文件夹进行遍历 获取文件的大小File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法重点:记住这三个单词 file:文件 d原创 2020-11-13 15:53:43 · 2053 阅读 · 0 评论 -
Java注解
一、概念注释:是用文字描述程序的。给程序员看的注解:说明程序的。给计算机看的注解定义:注解(Annotation), 也叫元数据。 一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。概念描述: 1. JDK1.5之后的新特性 2. 说明程序的 3.使用注解:@注解名称 *作用分类:①编写文档:通过代码里标识的注解生成文档【生成文档doc文档】②代码分析原创 2020-11-11 20:19:12 · 657 阅读 · 0 评论 -
反射、类加载器、getClassLoader()、getResourceAsStream、配置文件配置
一、反射反射:是框架设计的灵魂框架:半成品软件。可以在框架的基础上进行软件开发,简化编码反射:将类的各个组成部分封装为其他对象,这就是反射机制 (下图蓝色部分)类加载器也见下图反射的好处:可以在程序运行过程中,操作这些对象。可以解耦,提高程序的可扩展性。...原创 2020-11-10 13:06:33 · 604 阅读 · 2 评论 -
Junit单元测试(@Test,Before,After)、断言
一、Junit单元测试(白盒测试)给一个方法单元测试:给方法加@Test导入junit依赖环境然后就可以点左边的绿色按钮单个执行方法了。如果执行,下面显示绿色代表成功,红色代表失败(一般都是有异常)单元测试不依赖以System.out.println();一般用断言操作。二、断言断言就是你可能某个方法写错(并不指的是真实的错误,有可能就是跟你预期不符合而已),但是Junit还是执行绿色的如下:import org.junit.Test;/** * @author QLBF原创 2020-11-10 10:36:45 · 1597 阅读 · 0 评论 -
主线程、进程、线程、并发并行
1.进程2.线程3.主线程主线程就是java 中main方法原创 2020-11-07 12:34:28 · 214 阅读 · 0 评论 -
异常的注意事项、自定义异常类
一、多个异常使用捕获又该如何处理呢?多个异常分别处理。(控制台能输出多条处理信息)多个异常一次捕获(try),多次处理(catch)。(控制台只会打印出现代码最前面的异常信息,第二个出现的异常打印不出来,得注释第一条异常才会输出第二条)(catch里边定义的异常变量,如果有子父类关系,那么子类的异常变量必须写在上边,否则就会报错,因为多态(还可以省略子类的catch只写父类的catch,所以一般写Exception这个大父类),因为父类 对象=new 子类对象已经可以了,再多一个catch就多原创 2020-11-06 22:33:11 · 313 阅读 · 0 评论 -
Java异常和错误、异常的产生过程解析、throw、Objects.requireNonNull、处理异常的方法(throws、try-catch)
java.lang.Throwable:类是 Java 语言中所有错误或异常的超类。1. Exception分两种异常(编译器异常和运行时异常)编译期异常(checked异常),进行编译(写代码的时候就报错了)java程序出现的问题, 在编译时期,就会检查,如果没有处理异常,则编译失败。(如日期格式化异常)RuntimeException(运行期异常),java程序运行过程中出现的问题,在运行时期,检查异常;在编译时期,运行异常不会被编译器检测(不报错)。(如数学异 常)2.异常和错误原创 2020-11-05 22:35:14 · 458 阅读 · 1 评论 -
Debug调试程序(Idea)
Debug调试程序可以让代码逐行执行,查看代码执行的过程,调试程序中出现的bug使用方式:在行号的右边,鼠标左键单击,添加断点(每个方法的第一行,熟悉以后哪里有bug添加到哪里)右键,选择Debug执行程序程序就会停留在添加的第一个断点处执行程序:f8:逐行执行程序f7:进入到方法中(有方法时用哦)shift+f8:跳出方法f9:跳到下一个断点,如果没有下一个断点,那么就结束程序(左边绿色按钮)ctrl+f2:退出debug模式,停止程序(就是左边红色的或者右上角红色按钮)Conso原创 2020-11-05 19:28:55 · 356 阅读 · 0 评论 -
使用Map(HashMap)存储自定义类的键值、HashTable
有点像HashSet存储自定义类型元素(eg:自定义的类)Map的键要唯一,所以:String类作为键的话,重写hashCode方法和equals方法(人家已经重写好了,我们不用重写),可以保证key唯一而我们自定义的类作为键的话,则必须重写hashcode和equals方法看代码好懂:import java.util.HashMap;import java.util.Objects;import java.util.Set;class Student{ private Strin原创 2020-11-04 22:26:50 · 625 阅读 · 0 评论 -
空指针异常
把null赋值给Integer可以,但是把null复制给int就报异常了原创 2020-11-04 19:28:33 · 100 阅读 · 0 评论 -
使用Collections工具类对对象进行排序
一、第一种- java.utils.Collections是集合工具类,用来对集合进行操作。部分方法如下:public static void sort(List list):将集合中元素按照默认规则排序。注意:sort(List list)使用前提被排序的集合里边存储的元素,必须实现Comparable,重写接口中的方法compareTo定义排序的规则Comparable接口的排序规则:自己(this)-参数:升序,反之是降序自己定义的类需implements Comparable<原创 2020-11-03 22:43:32 · 704 阅读 · 0 评论 -
HashSet存储自定义类型元素(eg:自定义的类)、使用list存储自定义类
set集合报错元素唯一:存储的元素(String,Integer,…Student,Person…),必须重写hashCode方法和equals方法(不重写的话,实现不了唯一)要求: 同名同年龄的人,视为同一个人,只能存储一次1.没重写前:import java.util.HashSet;class Person{ private String name; private int age; public Person() { } @Override原创 2020-11-03 15:40:36 · 202 阅读 · 1 评论 -
哈希值hashCode()、哈希表、Set集合存储元素不重复的原理
哈希值:是一个十进制的整数,由系统随机给出(就是对象的地址值,是一个逻辑地址,是模拟出来得到地址,不是数据实际存储的物理地址)在Object类有一个方法,可以获取对象的哈希值int hashCode() 返回该对象的哈希码值。(要对象.它就返回整数)hashCode方法的源码:public native int hashCode();native:代表该方法调用的是本地操作系统的方法class Person{ String name;}public class Demo01Hash原创 2020-11-02 22:12:36 · 489 阅读 · 0 评论 -
数据结构:栈、队列、数组、链表、红黑树
一、栈、队列二、数组三、链表四、红黑树(二叉查找树)还介绍了二叉树、排序树(查找树)、平衡树、不平衡树原创 2020-11-01 12:44:46 · 204 阅读 · 0 评论 -
集合(Collection)、toarray()、Iterator迭代器、增强for循环(foreach、Iterable)、泛型、Map
集合和数组既然都是容器,它们有啥区别呢?数组的长度是固定的。集合的长度是可变的。数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储。...原创 2020-10-31 15:52:55 · 312 阅读 · 4 评论 -
StringBuilder和包装类、基本类型与字符串类型之间的相互转换
String和StringBuilder(字符串缓存区)的区别:原创 2020-10-31 09:59:01 · 193 阅读 · 0 评论 -
Object.toString、equals、date、等常用API
java.lang.Object类 Object 是类层次结构的根(父)类。每个类(Person,Student…)都使用 Object 作为超(父)类。所有对象(包括数组)都实现这个类的方法。Person类默认继承了Object类,所以可以使用Object类中的toString方法String toString() 返回该对象的字符串表示(就是直接返回地址)。因为直接打印对象名就是输出地址值(其实就是调用toString),没什么意思,所有我们要在对应的类中重写tostring方法(打印其属性值原创 2020-10-28 21:58:22 · 163 阅读 · 0 评论 -
java匿名内部类及匿名对象
如果接口的实现类(或者是父类的子类)只需要使用唯一的一次,那么这种情况下就可以省略掉该类的定义,而改为使用【匿名内部类】。(匿名内部类就是不用在新的文件中写它的实现接口类而已)匿名内部类的定义格式:接口名称 对象名 = new 接口名称() {// 覆盖重写所有抽象方法(要实现完该接口所有抽象方法)}; (这里;要加上,两个接口名称是一样的)interface A{ public void noname();}public class Test { public stat原创 2020-10-28 20:08:14 · 982 阅读 · 0 评论 -
java字符串常量池以及==和equals区别
字符串常量池:程序当中直接写上的双引号字符串,就在字符串常量池中。对于基本类型来说,==是进行数值的比较。对于引用类型(eg:String)来说,==是进行【地址值】的比较。原创 2020-10-25 21:20:48 · 231 阅读 · 0 评论 -
idea常用快捷键
从今天开始java_web开发之路,弃坑深度学习cv…Alt+/:补全代码(需自己配)Alt + Insert 代码自动生成,如生成对象的 set / get 方法,构造函数,toString() 等输入psvm,按下enter键,生成main方法输入sout,按下enter键,生成System.out.println()方法输入fori,按下enter键,生成for循环输入iter,按下enter键,生成foreach循环参考:黑马、https://blog.csdn.net/fanren原创 2020-10-09 17:17:13 · 269 阅读 · 0 评论