自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 笔记:勾股定理,三角函数

勾股定理:c²=a²+b²锐角:大于0而小于90的角正弦:在直角三角形中,任意一锐角∠A的对边(a)与斜边(c)的比叫做∠A的正弦,记作sinA,如上图,即sinA=a/c余弦:∠A的余弦是它的邻边(b)比三角形的斜边(c),即cosA=b/c,也可写为cosA=AC/AB。正切:∠A的正切是它的对边(a)邻边(b),即tanA=a/b,也可写为tanA=BC/AC。一个角的正弦平方加这个角的余弦...

2019-10-25 09:55:32 8153

原创 前端页面布局相关问题

清除浮动:1.给父元素添加 clear:both;2.在浮动元素后面添加一共空白元素:<div style="clear:both;"></div>3.给父元素添加overflow:hidden/auto;4.添加给父元素添加after伪元素:.content:after{ content:"."; dis...

2019-08-20 15:01:05 239

原创 数据库的优化

1.合理的设计数据表为每张表添加主键id根据使用场景合理的反规范化保留冗余字段:经常需要连接查询的且不经常变动的字段。 增加派生列:派生列是由表中的其他多个列计算所得,增加派生列可以减少统计运算,在数据汇总是可以大大缩短运算时间。 水平分割表:按照行将一个表分割为多个表,可以提高表的查询速度。 垂直分割表:对于一个列很多的表,若某些列的访问远远高于其他列,就可以将主键和这些列作...

2019-08-18 11:13:10 210

原创 数据库的设计(三大范式详解)

概念:设计数据库时,需要遵循的一些规范。要遵循后边的范式要求,必须先遵循前边的所有范式要求设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美...

2019-08-17 19:42:51 214

原创 Socket网络编程

什么是Socket?简单来说是ip地址与端口的结合协议(RFC 793)一种地址与端口的结合描述协议TCP/IP协议的相关API的总称;是网络API的集合实现Socket之TCPTCP是面向连接的通讯协议通过三次握手建立连接,通讯完成时要拆除连接由于TCP是面向连接的所以只能用于端到端的通讯Socket之UDPUDP是面向无连接的通讯协议UDP数据包括目的端...

2019-08-16 12:26:39 226

原创 springboot整合shiro的使用

实现登录的拦截和授权的管理数据库:添加依赖spring整合shiro的依赖:<!-- https://mvnrepository.com/artifact/org.apache.shiro/shiro-spring --><dependency> <groupId>org.apache.shiro</groupId> ...

2019-08-07 16:33:46 210

原创 Redis常用命令对应的Spring Data中RedisTemplate操作方法

Redis字符的串操作: @Autowired RedisTemplate<String, String> redis; public void test() { //判断是否存在 boolean b1 = redis.hasKey("name"); //删除 redis.delete("name"); //设置有效时间 boole...

2019-07-24 22:21:44 359

原创 Spring整合Redis

首页导入相关依赖 <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId&g...

2019-07-24 17:48:52 99

转载 MySQL笔记-传智播客

MySQL数据库软件1. 安装 * 参见《MySQL基础.pdf》2. 卸载 1. 去mysql的安装目录找到my.ini文件 * 复制 datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/" 2. 卸载MySQL 3. 删除C:/ProgramData目录下的MySQL文件夹。 3. 配置 * MySQL服务启动 1....

2019-07-20 21:29:27 610

原创 Linux-CentOS 找回root密码

找回root密码:开机进入单用户模式修改密码,单用户模式下不需要密码就可以登录在Linux系统启动 内核启动顺序选择界面(如下图倒计时的界面时) 按键盘任意键 让Linux引导启动停留内核选择阶段通过上下键(任意按键也可以的)让Linux引导启动停留内核选择阶段。按键盘任意键 让Linux引导启动停留内核选择阶段通过上下键(任意按键也可以的)让Linux引导启动停留内核选择阶段。...

2019-07-20 08:13:50 1398

原创 Linux-CentOS

VM虚拟机网络适配器:桥接模式:所有局域网内的电脑都可以互相访问 NAT 模式(N):当前主机和虚拟机可以相互访问,虚拟机可以访问局域网内其他主机,其他主机不能访问该虚拟机 仅主机模式:单机模式主机与虚拟机的复制粘贴:VM虚拟机---->安装VMware Tools--->复制压缩包到系统文件中--->解压缩--->打开解压后文件夹内--->./vmwa...

2019-07-19 19:49:05 186

原创 SpringBoot中AOP

AOP指的是“面向切面的编程”。AOP并不是Spring所特有的技术,只是Spring对AOP的支持非常好,在使用Spring框架的情况下,可以更加轻松的实现AOP。AOP是可以在数据处理流程中统一添加切面,使得各种数据处理流程都可以应用切面中定制的方法。要使用AOP,首先,需要添加2个新的依赖:<dependency> <groupId>aspe...

2019-07-15 21:05:55 179

原创 springboot中Cache缓存的使用

首先在POM中导入maven依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId></dependency>在启动类中添加开启缓存的注解...

2019-07-14 23:02:03 677

原创 RESTful风格

RESTful是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。SpringBoot中使用RESTful风格的请求路径的设计:@RequestMapping("{id}/delete")public void delete((@PathVariable("i...

2019-07-08 22:53:06 114

原创 SpringBoot使用@Transactional注解(开启事务)

SpringBoot中开启事务,只需要在方法前加上@Transactional注解即可。默认该注解只对Error和RuntimeException及其子类异常则执行事务回滚,若方法执行过程中catch到了RuntimeException及其子类异常则执行事务回滚,反之则正常提交。所以我们需要对方法中的每一条SQL语句的执行结果进行判断,若结果不是预期的结果则抛出RuntimeException...

2019-07-08 22:30:08 10222 1

原创 AJAX实现文件上传

HTML代码:form标签必须添加enctype属性值必须是multipart/form-data,且上传控件的type属性值必须是file。若想要一个控件可以选择多个文件上传则需要在控件上添加`multiple="multiple"属性<form id="form-avatar" enctype="multipart/form-data"> <p>请选择...

2019-07-03 22:59:58 8851

原创 web应用用户头像处理

所有的上传,都应该将文件存储到服务器的硬盘中,另外,在数据库中记录下文件的存储路径,当需要使用文件时,可以查询数据库获取指定文件的路径,再对文件进行访问。当用户登录成功后应当将用户头像数据(地址)保存到客户端cookie中服务器端:处理登录请求的处理器中响应用户头像数据(地址)登录页面端:登录成功后,将服务器端响应的用户头像地址保存到cookie中//expires:保存期限,单...

2019-07-03 22:38:27 2657

原创 SpringMVC和SpringBoot实现上传文件保存到服务器

html代码实例: <form method="post" enctype="multipart/form-data" action="upload.do"> <p>请选择要上传的文件:</p> <p><input type="file" name="file" /></p> <p><inp...

2019-07-02 22:19:24 10933 4

原创 分布式与集群?

分布式:同一个业务拆分成多个子模块或者说是子系统,部署到多个服务器上厨师与配菜的关系:合作完成一个菜;集群:同一个业务部署到多个服务器上厨师与厨师的关系:各自独立完成一个菜;...

2019-06-30 13:02:53 87

原创 SpringBoot项目的创建

SpringBoot的基本概念在传统的SSM框架使用过程中,存在大量的配置,且这些配置基本上都是高度相似的,SpringBoot框架在配置方面做了大量的简化,本质上可以将它理解为默认集成了多个框架的综合体,却不怎么需要配置。创建SpringBoot项目访问https://start.spring.io/,配置项目的相关信息,然后生成项目,生成后,会自动下载项目的压缩包,将解压得到...

2019-06-26 22:35:03 166

翻译 AJAX异步请求

Ajax即:Asynchronous JavaScript And XML(异步JavaScript和XML)。在JavaScript中,通过AJAX可以发出异步请求,即由子线程发出请求,且将由子线程获取响应结果,则主线程可以不参与,表现为浏览器中显示的页面内容可以不发生变化。基于jQuery的AJAX访问,可以调用jQuery中的$.ajax()函数,该函数的参数是一个JSON对象,需要...

2019-06-25 22:35:51 20741

原创 MyBatis持久层Mapper配置

在开发持久层功能时,需要为对应的功能定义抽象方法,这些抽象方法应该存在于接口中,然后,在接口中添加抽象方法,关于抽象方法的设计原则:如果方法对应的功能是执行增、删、改,可以使用`Integer`作为返回值类型,表示“受影响的行数”,如果不关心返回值,也可以使用`void`,如果方法对应的功能是查询,返回值可以根据实际使用需求来设计; 方法的名称可以自定义,但绝不可以重载; 方法的参数按...

2019-06-24 22:21:26 1194

原创 SSM项目搭建(配置)

Spring,SpringMVC,MyBatis简化持久层开发,当需要开发某个增删改查功能时,程序员只需要定义好该功能对应的抽象方法,及该抽象方法的功能对应的SQL语句即可。1.添加所需依赖: <!--springMVC依赖--> <dependency> <groupId>org.springframework&lt...

2019-06-22 22:38:49 525

翻译 SpringMVC

SpringMVC框架解决了V与C的交互问题。SpringMVC中的核心组件DispatcherServlet:前端控制器,用于接收所有请求,并负责分发; HandlerMapping:根据请求路径映射控制器或控制器的方法,确定请求路径与控制器或控制器中的方法的对应关系; Controller:实际处理请求的组件; ModelAndView:控制器的返回结果,包括处理完成后的数据,及...

2019-06-19 23:02:15 117

翻译 Spring-IoC DI bean的配置 注解

IoC指Inversion of Control,即“控制反转”,传统模式中对象的创建与管理都是有程序员编写代码来完成,而使用spring之后,将创建与管理都交给框架来完成,则称之为控制反转。DI,即Dependency Injection,表示“依赖注入”,通俗的来说,是为其属性赋值,也称之为“为其属性注入值”。Spring通过DI实现了IoC,即DI是实现手段,而IoC是需要实现的目标。...

2019-06-18 22:48:42 204

原创 适配器模式Adapter

适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。适用场景:A类和B类之间没有继承和实现的关系,想通过A类引用调用B类的方法,这时就需要创建适配器类来搭建两者之间的关系对象适配器模式通过继承或实现要适配的类或接口,定义一个目标类的属性重写要适配类中的要适配方法,方法中调用目标类中的目...

2019-06-16 10:33:34 68

原创 servlet-监听器

servlet规范当中定义的一种特殊的组件,用于监听容器产生的事件 并进行相应的处理。容器会产生两大类事件生命周期相关的事件:容器创建了或者销毁了request、session、Servlet上下文时产生的事件。绑订数据相关的事件:调用了request、session、Servlet上下文的setAttribute、removeAttribute方法时产生的事件如何写一个监听器?...

2019-06-06 23:01:18 230

原创 servlet - 过滤器

过滤器是一个实现了 javax.servlet.Filter 接口的 Java 类。javax.servlet.Filter 接口定义了三个方法:序号 方法 & 描述 1 public void doFilter (ServletRequest arg0, ServletResponse arg1, FilterChain arg2) 在service方法之前调用...

2019-06-06 22:50:40 147

原创 servlet

Servlet生命周期1.容器收到请求后创建对应的servlet的实例对象也可以指定servlet在服务器启动时加载只需要在web.xml部署文件对应的servlet里面添加<load-on-startup>标签它的值必须是一个整数,当值为0或者大于0时,表示容器在应用启动时就加载并初始化这个servlet正数的值越小,该servlet的优先级越高,应用启动时就越先...

2019-06-03 22:37:19 105

原创 JSP

JSP文件最终会被容器编译为一个servlet类JSP文件内的html代码会被编译成out.write()输出<% java代码%><%=java表达式%><%! 声明属性或方法%>指令:<%@ page import="包名,包名"%> 导包<%@ page ContentType="text/html;cha...

2019-06-02 11:15:32 122

翻译 MySQL笔记

###day011. 数据库相关SQL-查询所有 show databases;-创建 create database db1 character set utf8/gbk;-show create database db1;-删除 drop database db1;-使用 use db1;2. 表相关-创建表 create table t1(name varch...

2019-06-02 10:58:06 119

原创 线程

创建线程的两种方式:一.创建类继承Thread重写run方法,调用start()方法由于java是单继承的,这导致若继承了线程就无法再继承其他类入复用方法,这在实际开发中很不方便直接重写run方法来定义线程任务会导致线程与任务存在一个必然的耦合关系,不利于线程的重用。二. 创建类实现Runnable接口重写run方法,实例化 Thread ( Runnable )类传参Runnab...

2019-06-02 10:31:12 141

原创 反射reflect

反射是java在一个动态机制,它将实例化对象,调用方法,操作属性等工作从编码期间确定转为程序运行期间确定,这大大的提高了代码的灵活性。反射有更多的资源开销和较慢的运行效率,因此只在关键的地方使用反射,而不应大量应用。类对象Class,它的每一个实例是用来表示JVM已经加载的一个类。每个被JVM加载的类都有且只有一个Class的实例与之对应。通过类对象我们可以得知其表示的类的一切信...

2019-06-02 10:22:09 115

原创 时间相关类:Date SimpleDateFormat Calendar

java.util.Date构造方法:Date() 当前系统时间Date(long date) 指定时间戳方法:long getTime()获取时间戳void setTime(long time)设置一个long值使当前Date表示这个时间java.text.SimpleDateFormat构造方法:SimpleDateFromat("yyy...

2019-06-01 22:55:10 131

原创 字符流

所有字符流都继承:Reader和Writer字符流是以字符(char)为最小单位读写数据的,因此字符流仅适合读写文本数据。字符流底层实际还是读写字节,只是字节与字符的转换由字符流自行完成转换流:java.io.InputStreamReaderjava.io.OutputStreamWriter常用的字符流实现类,在以字符流作为操作的流连接中起到非常重要的环境,但是通常不直...

2019-06-01 22:21:51 2007

原创 缓冲字节流

java.io.BufferedInputStream(读入)构造方法BufferedInputStream(InputStream in)在in低级流的基础上创建对应的高级流,默认缓冲器8kbBufferedInputStream(InputStream in,int size)在in低级流的基础上创建对应的高级流,并指定缓冲区大小(字节)方法:void close...

2019-06-01 22:08:00 202

原创 文件字节流

java.io.FileInputStream(读入)构造方法:FileInputStream(File file)通过File对象创建对应的流若文件不存在则抛出(FileNotFoundException )异常FileInputStream(String path)通过“文件路径”创建对应的流若文件不存在则抛出(FileNotFoundException )异常方法:...

2019-06-01 19:37:37 1497

原创 JDBC的使用

1.加载驱动Class.forName("com.mysql.jdbc.Driver");2.创建连接对象Connection conn =DriverManager.getConnection(url , username , password ) ;3.创建会话对象Statement stat = conn.createStatment();Statem...

2019-05-26 20:40:06 112

原创 git命令操作

> 添加当前系统用户级别用户签名和邮箱> git config --global user.name '用户名' > git config --global user.email '邮箱'> > git init //当前目录创建git仓库> git status //查看仓库状态> ...

2019-05-22 22:46:34 72

原创 eclipse中使用git远程仓库

初始化本地仓库Team—share project:提交修改到本地库Team—commit:提交到远程库Team--Remote--Push:导入远程仓库项目左侧空白右键 import—...

2019-05-22 00:18:43 3163

空空如也

空空如也

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

TA关注的人

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