自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 问答 (1)
  • 收藏
  • 关注

转载 idea快捷方式

1.IDEA常用快捷键Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C 最近更改的代码Ctrl+R 替换文本Ctrl+F 查找文本Ctrl+Shift+Space 自动补全代码Ctrl+空格 代码提示Ctrl+Alt+Space 类名或接口名提示Ctrl+P 方法参数提

2021-05-21 15:23:15 240

转载 IDEA中使用debug调试项目详解

https://blog.csdn.net/yxl_1207/article/details/80973622 在现在的开发中,我们经常采用Debug来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。   所以学习下如何在Intellij IDEA中使用好Debug,主要包括如下内容:     一、De

2020-11-23 16:19:16 1098

原创 Java小白的数据库爱情(九)mybatis 逆向工程

Java小白的数据库爱情(九)mybatis 逆向工程mybatis-generator是一款mybatis自动代码生成工具,可以 通过配置,快速生成pojo,mapper和xml文件.官方网址:http://mybatis.org/generator/configreference/xmlconfig.htmlgeneratorConfig.xml配置 需添加到资源包下 src下<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE ge

2020-11-15 11:24:50 130

原创 Java小白的数据库爱情(八)mybatis Log4j 日志

Java小白的数据库爱情(八)mybatis Log4j 日志Log4J简介日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功 能强大的日志组件,提供方便的日志记录。在apache网站: jakarta.apache.org/log4j 可以免费下载到Log4j最新版本的软件包Log4J组成:Loggers Appenders Layout1.Logger:控制要启用或禁用哪些日志记录语句,并对日志信息进行级别限制。2.Appenders : 指定了日志将打印到控制台

2020-11-15 11:24:17 114

原创 Java小白的数据库爱情(七)mybatis 动态SQL

动态SQLMyBatis 的一个强大的特性之一通常是它的动态 SQL 能力。 如果你有使用 JDBC 或其他 相似框架的经验,你就明白条件地串联 SQL 字符串在一起是多么的痛苦,确保不能忘了空 格或在列表的最后省略逗号。动态 SQL 可以彻底处理这种痛苦。通常使用动态 SQL 不可能是独立的一部分,MyBatis 当然使用一种强大的动态 SQL 语 言来改进这种情形,这种语言可以被用在任意映射的 SQL 语句中。动态 SQL 元素和使用 JSTL 或其他相似的基于 XML 的文本处理器相似。在 My

2020-11-15 11:21:54 94

原创 Java小白的数据库爱情(六)mybatis typeAliases标签

Java小白的数据库爱情(六)mybatis typeAliases标签typeAliases标签使用方法<typeAliases><!--<typeAlias type="com.shsxt.pojo.User" alias="u"/> --><!-- <typeAlias type="com.xxxx.pojo.Emp"/>--><!--如果 alias="emp"属性省略,默认别名为类名,不区分大小写--><p

2020-11-15 11:18:29 72

原创 Java小白的数据库爱情(五)mybatis 入门环境搭建

Java小白的数据库爱情(五)mybatis 入门环境搭建Mybatis不是一个完全的orm框架,Mybatis需要程序员自己写sql,但是 也存在映射(输入参数映射,输出结果映射),学习门槛mybatis比 hibernate低;同时灵活性高,特别适用于业务模型易变的项目,使用 范围广。简单概括: 更加简化jdbc代码,简化持久层,sql语句从代码中分离,利用反射, 将表中数据与java bean 属性一一映射 即 ORM(Object Relational Mapping 对象关系映射)使用范围:

2020-11-15 11:17:14 87

原创 Java小白的数据库爱情(四)Oracle DDL、DML使用

Java小白的数据库爱情(四)Oracle DDL、DML使用rowid 、rownumrowid 和 rownum都是伪列rowidrowid 不是表的某一个字段,相当于对象的地址,根据地址转换的,不是真实的地址,可以用来区分数据的唯一是在 插入到数据库表中时候已经确定rowidrowid 和 rownum都是伪列 --rowid 不是表的某一个字段,相当于对象的地址,根据地址转换的,不是真实的地址,可以用来区分数据的唯一是在 插入到数据库表中时候已经确定rowidrowid作用:

2020-11-15 11:16:14 128

原创 Java小白的数据库爱情(三)Oracle 简单语法

Java小白的数据库爱情(三)Oracle 简单语法简单查询查询:select *|字段名1,字段名2|… from 数据源取别名:结果集中的字段 表别名​ “ ” -> 原封不动显示 select 字段名(as) 别名, 字段名 别名,...... from 数据源 别名字符串:’ ‘字符串的拼接:||伪列:表中不存在字段,但可以穿:表达式,数值,字符串虚表:dualnull:null 值与数值参与运算还是null,与字符串拼接 结果为原串​

2020-11-15 11:14:28 76

原创 Java小白的数据库爱情(二)Oracle 入门

Java小白的数据库爱情(二)Oracle 入门概述随着互联网时代的到来,需要持久化数据呈现井喷式发 展,常规的 io 操作虽然可以满足持久化的需求,但是, 对于持久化的目的,对数据的操纵,显然力不从心,且 操作的复杂度很大,不利于大规模的发展,审时度势, 数据库应运而生。数据库数据库(Database)是按照数据结构来组织、存储和管理数 据的 仓库 ;随着信息技术和市场的发展,数据管理不再 仅仅是存储和管理数据,而转变成用户所需要的各种数 据管理的方式。数据库有很多种类型,从最简单的存储 有各种

2020-11-15 11:13:11 82

原创 Java小白的数据库爱情(一)JDBC连接数据库

Java小白的数据库爱情(一)JDBC连接数据库JDBC: java database connectivity java 与数据 库的连接JAVA连接数据库 JDBC直接连接步骤:1.加载驱动 (选择数据库) 驱动jar包是由数据库生产厂商提供 ,数据库的安装目录下寻找2.建立连接 (与数据库建立连接)3.封装sql4.封装处理块(静态处理块,预处理块) (发送执行sql)5.接口结果集并处理6.关闭资源​ 1.加载驱动Class.forName("or

2020-11-15 11:10:58 72

原创 JAVA小白的崛起之路(十九)网络编程

JAVA小白的崛起之路(十九)网络编程网络编程基于TCP的Socket实现客户端与服务端的文件发送客户端步骤//指定的是所要连接的服务器的ip和端口。//创建文件对象//输出流//输出//刷出//读取响应//读入//关闭服务端步骤//建立服务器端套接字//阻塞式监听//创建文件对象//输入流//读写文件//刷出//输出流 给响应//刷出//关闭代码实现客户端import java.io.*;import java.net.Socket;/**

2020-11-11 14:42:52 58

原创 JAVA小白的崛起之路(十八)内部类

JAVA小白的崛起之路(十八)内部类一般情况,我们把类定义成独立的单元。有些情况下,我们把一个类放在另一个类 的内部定义,称为内部类。作用:内部类可以很好的实现细节隐藏。 一般的非内部类,是不允许有 private 与 protected 权限的,但内部类可以。内部类拥有外围类的所有元素的访问权限,利用这个特性可以实现java中的多 继承可以避免修改接口而实现同一个类中两种同名方法的调用。分类:广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名 内部类和静态内部

2020-11-11 14:42:34 177 1

原创 JAVA小白的崛起之路(十七)xml

JAVA小白的崛起之路(十七)xml概念可扩展标记语言,xml是互联网数据传输的重要工具,它 可以跨越互联网任何的平台,不受编程语言和操作系统 的限制,可以说它是一个拥有互联网最高级别通行证的 数据携带者。特点xml与操作系统、编程语言的开发平台都无关;实现不同系统之间的数据交互。作用配置应用程序(servlet 配置,框架环境配置等)和网站数据交互Ajax基石格式良好的 XML 文档需满足以下条件必须有XML声明语句 (第一行)必须有且仅有一个根元素标签成对元素正确嵌套

2020-11-10 16:55:01 82

原创 JAVA小白的崛起之路(十六)正则

JAVA小白的崛起之路(十六)正则正则表达式是用来描述具有一定特征的字符串的特殊字 符串。Regular Expression。作用 验证、查找、替换、分割 。贪婪模式在匹配次数不定时如 *, {n,}, + 匹配字符越多越好, 默认模式即”贪婪模 ”贪婪模式 greedy(匹配字符越多越好,可回溯)? 懒惰模式 lazy reluctant (匹配字符越少越好,可回 溯)+独占模式 possessive(匹配字符越多越好,不可回溯) 用的较少 cokecolacooooooooooooo

2020-11-10 16:53:57 649

原创 JAVA小白的崛起之路(十五)注解

JAVA小白的崛起之路(十五)注解Annotation(注解)就是Java提供了一种元程序中的元素关 联任何信息和任何元数据 (metadata)的途径和方法。 Annotation是一个接口,程序可以通过反射来获取指定 程序元素的Annotation对象,然后通过Annotation对象来 获取注解里面的元数据。注解API非常强大,被广泛应用 于各种Java框架。元数据:描述数据的数据注解的分类根据注解参数的个数分类1)、标记注解:一个没有成员定义的Annotation类型被 称为标记注解。2

2020-11-10 16:51:59 116 1

原创 JAVA小白的崛起之路(十四)反射

JAVA小白的崛起之路(十四)反射​ JAVA反射机制是在运行状态中,对于任意一个类,都能 够知道这个类的所有属性和方法;对于任意一个对象, 都能够调用它的任意一个方法和属性;这种动态获取的 信息以及动态调用对象的方法的功能称为java语言的反 射机制,很多优秀的开源框架都是通过反射完成的。Java反射机制,可以实现以下功能:①在运行时判断任意一个对象所属的类;②在运行时构造任意一个类的对象;③在运行时判断任意一个类所具有的成员变量和方法;④在运行时调用任意一个对象的方法;⑤生成动态代理;

2020-11-10 16:50:32 107

原创 JAVA小白的崛起之路(十三)多线程

多线程创建线程的三常见大方法:继承Thread 类实现:1、创建线程类:继承**Thread ** +重写run()方法2、构建线程对象:创建子类对象3、启动线程:通过子类调用start()public class TestThread extends Thread { @Override public void run() { while (true) { try { Thread.sleep(1000)

2020-11-10 16:48:28 63

原创 JAVA小白的崛起之路(十二)IO

JAVA小白的崛起之路(十二)IOIO操作步骤在进行任何操作之前,首先要明确目的(读还是写),找准源头(读取),找准目 的地(写出)。建立联系 :这一步骤是为了获取流,如果此时是文件,则需要将文件抽象到 内存形成对象。后期也可以是其他的数据源选择流:从读写、数据单元和功能方面考虑。输入|输出,字节|字符,结点流| 处理流。执行操作:该读就读,该写就写。考虑是一次性完成还行需要循环。释放资源:程序中打开的文件 IO 资源不属于内存中的资源,垃圾回收无法回 收,需要显示关闭读取public

2020-11-10 16:46:29 71

原创 JAVA小白的崛起之路(十一)Stream

JAVA小白的崛起之路(十一)StreamStream的操作三个步骤1、创建Stream一个数据源(如:集合、数组),获取一个流2、中间操作一个中间操作链,对数据源的数据进行处理3、终止操作一个终止操作,执行中间操作链,并产生结果Stream集合|数组->数据源,侧重与数据的存储Stream对数据的计算,是对数据操作的元素序列特点:1.Stream不能存储数据2.stream操作不影响数据源,得到一个新的stream3.stream一次性的流,已经使用过后的流不能再次使用了

2020-11-10 16:43:55 66

原创 JAVA小白的崛起之路(十)Lambda

JAVA小白的崛起之路(十)Lambda1、语法 ()->{}2、演变过程 , Lambda本质 -> 就是一个接口中的唯一的那个方法的实现Lambda表达式是一个匿名函数, 我们可以把 L a m b d a 表达式理解为是一段可以传 递的代码(将代码像数据一样进行传递) 。可以写出更简洁、更灵活的代码。作 为一种更紧凑的代码风格,使得Java语言表达能力得到了提升。左侧:Lambda表达式的参数列表。对应接口中抽象方法的参数列表。右侧:Lambda表达式中所需要执行的功能,即Lam

2020-11-10 16:37:58 89

原创 JAVA小白的崛起之路(九)容器

JAVA小白的崛起之路(九)容器定义 :容器就是一个可以存储多个数据而且是多种类型的类,而且存储的数据个数是可以任意改变的。数组与容器的区别:数组可以存储基本数据类型,也可以存储引用数据类型,集合只能存储引用数据类型。数组是固定长度的,集合的长度是可变的。数组存储的元素必须是同一个数据类型;集合存储的对象可以是不同数据类型。ArrayList与LinkedList的区别和有缺点:​ 容器的概念:​ 在Java当中,如果有一个类专门用来存放其它类的对象,这个类就叫做容器,或者就叫做集​

2020-11-10 14:23:12 152 2

原创 JAVA小白的崛起之路(八)数组

JAVA小白的崛起之路(八)数组定义:数组是 相同类型 数据的有序集合,数组描述的是 相同类型的若干个 数据 ,按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组 元素 ,每 个数组元素可以通过一个 下标 来访问它们。基本特点:其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。其元素必须是相同类型,不允许出现混合类型数组中的元素可以是任何数据类型,包括基本类型和引用类型。数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对 象的成员变量构建type[]

2020-11-10 14:05:03 204

原创 JAVA小白的崛起之路(七)枚举

JAVA小白的崛起之路(七)枚举概述可以简单地理解枚举就是一种特殊的 java类,在这个特殊的类当中定义几个静态变量,每个变量都是这个类的实例。通 过关键字 enum 实现,自动继承自 Enum 类(枚举类)。枚举(enum),是指一个经过排序的、被打包成一个单一实体的项列表。一 个枚举的实例可以使用枚举项列表中任意单一项的值。枚举在各个语言当中都 有着广泛的应用,通常用来表示诸如颜色、方式、类别、状态等等数目有限、 形式离散、表达又极为明确的量。使用有限的个数,确保数据的安全性。值是有语义

2020-11-09 22:55:34 46

原创 JAVA小白的崛起之路(六)泛型

JAVA小白的崛起之路(六)泛型介绍:Java泛型是JDK1.5中引入的一个新特性,其本质是参数化类型,也就是说所操作的 数据类型被指定为一个参数(type parameter)这种参数类型可以用在类、接口和 方法的创建中,分别称为泛型类、泛型接口、泛型方法泛型类和泛型接口如果定义的一个类或接口有一个或多个 类型变量 ,则可以使用泛型。泛型类型变 量由尖括号界定,放在类或接口名的后面。泛型符号:只是一个符号,一个占位符而已,不存在任何意义,我们习惯使用一个 大写的字母 T,E,K,Vpublic

2020-11-09 22:53:51 74

原创 JAVA小白的崛起之路(五)常用类

JAVA小白的崛起之路(五)常用类objectObject类是所有Java类的根基类如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类toString方法其返回值是 String 类 型,用来描述当前对象的有关信息。在进行String与其它类型数据的连接操作时(如: System.out.println(“info”+person)),将自动调用该对象类的toString()方法。可以根据需要在用户自定义类型中重写toString()方法。equals方法提供

2020-11-09 22:52:34 88

原创 JAVA小白的崛起之路(四)异常机制

JAVA小白的崛起之路(四)异常机制异常概念:异常(Exception) 即例外,程序没有按自己预想的结果运行出来,出现了非正常情 况,即“程序得病了”Java异常类是Java提供的用于处理程序中错误的一种机制。设计良好的程序应该在 异常发生时提供处理这些错误的方法,使得程序不会因为异常的发生而阻断或发生 不可预见的结果。Java程序的执行过程中如出现例外事件,可以生成一个异常类对象,该异常对象封 装了例外事件的信息并将被提交给Java运行时系统,这个过程称为抛出( throw )异 常。当Jav

2020-11-09 22:03:37 45

原创 JAVA小白的崛起之路(三)面向对象

JAVA小白的崛起之路(三)面向对象三大特性:封装、继承、多态面向对象和面向过程的区别:​ 面向对象和面向过程的总结 :都是解决问题的思维方式,都是代码组织的方式。 解决简单问题可以使用面向过程 解决复杂问题:宏观上使用面向对象把握,微观处理上仍然是面向过程。面向对象思考方式:遇到复杂问题,先从问题中找名词,然后确立这些名词哪些可以作为类,再根据问 题需求确定的类的属性和方法,确定类之间的关系。类、对象:1、类中预备好了空间可以存储数据,创建对象之后,真的有空间了,能存储数据了2、每一个

2020-11-09 22:02:10 101

原创 JAVA小白的崛起之路(二)方法

JAVA小白的崛起之路(二)方法函数也叫方法或者功能就是可以用来完成特定功能的代码块,有名字,还可以传参数。可以用来重复使用定义和使用方法的定义|创建位置:类中,所有的方法之外语法:public static 返回值类型 方法名(类型 变量名1, 类型 变量名2){ 方法体; 实现功能的具体步骤}public 权限修饰符:公开的static : 静态, 现在可以直接在主方法中调用返回值类型:​ void : 方法没有返回值​ 类型 : 方法有返回值方法名:方法的标记,方

2020-11-09 21:55:04 55

原创 JAVA小白的崛起之路(一)基础语法

JAVA小白的崛起之路(一)基础语法基础语法关键字:是被系统征用的特殊单词(标识符),而且是被广大 程 序员所认知的。标识符:就是给类,接口,方法,变量等起名字的字符序列。用来查找、定位、标明、唯一 确认内容。 表示类名的标识符用大写字母开始标识符命名规则:标识符必须以字母、下划线_ 、美元符开头。标识符其它部分可以是字母、下划线“_”、美元符“ ”和数字的任意组合。Java 标识符大小写敏感,且长度无限制。不可以是Java的关键字变量:Java变量是程序中基本的存储单元,其要

2020-11-09 21:31:58 64

原创 JAVA小白的数据库爱情(一)JDBC连接数据库

JDBCJDBC: java database connectivity java 与数据 库的连接JAVA连接数据库 JDBC直接连接步骤:1.加载驱动 (选择数据库) 驱动jar包是由数据库生产厂商提供 ,数据库的安装目录下寻找2.建立连接 (与数据库建立连接)3.封装sql4.封装处理块(静态处理块,预处理块) (发送执行sql)5.接口结果集并处理6.关闭资源​ 1.加载驱动Class.forName("oracle.jdbc.driver.Ora

2020-11-03 08:33:10 90

转载 网络编程客户端与服务端通信的步骤

客户端网络编程步骤**客户端(Client)是指网络编程中首先发起连接的程序,客户端一般实现程序界面和基本逻辑实现,在进行实际的客户端编程时,无论客户端复杂还是简单,以及客户端实现的方式,客户端的编程主要由三个步骤实现:1、 建立网络连接客户端网络编程的第一步都是建立网络连接。在建立网络连接时需要指定连接到的服务器的IP地址和端口号,建立完成以后,会形成一条虚拟的连接,后续的操作就可以通过该连接实现数据交换了。2、 交换数据连接建立以后,就可以通过这个连接交换数据了。交换数据严格按照请求响应模型进

2020-10-22 20:46:46 1128

原创 网络编程基于TCP的Socket实现客户端与服务端的文件发送

网络编程基于TCP的Socket实现客户端与服务端的文件发送客户端步骤//指定的是所要连接的服务器的ip和端口。//创建文件对象//输出流//输出//刷出//读取响应//读入//关闭服务端步骤//建立服务器端套接字//阻塞式监听//创建文件对象//输入流//读写文件//刷出//输出流 给响应//刷出//关闭客户端import java.io.*;import java.net.Socket;/** * //指定的是所要连接的服务器的ip和端口。

2020-10-22 20:28:14 501 1

原创 通过内部类创建线程四大方法

通过内部类创建线程静态内部类局部内部类匿名内部类Lambdapublic class DemoThread007 { //静态内部类 static class Inner extends Thread{ @Override public void run(){ for(int i = 0;i<20;i++){ System.out.println("一边抽烟....");

2020-10-20 19:28:53 635

原创 用java带你重现龟兔赛跑

模拟龟兔赛跑一场比赛中的每一个参赛者都是一个线程 乌龟 兔子 青蛙…谁先跑完1000步就算赢了, 但是兔子每跑10步休息10ms只要有人赢了游戏就结束了package test;public class Test3 implements Runnable {// 记录赢的人的名字 -->共享 private String winner; /* 定义线程体 */ @Override public void run() {

2020-10-20 00:40:47 125

原创 线程的理解与运用

线程1、线程与进程线程:线程(英语:thread)是操作系统能够进行运算调度的 最小单位。它被包含在进程之中,是进程中的实际运作 单位。进程:执行中的程序叫做进程(Process),是一个动态的概念区别:2、 创建线程继承Thread类实现实现Runnab接口实现实现Callable接口实现使用线程池创建run()方法中定义线程体如果出现异常只能捕获不能抛出3、线程的五大状态1.新生 : new就是新生2.就绪 : 当一个线程调用start(),就进入到就绪队列进行等待,等待

2020-10-20 00:15:08 84

转载 List遍历删除与迭代器(Iterator)

List遍历删除与迭代器(Iterator)原文地址:https://www.cnblogs.com/wunsiang/p/12765144.htmlList集合使我们非常熟悉的,ArrayList等集合为我们提供了remove()方法,但在遍历时却不能随便使用,我们我们今天便从实现层面讨论下原因以及Iterator的相关知识。ArrayList 遍历时删除方法for循环向后遍历的陷阱for(int i=0;i<list.size();i++){ if(list.get(i).equ

2020-10-15 11:15:45 960

原创 ArrayList的循环

ArrayList的循环随机生成20个[1,100]之间的随机整数,存入一个数组,然后取出其中大于15的整数放入一个List集合,最后利用循环在控制台上输出。然后将集合中的奇数全部清除,只留下偶数,查看剩余的偶数以及个数。import java.util.*;public class RandomArrayList { public static void main(String[] args) { ArrayList<Integer> list = new Ar

2020-10-14 11:04:22 1412

原创 Java中定时器的使用方法

Java中定时器的使用方法schedule(TimerTask task, long delay) // 延迟delay毫秒后,执行一次task。schedule(TimerTask task, long delay, long period) // 延迟delay毫秒后,执行第一次task,然后每隔period毫秒执行一次task。第一个参数"new MyTask(event.getServletContext())":是 TimerTask 类,在包:import java.util.Timer

2020-10-11 21:10:33 191

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除