自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(131)
  • 资源 (8)
  • 收藏
  • 关注

原创 Linux进程复制与替换(๑•̀ㅂ•́)و✧

1. printf函数输出问题printf函数不会直接将数据输出到屏幕,而是首先放到缓冲区,只有以下四种情况之一满足的时候,才会刷新缓冲区:缓冲区满了,会自动刷新缓冲区强制刷新缓冲区的时候 fflush程序结束的时候,如果缓冲区还有数据的话,会执行刷新指令当printf函数中含有换行符的时候,会强制刷新缓冲区,输出其中的数据比如下面这段程序test.c对其进行编译执行的时候,现象是,先睡眠3秒,再输出printf里面的数据,为什么这样呢?其原因是printf中的hello会先放入缓冲

2021-04-27 20:45:21 187

原创 ❀Linux上库文件的生成与使用你了解吗?❀

1. 库文件是什么库是一组预先编译好的方法的集合。在很多软件中都会有lib目录,那么这个lib的全称就叫libary,其里面一般存储库文件。在Linux系统下,存储库的位置一般在 :/lib和/usr/lib两个目录下。当然在64位的系统上,有些库也可能被存储在/usr/lib64目录下面。头文件是一些定义好的未实现方法的文件集合,里面存储着需要实现的方法。库的头文件一般会被存储在/usr/include下或者其子目录下面。库有两种类型,一种是静态库,其命名规则为libxxx.a,一种是共享库,其命

2021-04-23 21:10:01 249 2

原创 ❀Linux系统上C语言的编译与调试你还不知道吗?❀

1. gcc的安装2. 分步编译连接C语言的编译过程:一个C语言程序,需要经过预处理、编译、汇编、链接,才能得到可执行程序gcc提供分布编译链接,分别为:预处理:gcc -E main.c -o main.i编译:gcc -S main.i -o main.s汇编:gcc -c main.s -o main.o链接:gcc main.o -o main也可以单步执行直接预处理编译汇编链接成功,执行下面这条语句:gcc -o main main.cgc

2021-04-22 23:37:19 1317 5

原创 ❀C语言数据类型专题❀

1. C语言为什么有数据类型1.1 C语言中的基本类型1.2 整型数据类型1.3 进制问题1.4 数据在内存中的存储方式数据在不同的系统中存储方式也不同,分为小端存放、大端存放。其中小端存放指的是高位数在高地址,低位数在低地址。那么如何检测大小端存放:其中一种方法就是采用联合体来进行存放,里面放入一个short、一个char,那么这个时候如果给这个联合体中存放一个值,然后分别取char和short的值,如果char中的值是short的低位数,那么就是小端,否则就是大端存放。代码如下:u

2021-04-21 10:57:58 157

原创 C语言_函数指针

回顾指针概念 int a, b = 0; int* ip = &a; int** sp = &ip; int ar[10] = {}; ip = ar; int(*par)[10] = &ar; int* pbr[10] = {}; int* (*sbr)[10] = &pbr; //需要定义一个指向一维整型数组的指针,才能指向pbr数组函数指针//int fun(int, int); //= nullptr错误//函数声明int (*pfun

2021-04-19 21:02:22 161

原创 Linux_常用命令

1. 基础命令1.1 pwd显示当前处在的绝对路径1.2 cd切换目录到cd后面所跟的地方,cd后面跟的参数为所要切换到的位置,可以使用绝对路径,也可以使用相对路径1.3 ls显示目录中的文件列表:1.4 man帮助手册,用来查看命令、系统调用、库函数等帮助信息1.5 touch创建普通文件命令1.6 mkdir创建目录文件夹,如下:1.7 rmdir删除空目录,不能删除非空目录,非空目录需要使用下面这条语句来删除rm -r name1.8 cp拷贝文件,

2021-04-10 19:04:57 87

原创 Linux_系统文件类型和文件权限

1. 文件类型Linux中所有东西都可以看做文件,Linux将文件分为以下几种类型:Linux不以文件的扩展名区别文件类型,在文件属性中有一列专门记录文件类型,上面这六种文件在Linux上的文件属性为:上图之中列出的文件信息分别代表:2. 文件权限对于每个文件都有其权限限制,不同的文件其权限可能不同,下面是Linux系统中几种权限的字母表示和值:r读权限值:4w写权限值:2x执行权限值: 1-无权限值:0对于一个文件其前面先显示其文件

2021-04-09 19:46:45 209

原创 深度学习_正则化方法原理

1. 正则化方法的原理一般进行有数据集的训练的时候,往往对于一个训练集合,如果一直采用同一个函数会产生对训练集依赖的效果,往往会增加其验证集的误差,这叫做数据的过拟合,我们需要打破这种过拟合状态,增强函数的泛化能力,其实就是使得函数不断向最优解靠拢,而不对该数据集产生依赖,产生稀疏的数据点,使得整个模型具有更好的可解释性那么如何产生这种效果呢:需要正则化相关的知识,正则化其实就是对原函数添加一个惩罚函数,即损失函数,每次为函数赋值数据集中数据点的时候,通过对原函数的相关参数加一定的惩罚函数(惩罚参数)

2021-04-09 11:34:15 2150

原创 Linux_目录结构

1. 目录结构Linux系统中存在若干目录,每一个目录都有其指定权限和特定功能,下图是其目录的导状树:2. 常见目录说明对于常用的目录进行作用讲解:/bin存放常用的命令(即二进制可执行程序)/etc存放系统配置文件/home所有普通用户的家目录/root管理员用户的家目录/usr存放系统应用程序及文档/proc虚拟文件系统目录,以进程为单位存储内存的映射/dev存放设备文件/mnt临时挂载点/lib存放库文件

2021-04-08 19:40:20 149

原创 Linux_概述

1. 介绍一个计算机分为软件和硬件,软件分为系统软件和用户软件,而Linux就属于软件中的系统软件,是操作系统软件。计算机中存在各种各样的硬件资源,比如内存和外存,如果想要对其合理的分配和管理,那么就需要操作系统来管理,当然除了这些功能之外,还会提供一些供开发人员调用的接口,以便这些开发人员对底层进行开发上图将上面提到的几个关系清晰的表示出来,其中1表示软件可以控制、操作、管理硬件资源,其中2表示,硬件的一些信息可以反馈给软件。2. Linux和Windows的区别Linux主

2021-04-08 17:25:20 93

原创 实现C语言标准库中的atoi函数

#include<stdio.h>#include<stdlib.h>#include<string.h>#include<ctype.h>#include<limits.h>int my_hex(const char* str) { int sum = 0; while (isxdigit(*str)) { int x = 0; if (isdigit(*str)) { x = *str - '0';

2021-04-08 11:38:58 232

原创 动态内存管理

改错误//下面这个代码中sp指针指向的空间为只读空间//不能对这个空间进行修改char *sp ="yhping";//错误 sp指向空间不能修改strcpy(sp,"ya");//这个可以修改char stra[100];//这段代码是正确的strcpy(stra,"ya");对动态开辟的空间进行释放之后,如果再次释放有可能会导致系统崩溃动态开辟内存之后,需要对返回的首地址进行判空,在使用完成之后,要对其进行释放,并且对其首地址指向空,否则会出现严重后果堆区和栈区的区别

2021-04-08 11:37:56 59

原创 C语言学习(三) 指针和利用指针实现string.h库中的一些函数

1. 一级指针1.1 int * s[] 和 int (*s)[]int * s[]表示一个数组,数组里的元素都是指针变量,这些指针是整型指针(指向整型);而int (*s)[]表示一个指针,该指针指向一个数组,这个数组里存放的是整型元素。1.2 void类型指针void不能定义变量,但是可以定义指针变量,void指针可以存放任意变量地址如下面这段代码中p可以指向a、ft、dx的地址int a = 10;float ft = 12.33f;double dx = 1

2021-04-04 16:52:13 304

原创 C语言学习(三) 数组

1. 一维数组正如第一节中所说的那样,数组有三个特征点:数组名、数组元素数据类型、数组元素个数数组是内存中一段连续存储的内存单元,在编译的时候才对其分配内存空间1.1 一维数组的定义和初始化int a[3] = { 1 , 2 , 3};类似于上面这条语句,一般都是这样定义的:数据类型 数组名称 [ 数组元素数量 ] = { 初始化的值 };也可以不需要初始化,在后面的过程中进行初始化即可1.2 一维数组的使用使用一维数组的时候可以使用数组名加下标、指...

2021-04-04 14:53:48 649

原创 C语言学习(二) 分支语句、循环语句、函数初步

对于比较重要的点进行记录1. bool类型在c文件和cpp文件中bool在C语言中如果调用需要引用头文件#include<stdbool.h>在cpp文件中直接使用但是在C文件中也可以通过宏定义和typedef来实现相同的效果,如下面这段代码所示:#include<stdio.h>typedef int bool;#define true 1#define false 0;int main() { bool flag = true; return

2021-04-03 16:02:42 256

原创 C语言学习(一) C语言概述

目录一、 计算机基础知识1. 文件1.1 可执行文件1.2 不可执行文件1.3 C语言的编译链接过程2. 进制及其转换二、什么是C语言三、数据类型主要分为以下几种数据类型那么在C语言中这些数据类型分别占多少个字节呢四、 变量、常量,标识符变量和常量定义和声明声明和定义最重要的区别变量分为常量分为单引号和双引号记住一些常见的ASCII码值注意转义字符 \一、 计算机基础知识1. 文件1.1...

2021-03-15 21:03:02 455

原创 Struts2_struts标签&OGNL使用

1. iterator标签相当于jstl中的<c:Each>标签,循环遍历作用在action中设置一个list集合,并且为其提供get方法,当访问该action时,这个list会自动存在ValueStack中,因为提供了get方法其属性status有一些方法,比如是否为偶数是否为奇数示例:效果:2. OGNL投影使用过滤条件投影:...

2020-01-21 11:47:59 177

原创 Struts_contextMap

1. 动作类的生命周期明确:动作类是多例的,每次访问Action,动作类都会被实例化。所以是线程安全的。 相比较于Servlet,Servlet是单例的,其访问地址自被实例化后就不会改变 与Struts1的区别是,Struts1的动作类是单例的。2. 请求数据的存放每次访问Action,都会实例化一次Action,那么是如何实现多例化,并且存放每个Action的相关信息的呢?...

2020-01-21 08:06:38 141

原创 struts_OGNL

1. OGNL简介全称:Object Graphic Navigation Language(对象图导航语言)、 是struts默认的表达式语言 使用OGNL表达式,必须使用struts标签库 相当于JSP的EL表达式,都是从作用域中取值2. OGNL简单使用<s:property>将其属性value的值直接输出到页面 jsp设置属性表达式:【<jsp:setP...

2020-01-20 10:19:59 150

原创 struts_限制上传文件大小

上传文件时如果超过规定限制,会出现以下错误在struts2-core-2.5.20.jar\org\apache\struts2\struts-messages.properties中存在文本域大小限制,这里面限制为2mb,可以通过在struts.xml中设置相关参数将此值修改为想要的大小在struts.xml中配置常量,设置文本域最大的容量限制,这里面设置限制为20mb&l...

2020-01-18 11:35:52 293

原创 struts_限制上传文件类型

限制上传文件类型struts默认拦截器中提供一个文件上传拦截器fileUpload,可以查看其源码,在其源码中我们发现了下面两个set集合 那么我们可以在访问文件上传action时,添加一个默认拦截器,并且对其中的fileUpload拦截器中的allowTypesSet(allowedExtensionsSet)进行依赖注入(原理:调用某一属性的set方法) 但...

2020-01-17 22:05:27 177

原创 struts_文件上传

struts的基本jar包中已经提供了文件上传的相关jar包commons-fileupload.jar,用于将上传的文件封装为File类型的下面简单的通过一个小例子来简单描述一下struts里面的文件上传步骤1. 首先按照struts项目的创建步骤创建好struts项目2. 写一个UploadAction.javapublic class UploadAction exte...

2020-01-16 18:03:55 156

原创 idea创建struts2项目步骤

File-new-Project下面选择导入struts2的jar包的方式在线下载还是稍后手动导入还是选择本地的library库选择Download之后,会从maven中心库中下载,但是最近通过这种方式下载的话,会返回501错误,所以还是选择手动创建点击Next,起一个合适的名字点击Finish成功后,在IDEA右下角会出现提示检查创建的文件集合,一般str...

2020-01-16 12:28:23 1396

原创 验证器

hobby.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTM...

2020-01-16 11:02:03 113

原创 struts2-错误处理和中文显示

struts会自动将错误的信息返回给表单的上方,并且会自动将表单中部分的信息回显到以前的页面。然而传统的HTML不会提供这一功能注意这里面的错误提示,必须使用struts自定义的标签库,才会有上面的效果默认的错误提示是黑色的英文字体,如果想将错误提示信息变成红色,只需要在需要回显的jsp页面的head标签里面加上一个<s:head></s:head>标签即可如果...

2020-01-16 11:01:42 263

原创 struts的form表单标签

struts的form标签提供了和原始html几乎一样的属性属性 Action 请求地址。直接写动作名称,不用写contextPath method 请求方式,默认的是post请求,可以不用写 enctype 静音编码的MIME类型 struts的form表单标签,会...

2020-01-16 11:01:37 592

原创 错误回显

前提:将前面的用户注册案例的时间转化时,抛出运行时异常在struts.xml中配置回显页面,让其发生错误后还回到这个注册页面,并且给出错误信息在register.jsp中添加struts的标签那么当出现错误的时候就会把出现错误的错误信息抛出到这个标签内部这里面注意,错误必须抛出,要不然不会回显...

2020-01-16 11:01:30 300

原创 自定义日期类型转换

struts中提供一个自定义类型的转换,比如这里面的日期,默认转换2019-9-12,如果写成2019/9/12则会报错struts的字符串类型转换是由一个类com.opensymphony.xwork2.conversion.impl.StringConverter类来完成的 日期类型转换是由com.opensymphony.xwork2.conversion.impl.DateConve...

2020-01-16 11:01:18 246

原创 Action接收请求参数的方式

以一个简单的登录案例来讲解创建JavaEE项目,选择Web application,勾选struts2选择稍后自行添加jar包导入jar包注意这里面的struts-core-2.5.20已经整合了xwork-core.jar相关插件,所以在官方下载的zip包的lib目录下找不到xwork-core.jar包设置web.xml过滤器,为struts2方式如下:we...

2020-01-16 11:01:14 412 1

原创 多个struts配置文件

多个struts配置文件的用途是为了模块开发和减少开发中的冲突减少开发中的冲突建设一个网站的开发需要用户模块,订单模块,支付模块,那么我们就可以将这些模块单独成一个配置文件,然后在另外一个struts.xml配置文件中引进这些配置...

2020-01-16 11:01:02 80

原创 struts配置文件的主要元素

1. package元素作用:在struts2的配置文件中引入了面向对象的思想,使用了分包管理 。易于管理动作类。便于模块化开发动作类属性:name 包的名称。必须写,且必须唯一 extends 一般情况下需要继承struts-default包,但不是必须的 不过如果不继承的话,将无法使用struts2提供的核心功能 struts-defau...

2020-01-16 11:00:39 428

原创 struts_开发模式配置

在struts.xml中配置如下的代码然后当项目出现了什么错误的时候,会更加详细的说明错误的原因和位置

2020-01-16 11:00:37 124 1

原创 Struts2简介

1.Struts2简介1.1 Struts2概述Struts2是Apache发行的MVC开源框架。注意:它只是表现层web(MVC)框架。1.2 Struts2的来历Struts1:Struts1也是apache开发的一套mvc的开源框架。在2005年之前非常流行。 弊端:Struts1的核心控制器就是一个Servlet。随着使用者的增多,弊端开始出现。Struts2...

2020-01-16 11:00:18 444

原创 修改struts的访问后缀

第一种方式:在struts.xml的配置文件中添加 <constant name="struts.action.extension" value="do"></constant>name是从default.properties中找到的这里面的action,,代表输入的访问路径后缀可以是.action也可以什么都不加,两个逗号就代表了什么都不加如上面在st...

2020-01-16 11:00:04 184

原创 struts_配置文件的加载顺序

1. 加载时机struts有很多配置文件,如下面的表格当应用被tomcat加载的时候,struts2的配置文件就已经被加载了2. 加载的顺序 顺序 配置文件名 所在位置 说明 1 default.properties struts2-core-.j...

2020-01-16 10:59:38 130

原创 struts2-架构图

图片地址:http://struts.apache.org/core-developers/big-picture图片:图上的key中前三个我们可以不用管,只需要知道流程即可,但是最后一个User Created是我们之后要经常用的,需要经常对这部分写代码...

2020-01-16 10:59:29 73

原创 struts2-执行流程图

注意:这里面面试会问到相关问题

2020-01-16 10:59:14 69

原创 框架的概述

1.1 什么是框架所谓框架,就是把一些繁琐的重复性代码封装起来,使程序员在编码中把更多的精力放到业务需求的分析和理解上面。 特点:封装了很多细节,程序员在使用的时候会非常简单。1.2 五大框架struts、hibernate、spring(SSH) springmvc、mybatis、spring(SSM)1.3 三层架构MVC & Web-Service-Dao...

2020-01-16 10:59:02 810

原创 java.lang.RuntimeException: java.sql.SQLException: Incorrect string value: '\xAC\xED\x00\x05vr...'

插入数据库的数据异常,类型不匹配

2019-12-07 11:12:34 1488

原创 ognl.MethodFailedException: Method "login" failed for object

原因:没有导入数据库连接池配置文件

2019-12-07 11:11:22 946

struts2需要的jar包

由于在idea中创建struts2,如果不选择在线下载jar包的话,可以自己set up library later,创建一个struts项目所需要的完整jar包都在该压缩文件内

2020-01-16

apache-tomcat-8.5.31.zip

apache-tomcat-8.5.31-windows-64位.zip,下载后解压。

2019-08-16

jsoup.zip包括文档和jar包

下载完成后解压,将jsoup-1.11.2.jar 和 JsoupXpath-0.3.2.jar导入项目即可 ,压缩包包括jsoup-1.11.2-javadoc、jsoup-1.11.2.jar、jsoup-1.11.2-javadoc.jar、jsoup-1.11.2-sources.jar、JsoupXpath-0.3.2.jar

2019-08-16

druid-1.0.9.zip

导入jar包,然后导入配置文件 druid-1.0.9.jar,另外两个jar包,druid-1.0.9-javadoc.jar 是查阅文档,druid-1.0.9-sources.jar 是源码包,druid.properties 是配置文件包,可以根据实际情况修改该配置文件

2019-08-15

C3P0连接池jar包.zip

下载完毕后,在项目中导入两个jar包,c3p0-0.9.5.2.jar 和 mchange-commons-java-0.2.12.jar,文件里面提供的另一个jar包是C3P0的源码包,而且不要忘记导入mysql-connector-java-8.0.17.jar

2019-08-15

mysql-connector-java-8.0.17.zip

java操作MySQL数据库所必需的一个连接器,下载完毕后将mysql-connector-java-8.0.17.jar导入到项目中即可,并且add as library,就可以使用jar包实现与MySQL的连接

2019-08-15

jquery-3.4.1.min.zip

jQuery-min包,对于jQuery的学习必不可少,下载后将该文件导入到项目中,添加为Library即可使用

2019-08-15

bootstrap-3.3.7-dist.zip

压缩文件,包括js,css,fonts等文件夹,导入项目时只需要把js和css两个文件夹导入项目,并且作为library,还需要导入jQuery-min包

2019-08-15

空空如也

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

TA关注的人

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