自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 知识的表示方法

知识的表示方法

2021-12-19 14:27:09 837

原创 SpringBoot的使用

SpringBootSpringBoot概述Spring Boot是一个便捷搭建基于Spring工程的脚手架,主要的作用就是帮助开发人员快速的构建庞大的Spring项目,并且尽可能的减少一切xml配置,依赖管理特点 :创建独立的Spring应用,为所有Spring的开发者提供一个非常快速的广泛接受的入门体验直接嵌入应用服务器,如tomcat,jetty,undertow等,不需要去部署war包提供固定的启动器依赖去简化组件配置自动配置Spring和其它有需要的第三方依赖提供一些大型项目中

2021-06-10 08:33:44 227

原创 分布式RPC框架Apache Dubbo

软件架构的演进过程单体架构

2021-06-08 16:23:57 134 3

原创 Git的使用

Git概述Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件,Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。Git 与 SVN 区别Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。Git 与 SVN 区别点:Git 是分布式的,SVN 不是(开发人员具有

2021-06-04 20:17:15 86

原创 Maven1——构建SSM工程

Maven解决依赖冲突版本锁定采用直接锁定版本的方法确定依赖jar包的版本,版本锁定后则不考虑依赖的声明顺序或依赖的路径,以锁定的版本为准添加到工程中,此方法在企业开发中经常使用版本锁定的使用方式第一步 : 在dependencyManagement标签中锁定依赖的版本第二步 : 在dependences标签中声明需要导入的maven坐标pom文件中使用dependencyManagement标签进行依赖jar的版本锁定,并不会真正将jar包导入到项目中,只是对这些jar的版本进行锁定,

2021-06-03 20:44:25 84 1

原创 SSM框架整合

SSM框架整合

2021-06-02 20:16:39 74 2

原创 MyBatis3——多表操作的xml配置和注解开发

MyBatis多表操作List item

2021-06-02 08:27:06 244

原创 MyBatis2——Dao层的实现

MyBatis的Dao层实现代理开发方式介绍采用Mybatis的代理开发方式实现DAO层的开发,这种方式是我们后面进入企业的主流Mybatis接口开发方法只需要程序员编写Mapper接口(相当于Dao接口) , 由Mybatis框架根据接口定义创建接口的动态代理对象Mybatis接口开发需要遵循以下规范 :Mapper.xml文件中的namespace与mapper接口的全限定名相同Mapper接口方法名和Mapper.xml中定义的每个statement的id相同Mapper接口方法的

2021-06-01 15:32:25 161 1

原创 MyBatis1——简介加快速入门

MyBatisMyBatis简介MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。MyBatis开发步骤添加MyBatis的坐标(mysql-connector-java, mybatis)创建use

2021-05-31 21:26:13 144 1

原创 SpringMVC3——拦截器

SpringMVC拦截器拦截器(interceptor)的作用SpringMVC的拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理将拦截器按一定的顺序联结成一条链,这条链称为拦截器链(Interceptor Chain)。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用,拦截器也是AOP思想的具体实现拦截器和过滤器的区别使用范围过滤器 : 是servlet规范中的一部分,任何JavaWeb工程都可以使用拦截器 : 是Sp

2021-05-29 16:30:12 158

原创 SpringMVC2——数据响应

SpringMVC2——数据响应SpringMVC的数据响应方式页面跳转直接返回字符串通过ModelAndView对象返回回写数据直接返回字符串通过SpringMVC框架注入的response对象,使用response.getWriter().print(“hello world”)回写数据,此时不需要视图跳转,业务方法返回值为void将需要的字符串直接返回,但此时需要通过@ResponseBody注解告知SpringMVC框架,方法返回的字符串不是跳转是直接在http响应体中返

2021-05-28 16:48:53 61

原创 SpringMVC1——简介和组件解析

SpringMVCSpring与Web环境集成SpringMVC的简介SpringMVC的组件解析

2021-05-27 21:40:03 62

原创 Spring3——JdbcTemplate

Spring3——JdbcTemplateJdbcTemplate概述 : Spring框架提供一个对象,对原始的Jdbc API对象的简单封装,spring框架为我们提供了很多的操作模板开发步骤 :导入spring-jdbc和spring-tx坐标创建数据库表和实体创建JdbcTemplate对象执行数据库操作...

2021-05-24 20:10:37 81

转载 Spring2——AOP

AOP(面向切面编程)概念 : 通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术

2021-05-16 16:17:11 127

原创 Spring1——spring的配置(注解和xml)

Spring知识的总结Spring是个开源的框架,解决企业应用开发的复杂性而创建,是一个轻量级的控制反转 (IOC) 和面向切面 (AOP) 的容器框架框架的特点: 半成品,封装了特定的处理流程和控制逻辑框架和类库的区别 框架封装了控制逻辑和处理流程是高内聚的,框架专注于某个领域,而类库是松散的工具组合,类库更加的通用IOC(控制反转) :控制权的转移,应用程序本身不负责依赖对象的创建和维护,而是由外部容器负责创建和维护IOC(又名 依赖注入) :由IOC容器在运行期间,动态地将某种依赖关系注入到

2021-05-15 23:06:38 125

原创 redis和Jedis的使用

redis和Jedis的使用redis概念 : redis是一款高性能的NOSQL系列的非关系型数据库命令操作redis的数据结构 :redis存储的是 : (key : value)格式的数据,其中key都是字符串,value有5种不同的数据结构valude的数据结构字符串类型 string哈希类型 hash : map格式列表类型 list : linkedlist格式集合类型 set有序集合类型 sortedset字符串类型 string存储 : set

2021-05-14 20:02:48 162

原创 JSON

JSON概念 : JavaScript Object Notation JavaScript对象表示法json现在多用于存储和交换文本信息的方法语法 :基本规则 :数据在名称/值对中 : json数据是由键值对构成的键用引号引起来,也可以不使用引号值的取值类型:数字(整数或浮点数)字符串(在双引号中)逻辑值数组(在方括号中) { “person” : [{},{}] }对象 (在花括号中) {“address” : { “province” : “陕西”… }}nu

2021-05-14 13:41:23 52

原创 会话技术加JSP

会话技术一次会话中包含多次请求和响应浏览器第一次给服务器资源发送请求,会话建立,直到一方断开为止在一次会话的范围内的多次请求间,共享数据Cookies客户端浏览器会话技术,将数据保存到客户端Session...

2021-05-13 23:57:24 95

原创 Servlet体系结构

Servlet体系结构List item

2021-05-12 14:25:53 159

原创 JavaWeb

JavaWebWeb概念:

2021-05-04 20:05:26 164

原创 XML

XMLW3C:万维网联盟概念:可扩展标记语言可扩展 : 标签都是自定义的。功能 : 1.配置文件 2.在网络中传输xml和html的区别:xml的标签是自定义的,html标签是预定义的xml的语法严格,html语法松散xml是存储数据的,html是展示数据的快速入门:基本语法:xml文档的后缀名 .xmlxml第一行必须定义为文档声明xml文档中有且仅有一个根标签属性值必须有引号引起来标签必须正确关闭组成部分:文档声明 : <?x

2021-05-03 19:49:09 78

原创 数据库的连接池

数据库的连接池概念 : 其实就是一个容器(集合),存放数据库连接的容器当系统初始化好以后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完成以后,会将连接对象归还给容器。好处 : 节约资源,用户访问高效实现:标准接口 : DataSourse javax.sql包下的获取连接 : getConnection()归还连接 : 如果连接对象 Connection 是从连接池中获取的,调用 close() 不会关闭连接,而是归还连接

2021-05-01 21:40:20 76

原创 JDBC

JDBCJDBC:定义了一套操作所有关系型数据库的规则(接口),由各个数据库厂商提供驱动JAR包,使用JDBC(接口)编程,真正执行的代码是驱动JAR包的实现类

2021-05-01 15:29:38 82

原创 数据库的一些基础知识

数据库的一些基础知识数据库的备份和还原命令行:语法: 1. 备份 : mysqldump -uroot -p密码 数据库名称 > 保存路径

2021-04-29 16:34:14 93

原创 注解

注解概念:说明程序的。给计算机看的定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。 作用分类:编写文档:通过代码里标识的注解生成文档【生成文档doc文档】代码分析:通过代码里标识的注解对代码进行分析【使用反射】编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】JDK中预定义

2021-04-27 20:13:01 71

原创 反射

反射反射是框架设计的灵魂框架:半成品的软件。可以在框架的基础上进行软件开发,简化编码反射概念:将类的各个组成部分封装为其他对象,这就是反射机制将类的各个组成部分封装为其他对象,好处:可以在程序的运行过程中,操作这些对象可以解耦,提高程序的可扩展性获取Class对象的方式Class.forname(“全类名”):将字节码文件加载进内存,返回Class对象– 多用于配置文件,将类名定义在配置文件中。读取文件,加载类类名.class:通过类名地属性class获取–多用于参数的传递

2021-04-27 17:34:27 54

原创 Maven的项目管理知识的整合

MavenMaven仓库的使用图一种是通过本地仓库直接连接中央仓库下载依赖和上传项目,另一种是公司搭建自己的私有服务器,员工可以通过与私有服务器进行依赖的下载和上传项目

2021-04-25 16:21:22 57

原创 JAVA中的线程创建的三种方式

JAVA中的线程创建的三种方式1.继承Thread类创建线程类定义Thread的子类,并且重写子类的run方法,该run方法的方法体就代表了线程要完成的任务。其中代表着线程需要完成的任务创建该子类的实例,也就创建了一个线程对象调用线程对象的start()方法进行线程的启动以下就是方法一的实现:package ThreadCreate;public class Thread1Thread extends Thread { @Override public void run(

2021-04-21 20:42:27 146

原创 JAVA的socket客户端和服务器端连接,基础版本

JAVA的socket客户端和服务器端连接,基础版本服务器端利用TCP字节流进行的传输1. 使用ServerSocket类创建一个实例,并绑定端口2. 利用Socket类创建一个接收客户端发送数据的实例3. 利用InputStream类创建一个接收字节流的实例4. 利用InputStreamReader类创建一个把字节流转换成字符流的实例5. 利用BufferedReader类创建一个缓冲区的实例6. 关闭资源来人,上代码:package com.imooc;import java.

2021-04-17 14:57:45 242

原创 new和delete,malloc和free

new和delete,malloc和freenew/delete,new[]/delete[]基本格式int* p1 = new int; int* p2 = new int(3); //初始化为3int* p3 = new int[3]; //动态建立数组p3[3];delete p1;delete p2;delete p3[];

2021-03-04 08:11:47 62 1

原创 动态绑定和静态绑定

动态绑定和静态绑定如何理解绑定绑定(Binding) 是指将变量和函数名转换成地址的过程静态绑定绝大部分的顺序执行逻辑中函数调用或某个确定数据类型的class类型的对象对成员调用都属于静态绑定#include<iostream>using namespace std;class Employee {public: int m;};class Teamper :public Employee {public: size_t d_members; string d_n

2021-03-02 15:54:07 1179

原创 虚函数的实现机制

虚函数的实现机制每个含有虚函数的类都有一张虚函数表。在继承关系中,子类的虚函数表具有包含心,即父类的虚函数表肯定在子类中有一份完整的拷贝,一模一样。从虚函数的实现机制来讲讲为何虚函数会影响效率无论在何种情况,采用多态机制调用虚函数的时候都会比普通函数调用要慢,不管cpu缓存或其他机制做得多好。现在cpu几经很强了,如果不是设计不合理和性能要求极高,一般虚函数的开销可以忽略。当用基类指针调用虚函数的时候,能够根据指针所指的实际对象来选择到底是调用那个派生类对象的虚函数,对于这个问题的解就可以找

2021-02-28 18:06:29 619

原创 C++的虚函数和纯虚函数

C++的虚函数和纯虚函数虚函数类成员函数前添加virtual关键字,则该函数被称为虚函数纯虚函数在虚函数的基础上,在函数末尾加上 = 0。class Animal{ public: virtual void showname() = 0; //纯虚函数 virtual void display();//虚函数};1.纯虚函数纯虚函数,只有声明,没有实现其目的是为了给其它类提供一个可以继承的适当的基类,即所有派生类的对象都可以执行基类纯虚函数,但基类无法为纯虚函数提供一个合理的缺

2021-02-27 19:20:38 364

原创 析构,构造,拷贝构造函数

析构函数析构函数是C++语法里的一个特殊的机制,析构函数中可以写对对象存续期间的一些资源的释放完成对象被删除前的一些清理工作在对象的生存期结束的时候系统自动调用它,然后释放对象所属的空间如果程序中未声明析构函数,编译器将自动产生一个默认的析构函数,请函数体为空构造函数构造函数的作用:在对象被创建时使用特定的值去构造对象,将对象初始化为一个特定的初始状态。构造函数的形式:函数名与类名相同.不能定义返回值类型,也不能有return语句,可以有形式参数,也可以没有形式参数,可以是内联函数,可以重

2021-02-16 16:43:36 183

原创 面向对象的理解

面向对象的理解面向对象,就是把现实中的一些相近的实例,抽象成类,类内的属性就是它们的相似点,就像狗,猫,老鼠这样的动物就可以抽象出一个动物的类来,类内可以定义一些相同的成员属性head,eye等成员变量,或者是run()等成员函数封装:把客观的事务封装成抽象的类,并且类可以把自己的数据和方法进行隐藏,只让可信类或者对象进行操作,一个类就是封装了数据以及操作这些数据的代码的逻辑实体,例如形成的动物类,就包装好了数据和函数,可以对可信的类和对象开放操作继承:从现有的类中派生出其它的类,派生类继承基类的所有

2021-02-16 10:25:54 110

原创 内存中的栈和堆

内存中的堆和栈堆和栈的理论知识申请方式stack:是由系统自动分配的,例如,声明在函数中的一个局部变量 int b;系统自动在栈中为b开辟空间heap:需要程序员手动申请,并指明大小,在C中的malloc函数如:char* p1 = (char*)malloc(sizeof(char));在C++中的new运算符如:int *p2 = new int[100]p1和p2本身就是在栈中的申请后系统的响应栈:只要栈中的剩余空间大于所申请的空间,系统将为程序自动提供内存,否则将报异常提

2021-02-15 20:08:01 144 1

原创 C和C++的区别

C和C++的区别1.C语言的概念C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适用于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发2.C++的概念C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程化程序设计,数据抽象,面向对象程序设计,泛型程序设计等多种程序设计风格C++由C发展而来的,与C兼容。用C语言写的程序基本上可以

2021-02-15 17:59:38 1502

原创 const和#define的作用

const和#define的作用constC++ const允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某些值是保持不变的,如果在编译中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助1.const修饰成员变量int a=0;const int * b = &a;int * const c = &a;const int * const d = &a;只有一个const ,如果const在*的左侧,表示指针所指数据是常

2021-02-15 17:04:00 151

原创 static的用法

static、const、#define的用法和区别static的用法:(面向对象)静态成员变量,在类内成员变量的声明前加上关键字static,该数据成员就是类内的静态数据成员class Myclass { public: Myclass(int a,int b,int c); void GetSum(); private: int a,b,c; static int Sum;//声明静态数据成员 };...

2021-02-15 15:19:18 1964

原创 C++源文件从文本到可执行文件经历的过程

C++源文件从文本到可执行文件经历的过程对于C++源文件,从文本到可执行文件一般需要四个过程:**预处理阶段:**对源代码文件中的文件包含关系(头文件).预编译语句(宏定义)进行分析和替换,生成预编译文件编译阶段:...

2021-02-15 15:19:01 201

空空如也

空空如也

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

TA关注的人

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