自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (1)
  • 收藏
  • 关注

原创 OIO下的socket传输文件

OIO下的io操作正常的情况下,我们的服务端连接是同步进行的,所以每次收到客户端的连接后都需要等待当前客户端处理完毕之后才会继续处理下一个请求。这个OIO下的网络编程的缺点,但是我们可以使用单独的线程来进行对客户端的请求进行处理,这样也能提高服务器端的并发性。当然,这样其实也是很麻烦的,因为每次有请求进来,我们都要创建一个新的线程,所以这样也会消耗许多的系统进程,比如一些线程直接的上下文切换等等。当然也有解决的方法,那就是使用多路复用,其实对应在Java中就是nio模式,这里就不详细提及了。客户端代码

2020-07-12 20:18:59 270

原创 java使用jedis操作redis

之前,java是使用jedis来对redis进行操作的,因为jedis是Redis官方推荐的java链接开发工具!使用java操控Redis中间件。1、导入jedis包<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.2.0</version></dependenc

2020-06-02 10:48:46 141

原创 springboot学习笔记五

10、springboot-web开发[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DCUuQKuY-1590974880285)(C:\Users\yu\AppData\Roaming\Typora\typora-user-images\1586185203223.png)]我们可以看到[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yC1FSHnh-1590974880287)(C:\Users\yu\AppData\Roaming\Ty

2020-06-02 10:03:10 220

原创 springboot学习笔记四

@Conditional关于一些@Conditional注解的一些拓展注解springboot与日志1、常见框架jul jcl jboss-logging logback log4j log4j2 slf4j所有一般是选一个门面,一个具体实现。一个具体的实现推荐使用slf4j + logbackspringboot:底层是Spring框架,Spring框架默认用的是jcl​ springboot 选用的是slf4j和logback9.3、SLF4J使用

2020-06-01 09:25:56 162

原创 springboot学习笔记三

Profile如果我们的项目中有多个配置文件,如下的格式:​ application-{profile}.properties比如有application-dev.yml、application-pro.yml等等那我们如何选择激活那个配置文件呢?激活方式多profile文件使用上面的配置文件生效yaml的多代码块配置server: port: 8081spring: profiles: active: dev---server: port: 8083spr

2020-05-31 15:06:16 157

原创 springboot学习笔记二

yml及配置文件1、使用创建实体类package com.yu.demo.pojo;/** * @Description: TODO * @Author : yu * Date : 4/4/2020 10:46 AM */public class Dog { private String name; private Integer age; public String getName() { return name; } pub

2020-05-31 14:48:50 117

原创 springboot学习笔记一

使用maven创建Springboot项目:导入依赖jar包<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.6.RELEASE</version> </parent>

2020-05-31 14:37:31 176

原创 springMVC学习笔记七

spring-mvc整合1、编写web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http

2020-05-31 13:15:13 165

原创 springMVC学习笔记六

整合mybatis层主要流程:1、设计数据库本次的整合主要是以一个管理系统为主,所以设计的表就是这样2、整合所需要的依赖包 <dependencies> <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework&

2020-05-31 13:07:56 127

原创 springMVC学习笔记五

JSON前后端分离模式:后端部署后端,提供接口后端往前端传输数据,而JSON则是常用的选择。返回字符串简单使用步骤:导入依赖包<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.10

2020-05-31 12:50:59 121

原创 springMVC学习笔记四

重定向和跳转Springmvc的方法使用package com.yu.controller;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.GetMapping;import javax.servlet.http.HttpServletRequest;import javax.

2020-05-31 12:33:21 127

原创 springMVC学习笔记三

Controller注解和Controller功能一样的几个注解@Conponent@Service@Controller@Respository使用了这3个组件之后就会被注册到Spring中特别注意一个地方:解析的路径为:前缀 + viewname +后缀例如前缀:/WEB-INF/jsp viewname :hello 后缀:.jsp ===========》 /WEB-INF/jsphello.jsp 这个是匹配不到人的,所以要么在前缀后面加/,要么

2020-05-31 11:57:40 113

原创 springMVC学习笔记二

原理发起请求时被前置控制器拦截到,这个其实就是一个DispatcherServlet,然后根据请求的参数生成代理请求,找到请求对应的实际控制器,控制器处理请求,创建数据模型,访问数据库,将模型响应给中心控制器,控制器使用模型与视图渲染试图结果,将结果返回中央控制器,然后返回给请求者。运行步骤简要分析:DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心,用户发出请求,DispatcherServlet接收请求并拦截请求。我们假设请求的URL为http://l

2020-05-31 11:41:00 177

原创 springMVC学习笔记一

springmvc概述概述Spring MVC 是Spring framework的一部分,是基于java实现MVC的轻量级框架,也就是说底层依然是sevlet。我们为什么要学习MVC?轻量级,简单易学高效、基于请求和响应的MVC框架与Spring无缝结合功能强大,RESTful、数据验证、格式化、本地化、主题等简介灵活学的人多,生态好。中心控制器spring的web框架是围绕着DispatcherServlet设计的。DispatcherServlet的作用是将请求分发到不同的

2020-05-31 11:09:10 124

原创 spring学习笔记十二

声明式事物1、回顾事务把一组业务当成一个业务来做,要么都成功,要么都失败事务在项目开发中,十分重要,涉及到数据完整性的问题可以确保数据完整性和一致性事务ACID原则:原子性:确保都成功或都失败一致性:数据要么一起提交,要么一起失败隔离性:多个事务操作一个资源时,是相互隔离的,防止数据损坏持久性:事务一旦提交,无论系统是否出现问题,数据都会被持久化的存储到存储器中2、Spring中的事物管理声明式事物:使用AOP编程式事物:需要在代码中,进行事务的管理3、为什么需要事务?

2020-05-31 11:00:25 115

原创 spring学习笔记十一

整合Mybatis1、基本配置设置步骤:导入相关jar包junitmybatismysqlspringaopmybatis-spring编写配置文件<?xml version="1.0" encoding="utf-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"&gt

2020-05-31 10:56:59 102

原创 spring学习笔记十

AOP1、什么是AOP在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。我们从这个图就能看出来,比如我们在代理对象中想要添加一些功能,就是 目标对象的

2020-05-31 10:44:02 204

原创 spring学习笔记九

代理模式为什么要学习代理模式?因为springAOP的底层就是代理模式的实现,而AOP则是封装了这些功能。代理模式的分类:静态代理动态代理我们可以看到,其实我们想要租房东的房子,但是我们并没有直接调用房东的租房功能,而是通过中介,因为中介里面封住了一个租房方法,而这个租房方法其实是调用房东的方法。好处是为其他对象提供一种代理以控制对这个对象的访问静态代理角色分析:抽象角色:一般会使用接口或者抽象类真实角色:被代理的角色代理角色:代理真实角色,代理真实角色后,我们一般会做

2020-05-31 10:17:33 99

原创 spring学习笔记八

使用java的方式配置spring我们现在要完全不使用spring的xml配置,全权交给java,使用注解的方式配置javaConfig是spring的一个子项目,在Spring4之后,他成为了一个核心功能。我们前面提取上下文使用ClassPathXmlConfigApplicationContext,这个是xml的获取上下文的方法,而我们使用注解之后,也有一个获取上下文的类。官方文档描述:在Configuration就相当于在使用了Configuration注解之后,里面使用了bean注

2020-05-30 19:20:38 122

原创 spring学习笔记七

使用注解开发spring4之后,要使用注解开发,必须要保证aop包导入了,但是导入的是webmvc的话就会默认导入。因为maven会自动导入我们需要导入包的所有依赖。Bean//等价于<bean id="user" class="com.yu.pojo.User"/>//Component 组件@Componentpublic class User属性如何注入 //相当于<property name="name" value="林"/> //复杂类型还是

2020-05-30 19:14:07 96

原创 spring学习笔记六

Bean的自动装配自动装配(前面的是我们手动的装配,需要在配置文件中装配后才能使用)自动装配就是Spring会在上下文自动寻找,并自动给bean装配属性spring中有三种装配方式在xml中显示的配置在java中显示配置隐式的自动装配(重要)测试环境搭建:一个人有两个宠物从这句话中我们可以读出一共有三个实例package com.yu.pojo;public class Cat { public void shut(){ System.out.prin

2020-05-30 19:08:03 99

原创 spring学习笔记五

5.1、构造器注入其实就是前面我们使用的创建bean对象的时候,我们不使用property标签进行初始化值,而是使用constructor-arg来进行初始化。5.2、Set方式注入(重点)依赖注入:set注入依赖:bean对象的创建依赖于容器注入:bean对象中的所有属性,由容器注入【环境搭建】复杂类型 package com.yu.pojo; public class Address { private String address;

2020-05-30 18:55:52 181

原创 spring学习笔记四

spring的配置4.1、别名在beans中使用alias <alias name="user" alias="user2"/>我们使用了别名之后,别名也可以当做是我们的bean的id一样使用4.2Bean配置<!--id: bean的唯一标识符class:bean对象所对应的全限定名,:包名+类名name:和前面的alias一样,可以写多个,逗号分隔/空格/分号也可以--><bean id="user" class="com.yu.poj

2020-05-30 18:47:19 141

原创 spring学习笔记三

第一个spring程序IOC的一种实现方式创建一个pojo对象 public class Hello { private String str; public String getStr() { return str; } public void setStr(String str) { this.str = str; } @Override publ

2020-05-30 18:40:42 82

原创 spring学习笔记二

在工作中,我们需要根据用户的需求去修改源代码。如果程序代码量十分大,修改成本十分昂贵。我们需要使用设计模式。public class UserServiceImpl implements UserService{ //比如使用的dao改变时,不能修改源代码,应该使用开闭原则 private UserDao userDao; public void setUserDao(UserDao userDao) { this.userDao = userDao;

2020-05-30 18:32:34 114

原创 spring学习笔记一

1.1、简介​ Spring是一个轻量级控制反转(loC)和面向切面(AOP)的容器框架2002年出现出现雏形:Interface21框架目的:为了解决企业应用开发的复杂性理念:使现有的技术更容易使用SSM--------springMVC+Spring+Mybatic1.2、优点Spring是一个开源的免费框架是一个轻量级、非入侵的框架控制反转、面向切面编程支持事物处理,对框架进行整合总结:Spring是一个轻量级、非入侵的控制反转、面向切面编程的框架1.3、spring七

2020-05-30 17:01:29 170

原创 单向链表的java实现

##单向链表 ##即时一种可以直接从头遍历到尾,而不能从直接从尾遍历到头的链表我们一般使用尾插法来给链表添加节点单链表(带头结点)的逻辑结构示意图:在逻辑上是连续的,但是实际上在内存中并不是连续的,而是通过一个next域来将其链接,形成一个连续的整体实现功能:完成对角色的增删改查操作添加角色时,直接添加到末尾添加英雄时,根据编号插入到指定的位置分析:添加:先创建一个head头结点,作用是宝石单链表的头然后我们每添加一个结点,就直接加入到链表的最后//添加链表的节点

2020-05-29 19:55:07 100

原创 java实现环形队列

队列分析:front指向队列的第一个元素,也就是说arr[front]就是队列的第一个元素rear变量指向队列的最后一个元素的后一个位置,因为希望空出一个空间作为约定队满条件:尾索引的下一个是头索引的时候,即将队列空出一个作为约定。(rear+1)%maxSize == front队空条件:front==rear队中有效数据的个数(rear+maxSize-front)%maxSize选择功能:public static void main(String[] args) {

2020-05-28 19:32:57 142

原创 线性队列的实现

队列使用场景:像在银行中等待服务,是根据先到先服务的原则提供服务。队列特点:队列是一个有序列表,可以使用数组或链表来实现遵循着先入先出的原则设计第一个队列的思路:有一个front和一个rear分别指向队列的头和尾的前一个位置。队列为空的判断是front==rear队列已满的条件是rear==MaxSize-1选择功能实现: while (loop){ System.out.println("s:显示队列"); System.

2020-05-26 11:41:25 152

原创 java实现斐波那契的两个方式

最近在学习算法,所以写一个作为入门1、什么是斐波那契斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有

2020-05-26 11:32:37 269

原创 二维数组转稀疏矩阵然后以json格式保存文件中,读取之后重新转换成二维数组

1、稀疏矩阵1.1、简介如果要创建一个二维数组保存的话会有无意义数据,所以我们需要创建一个能使用较小的占用空间的稀疏矩阵来存储。稀疏矩阵的处理方法: 记录数组一个共有几行几列,有多少个不同值 把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模 第一行 6行 7列 8个有效数据 后面的每一行都是一个有效值 1....

2020-04-01 20:03:02 660

pyqt5_mainform

主要整mainwindow的一些东西,是在pyqt5快速实战上的资源

2018-05-11

空空如也

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

TA关注的人

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