![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学术
酒话�
这个作者很懒,什么都没留下…
展开
-
如何使用MyBatis
1、什么是MyBatis?MyBatis源自Apache的iBatis开源项目, 从iBatis3.x开始正式更名为MyBatis。它是一个优秀的持久层框架。官网地址:http://www.mybatis.org/mybatis-3/2、为什么使用MyBatis?为了和数据库进行交互,通常的做法是将SQL语句写在Java代码中,SQL语句和Java代码耦合在一起不利于后期维护修改,而MyBatis能够帮助我们将SQL语句和Java代码分离,方便了后期因需求变动而对SQL语句...原创 2020-10-02 17:49:50 · 225 阅读 · 0 评论 -
MD5加密实战
MTD5加密是为了防止在数据库操作时,MBA(数据库管理员)直接获取用户的密码导致信息的泄露而采用的一种加密的方法;下面以登录系统为例进行说明:Main方法:package com.jd.test;import java.util.Scanner;import java.util.UUID;import com.jd.tool.MD5Tool;import com.jd.tool.db.DBLink;public class Main { public static ...原创 2020-07-02 18:05:45 · 121 阅读 · 0 评论 -
Java全局变量与局部变量
Java中代码块分为静态代码块和非静态代码块首先来区分一下静态代码块和非静态代码块的区别(在起作用时间):1、静态代码块类加载的时候执行;package joon;public class Test { static{ System.out.println("静态代码块"); }}2、非静态代码块每次创建对象时执行,每创建一个对象就会执行一次;pack...原创 2019-11-17 13:48:41 · 205 阅读 · 0 评论 -
Java中方法定义
Java语言把一组对象中相同属性和方法抽象到一个Java源文件就形成了类。首先总结创建对象的时候存储在内存中:创建类的对象是地址 Student student =new Student();这个时候student里面是地址值传递直接存储在栈里面而地址引用student和他的地址在栈里面而堆里面存放的是new Student()类名的命名规则:1、符合标识符命名规范;2、...原创 2019-11-16 12:11:16 · 158 阅读 · 0 评论 -
详述HashSet中add方法
一、HashSet中对象的创建在分析HashSet的add方法的底层代码之前我们先要理解HashSet集合中的对象是如何创建的。先创建一个JavaWeb工程,引入hashset的包,创建含有HashSet类的方法,然后就可以进入HashSet的底层代码:package hashset;import java.util.HashSet;public class Test {...原创 2019-08-11 21:16:40 · 5268 阅读 · 1 评论 -
DBUtil 实战学生管理系统
实战要求:使用DBUtil工具实现简单学生管理系统,要求: 添加学生信息,不允许添加学号相同的学生信息; 删除学生信息,根据学号删除学生信息; 修改学生信息,根据学号获取学生信息,修改后保存到集合中; 查询学生信息,根据学号在控制台显示学生基本信息:定义抽象类接口:import java.sql.ResultSet;public interface IRowMapper { ...原创 2019-08-14 17:00:49 · 99 阅读 · 0 评论 -
理解“堆”内存模型
Java 中的堆是 JVM 管理的最大的一块内存空间,主要用于存放Java类的实例对象,其被划分为两个不同的区域:新生代 ( Young )和老年代 ( Old ),其中新生代 ( Young ) 又被划分为:Eden、From Survivor和To Survivor三个区域,如下图所示:从JDK8开始,Metaspace(元空间)替代了永久代,如下图所示:无论哪个版本的...原创 2019-08-19 18:27:59 · 63 阅读 · 0 评论 -
Java注解
注解概念:1、JDK5及其以后JDK版本开始支持Java注解;2、Java注解(Annotation)也叫作元数据,以‘@注解名’在代码中存在,它是一种在源代码中标注的特殊标记,可以标注源代码中的类、属性、方法、参数等代码,主要用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。Java注解按照是否含有参数分为三种:不带参数,语法结构为:@Annotation带一个参...原创 2019-08-19 18:12:43 · 113 阅读 · 0 评论 -
DBUtil工具类
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;...原创 2019-08-14 16:42:51 · 205 阅读 · 0 评论 -
简述Log4j
问题引入:try-cathc-fianlly 方法会过多的占用内存,所以使用Log4j方法。Log4j概述Log4j是Apache的一个开源项目,通过使用Log4j,可以控制日志信息格式及其输送目的地(控制台、文件、数据库等),方便后期查找系统运行期间出现的问题,进而便于维护系统。配置Log4j步骤:第一步:导入log4j-1.2.15.jar依赖包;第二步:在src根目录下创建名...原创 2019-08-07 18:40:49 · 150 阅读 · 0 评论 -
详述throw与throws
封装:被调用代码package com.jd.vo;import com.jd.exception.AgeException;public class Student {//public int age;如果该变量为public级别的变量,则定义Student类的人无法对该变量的范围进行有效的约束 ,公共方法操作私有属性private int age;public void setA...原创 2019-08-07 18:18:10 · 134 阅读 · 0 评论 -
详述try-catch-fianlly
Java中的异常Java语言将程序运行过程中所发生的不正常严重错误称为异常,对异常的处理称为异常处理。它会中断正在运行的程序,正因为如此异常处理是程序设计中一个非常重要的方面,也是程序设计的一大难点。package expection;public class Test {public static void main(String[] args) { System.out.prin...原创 2019-08-07 16:36:58 · 136 阅读 · 0 评论 -
contains方法底层代码分析
import java.util.ArrayList;public class Test { public static void main(String[] args) { ArrayList<String> nameList = new ArrayList<>(); nameList.add("Tom"); String name = "Tom";...原创 2019-08-09 17:08:19 · 317 阅读 · 0 评论 -
equals底层代码分析
package equals;public class Test { public static void main(String[] args) { String name1="Tom"; String name2="Tom"; System.out.println(name1==name2); System.out.println(name1.equals(name2...原创 2019-08-09 15:24:39 · 114 阅读 · 0 评论 -
反射中如何获取Class类对象
反射概念:Java反射(Reflection)是一种新的操作类中成员变量、构造方法和普通方法的机制,为了实现对成员变量、构造方法和普通方法的操作,我们需要借助Java自身提供的java.lang包下(不需要引包)的Class类和java.lang.reflect包下的反射API 。Class类(是 Java 反射的核心类,可以获取类的属性方法等内容)Class类是Java 反射机制的入...原创 2019-08-20 11:16:18 · 1143 阅读 · 2 评论 -
详述html选择器
CSS 指层叠样式表(Cascading Style Sheets),用于设定网页中元素的显示方式。css的语法结构:第一种:选择器 { declaration1; declaration2; … }1、该种样式表由选择器以及一条或多条声明两个部分组成;2、该种样式表只能定义在style标签或css文件中,每个style标签或css文件可定义多个...原创 2019-09-27 20:00:37 · 347 阅读 · 0 评论 -
HTML表格
如同EXCEL表格一样,我们也可以在HTML的页面设计中进行对于表格的简单操作。HTML表格由table标签以及一个或多个tr、th或td标签组成:1、table标签用来定义表格,整个表格包含在<table>和</table>标签中;(table标签是双标签)2、tr标签用来定义表格中一个行,它是单元格的容器,每行可以包含有多个单元格,由<tr>...原创 2019-09-22 10:13:30 · 188 阅读 · 0 评论 -
多表查询
多个表关联查询需要依据多表之间列关系将其连接起来,这种连接方式分为三种:内连接(inner join)、外连接(outer join)及交叉连接(cross join)。内连接(inner join):如果依据多个表之间列关系进行内连接,查询结果集仅包括满足连接条件的数据行。内连接分为等值连接、不等值连接以及自然连接,其中等值连接最为常见。等值连接:在连接条件中使用等号(=)运算符比较...原创 2019-08-17 17:29:12 · 319 阅读 · 0 评论 -
事务隔离级别
问题引入:同一个应用程序中的多个事务或不同应用程序中的多个事务在同一个数据集上并发执行时, 可能会出现许多意外的问题,这些问题可分为如下三种类型:脏读(Drity Read): 已知有两个事务A和B, A读取了已经被B更新但还没有被提交的数据,之后,B回滚事务,A读取的数据就是脏数据(即修改之前的数据)。模拟情景:场景:公司发工资了,领导把5000元打到Tom的账号上,但是该事务并...原创 2019-08-17 17:10:24 · 62 阅读 · 0 评论 -
File类及其常用方法
File类:File类代表一个特定的文件或者目录,并提供了若干方法对该文件或目录进行操作。boolean isDirectory():判断此File对象代表的路径表示是不是目录,只有File对象代表路径存在且是一个目录时才返回true,否则返回false。import java.io.File;public class Test { public static void m...原创 2019-08-21 18:37:36 · 427 阅读 · 0 评论 -
SQL语句中事务及特点
当执行一组DML操作时,为了确保数据的完整性和一致性,避免数据库产生错误数据,就需要通过事务(Transaction)使该组DML操作同时成功或失败,例如:张三有两张银行卡,卡号分别是1234567890和0987654321,现从1234567890卡取出100块钱转到0987654321卡,则取出钱的卡需要减去100,转入卡需要增加100,现实生活中这两个update操作必须同时成功同时失败,...原创 2019-08-15 18:08:00 · 300 阅读 · 0 评论 -
SQL语句
结构化查询语言(Structured Query Language,简称SQL)是一种数据库查询和程序设计语言。SQL语句按其功能分为4类:1、数据定义语言(DDL Data Definition Language) :创建、修改或删除数据库中表、视图、索引等对象的操作,常用命令为create、alter和drop(创建,创建,清空);创建表语法:ALTER TABLE table_nam...原创 2019-08-15 17:40:47 · 91 阅读 · 0 评论 -
详述反射中构造方法、属性和普通方法 (如何获取、获取信息、如何使用)
获取构造方法:借助Class类某些可以获取对应类中声明的构造方法实例对象,这些方法有:1、Constructor[] getConstrutors():返回该Class对象表示类包含的所有public构造方法(不含继承)所对应Constructor对象数组。package vinus;import java.lang.reflect.Constructor;import jav...原创 2019-08-20 17:36:56 · 113 阅读 · 0 评论 -
为什么需要外键
例如:如何将一个用户的用户信息及其多个邮寄商品地址保存到数据库中?(数据特点:有较多的冗余数据,即账户和密码相同其他信息有差别)方案一:create table user_info(#创建共享信息表格 id char(36) primary key,#id信息为主键 user_name varchar(30) not null,#user_name不能为空 password ...原创 2019-08-15 11:08:54 · 70 阅读 · 0 评论 -
详述JDBC查询方法执行过程
package jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;interface IRowMapper{ void rowMapper(Res...原创 2019-08-13 17:39:50 · 84 阅读 · 0 评论 -
Lambda 表达式
Java支持Lambda 表达式始于Java 8,它的出现简化了函数式接口匿名内部类的语法,其表达式语法如下:([参数1], [参数2], [参数3],… [参数n])->{代码块}匿名内部类:@FunctionalInterfaceinterface IComputer { void add(int a, int b); }public class Test { public...原创 2019-08-06 18:16:10 · 91 阅读 · 0 评论 -
Maven的安装
下载下载地址:https://archive.apache.org/dist/maven/maven-3/,这里下载apachemaven-3.5.0-bin.zip安装配置测试配置存储库镜像站点拷贝settings.xml文件原创 2019-07-31 11:25:20 · 84 阅读 · 0 评论 -
Java语言中的函数式接口以及抽象类与接口区别
函数式接口的定义:如果接口内只定义一个抽象方法,则该接口称为函数式接口,如下例:package qaq;@FunctionalInterfacepublic interface IFather {void eat();}该接口中只有eat的抽象方法,所以该接口成为函数式接口。注意:1、可以使用@FunctionalInterface 注解来验证一个接口是不是函数式接口,Java8...原创 2019-08-03 17:21:18 · 711 阅读 · 0 评论 -
Java中父类对子类构造方法的影响
父类中的默认构造方法如果父类拥有无参构造方法(无论隐式的还是显式的)且子类中的构造方法又没有明确指定调用父类的哪个构造方法,则子类中没有调用该子类其它构造方法的构造方法使用super()隐式调用父类的无参构造方法,如下代码:package suris;public class Father { public Father() {//默认构造方法 super();//隐藏在Source中...原创 2019-08-03 16:51:08 · 91 阅读 · 0 评论 -
Java语言中的接口
接口的定义:一个抽象类中都是抽象方法,则可以将该抽象类定义成接口。Java接口是抽象方法的集合,其定义语法为:访问权限控制符(该访问控制符只有两个:public和友好的。) interface 接口名(接口名的命名规则和类名的命名规则相同。) [extends 接口列表] {常量;抽象方法;内部类;}//接口内只能包含常量(public static final)、抽象方法及内部类...原创 2019-08-02 17:11:32 · 204 阅读 · 0 评论 -
继承与重写
为什么要有继承因为存在两个创建的类其中的方法大致相同,两者如果存在这样的关系,则这个时候需要有继承的关系。什么是继承继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。这种技术使得复用以...原创 2019-07-30 11:48:58 · 143 阅读 · 0 评论 -
值传递和地址传递
地址传递我们今天提到的地址传递是发生在方法的调用中数组之间的调用public class Test{static void t(int []a) { a[0]=0; }public static void main(String[] args) { int[]age= {100}; t(age); System.out.println(age[0]); }}由于...原创 2019-07-29 17:58:59 · 94 阅读 · 0 评论 -
详述对象初始化过程
简述this在代码块中的指代作用public class Student { private void print(){ System.out.println(this);//输出的为地址,即(new Student) } public static void main(String[] args) { Student student =new Student();//stu...原创 2019-07-29 14:49:02 · 100 阅读 · 0 评论 -
详述Java注释
注释的作用注释在编程语言中虽不体现在运行中却为我们提供了很多的便利。人们往往不能清晰而准确地记忆曾编写代码的内涵和表达的含义,高级代码的编写代码行便是肉眼可见的“长篇大论”,很多甚至可以达到几十万行之多,这时便能体现出注释的重要性。我们所处的时代是一个技术更新很快,bug需要实时更新修补,软件需要实时维护升级的快节奏高技术时代,对于一个编写好的软件或者代码我们需要时常对其进行修改和增添。而在进行...原创 2019-05-22 17:17:53 · 188 阅读 · 0 评论 -
Java的基本数据类型
数据类型的分类基础数据类型1.整型:byte、short、int、long;2.浮点型:double、float;3.布尔型:boolean;4.字符型:char;各种数据类型的操作实例public class Shuju{ public static void main(String[] args){ int age=12;//这是整型 System.out.print...原创 2019-05-26 00:35:22 · 134 阅读 · 0 评论 -
位运算符与逻辑运算符的区分
位运算符位运算是将数据先转化为二进制数补码形式,再逐位(bit)按规则计算。“按位与”运算符“&”,规则"全1则1,否则为0"“按位或”运算符“|”规则“全0则0,否则为1”“按位非”运算符“~”,规则“遇1则0,遇0则1”“按位异或”运算符“^”规则“相同为0,不同为1”按位运算是可逆的,对某个数据进行两次相同异或运算结果将会还原逻辑运算符逻辑运算符(&...原创 2019-05-26 00:06:01 · 206 阅读 · 0 评论 -
详述Java标识符
Java标识符的定义标识符(identifier)是指用来标识某个实体的一个符号,在不同的应用环境下有不同的含义。正如在C语言中,在计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。标识符通常由字母和数字以及其它字符构成。Java标识符用来给类、对象、方法、变量、接口和自定义数据类型命名的。Java标识符命名和使用时的规则(1...原创 2019-05-25 23:47:39 · 214 阅读 · 0 评论 -
Maven中如何创建Java和Java Web项目
1、打开Eclipse,点击Ctrl+N键,出现下图:2、依照操作顺序完成对上图的操作,出现下图:3、点击上图“Next>”按钮,出现下图:4、依照操作顺序完成对上图的操作,出现下图:Group Id:由org、com或cn等域名+公司名称构成,比如org.apacheArtifact Id:项目名称Version:项目版本号Package:由Group Id和Arti...原创 2019-07-31 11:42:03 · 80 阅读 · 0 评论 -
详述String类实例化方式及equals与“=”区别
==我们先来介绍一种关系运算符"==":该运算符用来判断值是否相等:如果在基本数据类型中,由于变量与值同在栈中,所以比较的是值是否相等package pro;public class Test {public static void main(String[] args) {int a=12;int b=12;System.out.println(a==b);}因为a和b中的数...原创 2019-08-04 11:39:02 · 248 阅读 · 1 评论 -
详述静态内部类与非静态内部类
按照是否有static修饰分为静态内部类和非静态内部类,有static修饰的为静态内部类,没有static修饰的为非静态内部类。非静态内部类:package pro1;public class Body { class Heart{ int age; void work() { System.out.println("正在睡觉"); } public void getHea...原创 2019-08-06 17:59:16 · 89 阅读 · 0 评论