自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 IDEA单步调试集合ArrayList的add方法进入到URLClassPath.class中解决思路

IDEA单步调试进入URLClassPath.class

2022-01-05 17:02:48 286

原创 Vue的生命周期

参考代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Vue的生命周期</title></head><body> <div

2020-11-21 15:07:49 151

原创 Spring和Mybatis整合的过程(详细的很)

一、准备工作IDEA 2019.3,创建一个maven项目,目录结构如下:

2020-11-12 15:39:35 767 4

原创 SpringMVC

一、SpringMVC的执行流程:我总结的大概执行流程如下,并配上一张说明图:1.首先客户端的浏览器Browser发送一个请求的如:http://localhost:8080/smvc119/home.do​ 该请求交给一个叫DispatcherServlet的(中央控制器),这是一个类,源码中的定义:public class DispatcherServlet extends FrameworkServlet,从它的继承关系可以看出它就是一个HttpServlet。2.该中央控制器

2020-11-09 17:51:36 170 4

原创 SpringTask任务调度(基于注解+xml配置文件的方式)

一、任务调度:我的理解是在一个规则下定时的自动的执行一些操作,如:某一系统在月初给用户发送话费清单的短信提醒,又比如购物商城在购物节的前夕给用户发送优惠的购物短信提示等。规则可以是时间规则,如每一小时或是每一秒,我的实例中使用的是cron表达式来规定时间规则的,有关cron表达式读者可以自行百度,下面我把我做的小的demo分享给大家。1.首先我使用的是idea的编译器,我们建立一个maven项目,项目结构和步骤如下:2.接着读者需要在pom文件中导入相关的依赖,截图如下:<dependen

2020-11-07 19:21:35 534

原创 Spring的注入方式、注入类型、及常用的注解

日常技术分享一、Spring注入方式总结首先的话有三种注入的方式,分别是:1.setter方法注入2.构造注入3.接口注入,但是接口注入指的是有时我们需要注入来自外界的资源,对Spring框架有侵入,所以一般只用前两种方式。下面对这两种进行总结与归纳。setter方法注入:指的是我们在一个类中使用set方法为我们的成员属性进行赋值操作,以下展示源代码与操作步骤:1.建立两个类的Person和Man,在一个包中,目录结构如下:Person类、Man类、Test2类:package

2020-11-04 18:46:57 2184

原创 有关Spring的技术知识分享

有关Spring的技术知识分享一. Spring的体系结构组成?对于这个问题我觉得spring的官网中一个图非常的好解释了这个问题,以下附上这张图1.首先从图中我们可以看到在最下面是一个Test,这个表示的测试模块,我们在平常的开发过程中可能会写一些小的测试代码片段来测试某一个功能模块,这时就可以用它了;2.Core Container:表示的是核心容器的意思;我们知道在传统的Java程序中,对象的创建是我们手工实现的;这样的话类和类之间的耦合性太高了,不利于我们后期对程序的维护与扩展。所以Spr

2020-11-04 09:04:20 276

原创 Java中的反射总结(实例源码有助于理解)

1.Filed类package com.my.reflection;import java.lang.reflect.Field;/* * 总结:通过反射的方式可以获得一个类的成员属性信息(公有的和非公有的) * * Field java.lang.Class.getField(String name) throws NoSuchFieldException, SecurityException * 此方法只能获取public的属性,否则会抛出异常;参数是对应的属性的名字 * *

2020-10-26 20:22:39 65

原创 Java中的&、&&、|、||、>>、<<、^运算符

关于这几个的运算符我一代码的实例来介绍,如下:1.&、&&、|、||、首先它们都是逻辑运算符,但是&&和||是短路运算符,也就是只判断运算符左边的即可,就可以确定整个表达式的结果了;所以它的执行效率高于&和|,因为这两个运算符需要将表达式中所有的boolean值都判断一遍,值得我们注意的是,这四个运算符的执行结果最终都是一致的(&和&&,|和||)实验代码如下:package com.my.collection.collectio

2020-10-20 13:45:41 761

原创 在java中,关于构造函数、构造代码块、静态代码块的执行顺序(有继承关系的和没有继承关系的)

我们在java中会遇到静态代码块、构造带码块、构造函数在一起出现的情况;或是具有继承关系中出现这种情况,这些代码块的执行顺序是什么呢,下面我会用一些示例来说明!一、没有继承关系的情况1.在非主类中,即非public类,出现构造代码块、静态代码块、构造函数的执行顺序://这是主类,即是public类;而在非主类即TestOrder中出现构造代码块、静态代码块、构造函数的执行次序;静态的代码块执行一次,没有main方法优先执行,main方法在主类中,所以先加载主类public class Cod

2020-10-20 10:45:57 133

原创 MySQL5.5的左连接、右连接、内连接详解及示例

我讲解的这个是使用的是Mysql5.5的版本,操作与示例1.首先是a、b表的设计2.左连接测试3.右连接测试4.内连接,测试中有a、b表中有相等的id与不同的id测试输出结果a.这个是没有相等的id的测试结果b.有相等的id测试结果5.没有一个符合条件的左连接测试...

2020-10-19 16:20:17 212

原创 Java的选择排序

package algorithm;import java.util.Arrays;public class SelectTest2 { public static void main(String[] args) {// int[]arr= {56,69,45,2,1}; int[]arr= {101,34,119,1}; int min=0;//标志每次的最小值 int minIndex=0;//标志每次最小值对应的位置 int len=arr.lengt.

2020-09-28 22:51:35 123

原创 Java的冒泡排序与优化(详细的写出了每一趟的代码)很容易理解的

Java冒泡排序参考代码每一趟的过程参考代码package algorithm;import java.util.Arrays;public class BubbleSort2 { public static void main(String[] args) { //准备数据 int[]arr1= {-2,4,5,0,-5,-9}; int len1=arr1.length; /* * 我们一趟一趟的输出,每一趟下来将最大数字放在最后面 */ /

2020-09-24 15:40:57 631

原创 设计模式之-----单例模式(双重校验锁+静态内部类)

一、为什么要说这两种呢,因为在互联网时代,高并发是常有的事,当多个线程同时来同时创建单例实例时,就会出现一些问题:比如单例失效,创建出多个对象了,就违背了单例模式,下面就说两种解决方案:双重校验锁+静态内部类。1.先展示出现单例失效的情况,我们模拟有十个线程来调用创建单例的方法,参考源码:运行截图:我们通过运行截图可以看到创建单例的构造方法被调用了十次,也就是创建了十个对象,而不是只创建出一个对象,所以单例失效了。我们可以使用synchronized关键字给创建单例对象的方法加锁,这样就保证了多线

2020-09-19 00:24:49 429

原创 Java中的代理模式(静态代理+动态代理),参考了部分

一、静态代理(参考源码),代码里面写有注释1.目录结构package com.apesource.service;import java.util.List;//订单的业务层接口/* * 代理类与被代理类都要实现的公共接口 * 订单业务层的方法 */public interface OrderService { /* * 创建订单 */ boolean createOrder(); /*查找订单 * */ List listOrder(); /*

2020-09-18 23:10:52 75

原创 Java设计模式-----单例模式(持续完善着)

一、单例模式(懒汉式,饿汉式,加同步锁的懒汉式:更新中)懒汉式://懒汉式package com.my.singleton;/*是创建型的模式单例模式:私有的构造方法、私有的成员变量、公有的静态工厂方法将一个类的构造函数私有化,可以使得该类不被别的类实例化,和不能被继承。要创建这个类的实例,唯一的办法是提供一个公共静态方法。这种方式被称为单例模式。spring框架中默认是单例模式创建对象的<bean id="date" class="java.util.Date" sco

2020-09-15 23:31:32 83

原创 String中的equals方法源码分析(JDK1.8)

关于JDK1.8中String的equals方法源码分析,源码如下:我们都知道equals方法是Object中的一个重要的方法,它默认是没有被重写的 ,Object中的equals方法源码如下: public boolean equals(Object obj) { return (this == obj); }String类对Object中的equals方法进行了重写(目的是比较String对象里面存的内容是否一致),重写的逻辑如下://调用该方法时会传入

2020-09-15 16:44:44 440

原创 手写jdbc,详细操作

JDBCJava数据库连接,Java Database Connectivity,简称JDBC是Java和数据库之间的一个桥梁,提供了诸如查询和更新数据库中数据的方法。以下使用MYSQL数据库做例子。相关的步骤写在代码里面,如下:1.将mysql的数据库连接jar包导入到项目中mysql-connector-java-8.0.15.jar(这个文件可以在网上下载)链接如下:https://repo1.maven.org/maven2/mysql/mysql-connector-java/

2020-09-06 12:19:27 1262

原创 Java中Map的四种遍历方式(超级详细的,有两个供参考的源码)

直接上源码,大家可以参考参考package com.my.maptest;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;import java.util.Set;public class Test { public static void main(String[] args) { //Map的四种遍历方法 Syste

2020-09-05 14:13:11 174

原创 Java设计模式之简单工厂、工厂方法、抽象工厂(超详细的讲解)

集合框架很快

2020-08-31 22:09:05 384

原创 Mybatis Plus与Mysql整合的入门教程

开始前准备:这是基于SpringBoot的项目,SpringBoot 2.3版本;使用工具:IDEA 2019、SQLyog10一、首先要在已存在数据库(使用SQLyog10)中建一个实体类的表,表结构如下:二、搭建项目的目录结构,截图如下:...

2020-08-23 21:11:35 1093 1

原创 TCP协议的三次握手(为了建立连接)

TCP协议的三次握手(为了建立连接)第一次握手:客户端(Client)向服务器端(Server)发送连接请求,等待服务器端确认;在这一次,客户端会发送一个含SYN同步标志的 TCP报文,SYN同步报文会指明客户端使用的端口以及TCP连接的初始序号(确定每次发来的请求的先后顺序,如果出现发送数据出问题,会根据此序号判断,然后重新发送数据);初始状态客户端与服务器端都处于关闭状态,发送完成后,客户端处于SYN_SENT已发送状态。第二次握手: Server向Client回一个响应,通知客户端自己收到

2020-08-21 22:03:56 1219

原创 关于Redis(非关系数据库)的总结

关于Redis的总结首先它采用的是key-value键值对的形式来存放数据的,使用“内存”作为存储介质的一种非关系型数据库(NoSQL DB)。它的性能是比较优越的,为什么这么说呢?根据它的官方给出的数据:在读时(GET)的速度:110000/s;写数据时(SET)速度81000/s;那这么好的性能它有那些应用场景呢?a.作为缓存来使用,对于一些热点数据(用户经常访问的数据),如:微博的热评、热搜之类的。b.日常生活中我们都会用手机进行支付,当我们在坐地铁时或者在12306抢票时,很

2020-08-20 23:47:50 260

原创 关于MySQL索引的总结

一、关于MySQL索引的总结1.什么是索引?索引是针对数据库中快速找到某一条数据而设计的一种数据结构。2.索引的分类主键索引(PRIMARY KEY):它是一种特殊的唯一索引,和主键一样不允许为空,且唯一;一般当我们在建表时,只要我们给一个表中的某一字段加上主键(PRIMARY KEY)的话,那么它就有一个默认的主键索引。唯一索引(UNIQUE):唯一索引的列值必须唯一,但是不同于主键索引,它可以有多个空值。创建方式: ALTER TABLE 表名 ADD UNIQUE(列名

2020-08-19 23:31:46 100

原创 JPA入门

一、JPA入门教程首先JPA(相当于通用接口)是Java Persistence API的简称,中文名Java持久层API;JPA的总体思想和现有Hibernate、TopLink、JDO等ORM框架统一。在JPA中默认的实现方式是Hibernate(全自动映射关系),在编程时我们只要准备实体类即可,无需关心具体sql语句怎么写,更多是关心业务层方法实现。1.准备工作:idea 2019.3(极限版本)+SQLyog(数据库操作的可视化工具)+jdk1.8(这是基于SpringBoot的程序)2.项目

2020-08-17 23:10:12 330

原创 Java中的反射

java中的反射一、主要使用的类1.Class类:代表类的定义Class对象的获取方式1.Class clz = Class.forName(“类的完全限定名”);2.Class clz =类名.class ;3.Class clz = 对象.getClass( );常用的方法forName(String className)注意参数是全类名(包名+类名)newInstance( ) 创建类的实例(对象)getName( ) 获得类的完整路径名字getSimple

2020-08-15 20:09:21 93

原创 Java网络编程

一、java中的网络编程1.基于TCP/IP协议InetAddress类获取本机的网络地址(主机名称+IP地址)InetAddress.getLocalHost();获取主机的名称getHostName()获取主机的IP地址getHostAddress()按照主机的名称获取网络地址(主机名称+IP地址)getByName(“www.jd.com”);按照主机名称获取多个网络地址:getAllByName(“www.taobao.com”)注意返回值是InetAddress[]客户端Soc

2020-08-14 23:28:54 94

原创 Spring的核心容器Core

一、Spring CoreSpring容器作用:用来创建并管理beanbean实例的创建:使用反射的方式,创建bean的实例(xml配置文件里面体现的)<!--这里相当于是通过类的全限定名用反射创建一个实例对象MessageController MessageControllerBean=Class.forName("com.my.web.controller.MessageController").newInstance(); --><bean id="Message

2020-08-11 19:25:11 319

原创 jsp的运行机制与原理

jsp的运行机制与原理首先xxxx.jsp文件它是一种视图技术,servlet容器(这里以Tomcat为例)并不能直接运行它,所以需要经过翻译与编译的过程才能在servlet容器里面运行。1.用户(客户端)访问响应的JSP页面,如http://localhost:8080/JavaEEServerlet01/test1.jsp2.Tomcat找到相应的JSP页面3.Tomcat将jsp翻译成xxxx-jsp.java源文件(xxxx-jsp.java 继承自public abstract class

2020-08-05 23:58:48 421

原创 Get请求与Post请求的区别?

一.Get请求与Post请求的区别?1.数据传输安全性方面:post请求是安全的,而get请求是不安全的,因为它将url(url地址传参)的参数直接暴露在浏览器地址栏里面,表单(form)默认是get请求。2.传输数据量方面:post请求传输的数据量无限制,而get请求则传输的数据量小。3.数据传输方式方面:post将参数值放在Request body中,而get使用url传递参数值。4.发送数据包数量方面:get发送1个TCP数据包,post发送2个TCP数据包(首先发送1个request hea

2020-08-05 23:54:20 116

原创 MyBatis持久化层技术

MyBatis技术总结模板分类:JavaEE框架技术之Mybatis作者:LL什么是MyBatis?MyBatis 框架也被称之为 ORM(Object/Relational Mapping,即对象关系映射)框架。MyBatis是基于jdbc的持久化框架;它将数据库中的表与java中的实体类通过映射文件(xxxMapper.xml)与配置文件(config.xml)联系起来。支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis中的主要组成部分MyBatis主要由

2020-08-05 23:52:04 526

原创 servlet的监听器

servlet的监听器监听三个数据作用域对象的创建和销毁的监听器(三个)ServletContextListener(接口)监听器(服务器或是”应用“的启动与关闭,注意在jsp的内置对象中appication由ServletContext创建的)服务器的启动(初始化):public void contextInitialized(ServletContextEvent sce)服务器的关闭(销毁):public void contextDestroyed(ServletContextEvent s

2020-08-04 23:48:39 767

原创 请你谈谈你对JSP内置对象的理解?

一、请你谈谈你对JSP内置对象的理解?首先jsp的内置对象指的是在jsp页面系统中已经设置好了,这些对象无需开发人员显示的声明就可以使用。可以通过内置对象实现jsp页面与servlet相互的访问。 jsp有9个内置对象,分别是page、pageContext、request、response、session、application、out、config、exception。1.page(相当于this)对象:指的是当前页面(当前JSP页面所对应的Servlet实例),Page对象是javax.se

2020-08-04 23:32:56 280

原创 Serverlet的生命周期(创建到销毁的过程)

一、Serverlet的生命周期(创建到销毁的过程)首先它有4个阶段:1.实例化2.初始化3.服务阶段4.销毁1.实例化:客户端在发起第一次请求时,"servlet容器(Tomcat)"会通过当前servlet的默认无参构造方法创建一个Servlet实例。2.初始化:因为步骤1已经将servlet实例创建好了,所以执行当前实例的init()方法(重写父类的init()方法)完成初始化工作。3.服务阶段:调用父类(public abstract class HttpServlet)的service()

2020-08-04 23:29:40 1498

空空如也

空空如也

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

TA关注的人

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