自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode 726. 原子的数量(栈+模拟)

题链:https://leetcode-cn.com/problems/number-of-atoms/思路:先筛出每一项(数字、左括号、右括号、原子四种之一),放入栈。再用另一个栈维护乘过的倍数、当前倍数等信息。详情请看注释。class Solution {public: struct node{ string atom; int num; friend bool operator <(node a,node b){

2021-07-06 18:44:34 255

原创 LeetCode 483. 最小好进制(二分+数学)

题链:https://leetcode-cn.com/problems/smallest-good-base/思路一(二分)n=k0+k1+k2+...+kmn=k^0+k^1+k^2+...+k^mn=k0+k1+k2+...+kmk最小为2,所以m的最大值为log2(n)log2(n)log2(n),即m最大64(n<=1e18)。具体思路为枚举m,二分k(k越大,n越大,有单调性)。class Solution {public: long long getNum(string

2021-07-02 21:44:37 202

原创 LeetCode 每日一题 剑指 Offer 37. 序列化二叉树

题链:https://leetcode-cn.com/problems/xu-lie-hua-er-cha-shu-lcof/思路 :想复杂了,虽然必须有中序才可以唯一确定一棵树(自己写的是中序+先序)。但是,只要是同一逻辑,即可确定一个树,直接先序遍历编码即可。注意:队列传入的时候要加引用,靠!!/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left;

2021-07-02 17:43:45 184

原创 LeetCode 剑指 Offer 09. 用两个栈实现队列 LCOF(思维)

题链:https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof/思路1本人模拟法,时间最坏O(N2)O(N^2)O(N2),不建议使用。每次删除时,先把当前栈所有元素放入新的栈,把新栈栈顶元素弹出。再把新栈元素放入当前栈。class CQueue {public: stack<int> s1,s2; CQueue() { } void a

2021-07-02 16:39:32 179

原创 LeetCode 每日一题 168. Excel Sheet Column Title(数学)

题链:https://leetcode-cn.com/problems/excel-sheet-column-title/内容:将数字变为Excel表格字母的方式。先考虑字母转数字num=a0+a1∗261+a2∗262+a3∗263+...+an−1∗26n−1num=a_0+a_1*26^1 + a_2*26^2+a_3*26^3+...+a_n-1*26^{n-1}num=a0​+a1​∗261+a2​∗262+a3​∗263+...+an​−1∗26n−1这和26进制特别像,但需要注意的是1

2021-07-02 16:18:00 92

原创 LeetCode 每日一题 135. Candy (单/双向BFS)

题链:https://leetcode-cn.com/problems/open-the-lock/思路:常规BFS。(1)单向class Solution {public: struct node{ string now; int step; }; int openLock(vector<string>& deadends, string target) { map<string,bool&g

2021-07-02 13:16:46 80

原创 SpringBoot 学习日志11.Dubbo+Zookeeper(使用IDEA)

参考博客分布式在《分布式系统原理与范型》一书中有如下定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个系统”;分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。分布式系统(distributed system)是建立在网络之上的软件系统。首先需要明确的是,只有当单个节点的处理能力无法满足日益增长的计算、存

2021-04-15 15:03:52 175 1

原创 SpringBoot 学习日志10.异步、定时、邮件任务(使用IDEA)

参考博客简介在工作中,常常会用到异步处理任务,比如在网站上发送邮件,后台发送邮件需要时间,期间前台会有响应不动的情况,直到邮件发送完毕,响应才会成功。一般会采用多线程的方式去处理这些任务。还有一些定时任务,比如需要在每天00:00的时候,分析一次前一天的日志信息。还有就是邮件的发送,微信的前身也是邮件服务。SpringBoot都提供了对应的支持,上手使用十分的简单,只需要开启一些注解支持,配置一些配置文件即可!异步任务 1、在业务层编写方法,假装正在处理数据,使用线程设置一些延时(.

2021-04-15 11:59:13 344

原创 SpringBoot 学习日志9.整合Swagger(使用IDEA)

参考博客Swagger简介前后端分离 前端 -> 前端控制层、视图层 后端 -> 后端控制层、服务层、数据访问层 前后端通过API进行交互 前后端相对独立且松耦合 产生的问题 前后端集成,前端或者后端无法做到“及时协商,尽早解决”,会产生冲突,推迟项目进程。 解决方案 首先定义schema [ 计划的提纲 ],并实时跟踪最新的API,降低集成风险 Swagger 号称世界上最流行的API框架 Restful

2021-04-14 17:22:25 274

原创 SpringBoot 学习日志8.安全框架Shiro(使用IDEA)

参考博客安全简介在 Web 开发中,安全一直是非常重要的一个方面。安全虽然属于应用的非功能性需求,但是应该在应用开发的初期就考虑进来。如果在应用开发的后期才考虑安全的问题,就可能陷入一个两难的境地:一方面,应用存在严重的安全漏洞,无法满足用户的要求,并可能造成用户的隐私数据被攻击者窃取;另一方面,应用的基本架构已经确定,要修复安全漏洞,可能需要对系统的架构做出比较重大的调整,因而需要更多的开发时间,影响应用的发布进程。因此,从应用开发的第一天就应该把安全相关的因素考虑进来,并在整个应用的开发过.

2021-04-14 17:01:51 195

原创 SpringBoot 学习日志7.整合Mybatis(使用IDEA)

参考博客整合Mybatis1、导入依赖 <!--整合mybatis:mybatis-spring-boot-starter--> <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter --> <dependency> <groupId>org..

2021-04-14 16:36:29 83

原创 SpringBoot 学习日志6.整合JDBC+Druid数据源(使用IDEA)

参考博客SpringData简介对于数据访问层,无论是 SQL(关系型数据库) 还是 NOSQL(非关系型数据库),Spring Boot 底层都是采用 Spring Data 的方式进行统一处理。Spring Boot 底层都是采用 Spring Data 的方式进行统一处理各种数据库,Spring Data 也是 Spring 中与 Spring Boot、Spring Cloud 等齐名的知名项目。Sping Data 官网:https://spring.io/projects/s

2021-04-14 16:25:26 224

原创 SpringBoot 学习日志5.使用SpringBoot进行Web开发下(使用IDEA)

Web要解决的问题:导入静态资源(image,css,js) 首页 jsp,模板引擎Thymeleaf 配置扩展SpringMVC 增删改查业务编写 拦截器 国际化配置扩展SpringMVCSpringBoot默认配置SpringBoot对SpringMVC做了哪些配置,包括如何扩展,如何定制?官方文档Spring MVC Auto-configuration// Spring Boot为Spring MVC提供了自动配置,它可以很好地与大多数应用程序一起工.

2021-04-14 15:37:27 136

原创 SpringBoot 学习日志4.使用SpringBoot进行Web开发上(使用IDEA)

参考博客Web开发探究使用SpringBoot的步骤:1、创建一个SpringBoot应用,选择需要的模块,SpringBoot会默认将需要的模块自动配置好2、手动在配置文件进行部分配置,项目便可以运行3、专注编写业务代码,不需要考虑以前那样一大堆的配置了。要熟悉掌握开发,之前学习的自动配置的原理一定要搞明白!比如SpringBoot到底帮我们配置了什么?我们能不能修改?我们能修改哪些配置?我们能不能扩展? 向容器中自动配置组件 :xxxAutoconfigurati.

2021-04-14 13:32:11 206 3

原创 SpringBoot 学习日志3.SpringBoot核心自动装配原理(使用IDEA)

参考博客分析自动配置原理以HttpEncodingAutoConfiguration(Http编码自动配置)为例,解释自动配置原理//表示这是一个配置类,和以前编写的配置文件(.xml)一样,也可以注册组件到容器中@Configuration(proxyBeanMethods = false)//自动配置属性:ServerProperties.class//将配置文件中对应的值和ServerProperties绑定起来,并把ServerProperties加入到ioc容器中@En.

2021-04-14 10:10:59 194

原创 SpringBoot 学习日志2.yaml/yml配置文件详解+JSR303数据校验+多环境切换(使用IDEA)

参考博客配置文件SpringBoot使用一个全局的配置文件 , 配置文件名称是固定的# 配置文件到底能配置什么?与spring.factories联系巨大# 我们能在配置文件中配置的东西,都存在一个固有的规律:xxxAutoConfiguration xxxProperties(与配置文件中能配置的属性绑定,一一对应)# xxxAutoConfiguration中配置了默认值,然后xxxProperties和配置文件中能配置的属性绑定,我们就可以配置了(application.

2021-04-12 10:56:11 546

原创 SpringBoot 学习日志1.SpringBoot简介+HelloWorld+自定义Banner图案+原理初探(使用IDEA)

参考博客1、回顾SpringSpring是一个免费开源的轻量级、非侵入式的框架(IOC控制反转+AOP面向切面编程)。Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。2、Spring如何简化开发?为了降低Java开发的复杂性,Spring采用了以下4种关键策略:1、基于POJO(Plain old java object)的轻量级和最小侵入性编程,所有对象都是一个bean;2、通过IOC,依赖注入(DI,控制反转的一种实现方式)和面向接口实现松耦合;3、基

2021-04-11 17:30:50 255 3

原创 一些经验

1.复制时,尽量先创建出文件后复制并修改其内容,而不是复制整个文件。

2021-04-01 14:31:41 118

原创 Request processing failed; nested exception is org.apache.ibatis.binding.BindingException

1.xxxMapper接口与xxxMapper.xml文件名不一致找了半天,建议以后文件名不要起这么长,不然看不出来!!!

2021-04-01 11:41:22 395

原创 Ajax技术

1、简介AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。 在 2005 年,Google 通过其 Google Suggest 使 AJAX 变得流行起来。Google Suggest能够自动帮你完成搜索单词。 Google Suggest 使用 AJAX

2021-03-30 19:41:35 138

原创 Spring 学习日志7.声明式事务(使用IDEA)

参考博客:https://blog.csdn.net/qq_33369905/article/details/105828921?spm=1001.2014.3001.55011、回顾事务 事务在项目开发过程非常重要,涉及到数据的一致性的问题,不容马虎! 事务管理是企业级应用程序开发中必备技术,用来确保数据的完整性和一致性。 事务就是把一系列的操作当成一个原子操作,这些操作要么全部完成,要么全部不起作用。事务四个属性ACID原子性(atomicity)事务是原子性操作,由一

2021-03-30 17:36:10 159

原创 Spring 学习日志6.整合Mybatis(使用IDEA)

参考博客:https://blog.csdn.net/qq_33369905/article/details/1058289221、导入相关依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sche

2021-03-30 17:05:36 84

原创 Spring 学习日志5.AOP(使用IDEA)

参考博客:https://blog.csdn.net/qq_33369905/article/details/105828920?spm=1001.2014.3001.55011、定义AOP(Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑

2021-03-30 15:30:11 459 3

原创 设计模式之静态/动态代理模式

参考博客:https://blog.csdn.net/qq_33369905/article/details/105828919?spm=1001.2014.3001.5501重要性:AOP的底层机制就是动态代理!1、静态代理(1)静态代理角色分析 抽象角色 : 一般使用接口或者抽象类来实现,代理和真实角色都有的功能 真实角色 : 被代理的角色 代理角色 : 代理真实角色 ; 代理真实角色后 , 一般会做一些附属的操作(比如日志,附加功能) . 客户 : ..

2021-03-30 11:20:22 85

原创 Spring 学习日志4.使用注解开发/配置(使用IDEA)

1、使用注解开发(1)前置操作1、导入相应jar包-aop2、配置context约束3、配置扫描哪些包下的注解<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context

2021-03-30 09:34:46 133 3

原创 Spring 学习日志3.Bean自动装配(使用IDEA)

1、自动装配自动装配是Spring满足bean依赖一种方式! Spring会在上下文中自动寻找,并自动给bean装配属性。2、装配方式在spring中三种装配方式:1.在xml中显式的配置2.在java中显式的配置3.隐式的自动装配,隐式的bean发现机制和自动装配。【重要】Spring的自动装配需要从两个角度来实现,或者说是两个操作:组件扫描(component scanning):spring会自动发现应用上下文中所创建的bean; 自动装配(autowiring):s

2021-03-29 22:18:21 793

原创 Spring 学习日志2.依赖注入(Dependency Injection)+Bean作用域(使用IDEA)

1.概念 依赖注入(Dependency Injection,DI)。 依赖 : 指Bean对象的创建依赖于容器,Bean对象的依赖资源 . 注入 : 指Bean对象所依赖的资源 , 由容器来设置和装配 . 2.注入方式(1)构造器注入【上篇博客】(2)set方式注入【重点】要求被注入的属性 , 必须有set方法 , set方法的方法名由set + 属性首字母大写 , 如果属性是boolean类型 , 没有set方法 , 是 is 。1.Address..

2021-03-29 21:49:28 134

原创 设计模式之单例模式

1.饿汉式package cn.qqa.single_instance;import java.awt.datatransfer.StringSelection;/** * 饿汉式 * 很饿,一开始就new出来 */public class Hungry { //可能会浪费内存空间 byte [] data1 = new byte[1024*1024]; byte [] data2 = new byte[1024*1024]; byte [] dat

2021-03-29 20:34:19 71

原创 Spring 学习日志1.Spring简介+IOC(理论与实现)+Spring配置文件详解(使用IDEA)

1.Spring(大杂烩)总结:spring是一个轻量级的控制反转(IOC,Inversion Of Control)和面向切面编程(AOP,Aspect Oriented Programing)的框架。理念:使现有的技术更加容易使用,本身是一个大杂烩,整合了现有的技术框架!优点:·spring是一个开源的免费的框架(容器)! ·spring是一个轻量级的、非侵入式(导入不会破坏原来代码功能)的框架! ·控制反转(IOC)、面向切面编程(AOP)...

2021-03-29 20:21:21 148

原创 整合SSM+ajax练习

1.导入pom依赖(静态资源导出问题)2.设置为web项目3.配置tomcat(将jar包导入tomcat,每次加入新的依赖都要导入)4.编写配置文件(1)web.xml(2)applicationContext.xml(3)db.properties(4)mybatis-config.xml(5)spring-service.xml(6)spring-mvc.xml...

2021-03-29 17:09:43 195

原创 IDEA 新添功能后,tomcat启动失败

启动失败的原因肯定很多,我这次的原因是sql语句的问题:我的数据库表中有一个字段叫做desc,和关键字重复了,所以启动不成功,以后要多多注意。

2021-03-27 08:58:54 191

原创 使用maven继承创建项目(IDEA)

1、maven项目的继承方式 1)继承父项目的pom依赖 2)继承父项目的公共类2、步骤(1)在父项目中创建子模块(2)将不同文件夹设置成不同类型及导入jar包(3)从父项目复制需要的文件到子项目...

2021-03-22 15:59:36 293

原创 Mybatis 学习日志7.分页插件+逆向工程(使用IDEA)

1、分页插件的应用* 分页插件的应用* 1.加入依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0

2021-03-22 13:02:36 197

原创 Mybatis 学习日志6.一级二级缓存(使用IDEA)

1、一级缓存* 一级缓存(LocalCache本地缓存)* 特性:* 1.默认开启,也可以关闭缓存,在全局配置文件<setting>中localCacheScope=STATEMENT(每执行一个sql语句)* 2.作用域是基于SqlSession,一次数据库操作会话。* 3.缓存默认实现类PerpetualCache,使用map进行储存* 其中的key====>sqlid(xxxMapper.xml设置的命名空间+id)

2021-03-22 11:30:46 153

原创 Mybatis 学习日志5.动态sql(使用IDEA)

1、问题:查询Emp 根据id,username,创建的开始时间和结束时间,根据部门id 如果编写xml文件中,出现特殊字符报错:1.需要进行转义 2.使用cdata2、使用动态sql2.1、使用动态sql: 1.实现动态条件sql<if> test: 条件表达式,支持OGNL表达式 问题:and 动态拼接问题(只有一个条件不需要and,多个条件就必须用and/or来拼接) 解决:1.将第一个条件设为永远成立的条件(比如:1=1),之后的

2021-03-22 11:11:16 270

原创 Mybatis 学习日志4.复杂查询结果映射+延迟加载(使用IDEA)

1、嵌套查询-联合查询- - - 多对一使用嵌套结果(将结果对象嵌套)实现联合查询(多表连接查询)---多对一<association 实现”多对一“中的一property 指定对象中嵌套对象的属性 <resultMap id="MultiTableQuery_map1" type="Emp"> <id column="uid" property="id"/> <result column="username" p

2021-03-22 10:38:32 146

原创 Mybatis 学习日志3.参数获取/处理+返回类型设置+自定义结果集(使用IDEA)

1、获取参数的方式(1).#{} ==> jdbc String sql="select id,username from emp where id = ?" (1)会经过JDBC当中PreparedStatement的预编译,会根据不同数据类型来编译成数据库所对应的数据 id=1 username='xxx' (2)能够有效的防止sql注入(推荐使用) 特殊用法: 自带了很多内置参数的属性,通常不会使用

2021-03-22 10:00:43 431

原创 Mybatis 学习日志2.Mybatis配置文件+SqlSessionFactory+SqlSession详解+日志(使用IDEA)

官方手册:https://mybatis.org/mybatis-3/zh/configuration.html1、全局配置文件mybatis-config.xml<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!--dtd是xml文件的约束,不规范就会报错,与spring中x

2021-03-21 22:42:14 1986

原创 Mybatis 学习日志1.第一个Mybatis项目(简单CRUD)(使用IDEA)

1. Mybatis 搭建步骤:1.1、添加pom依赖(Mybatis核心依赖和数据库【Mysql】版本对应版本的驱动jar包)使用框架也就是使用别人写好的代码,要想用的前提当然是导入别人的代码pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/.

2021-03-21 20:55:36 139

原创 (使用IDEA第一个MabatisDemo出现的问题)navicat 报错 1251 以及 MySQL忘记密码 以及 连接数据库 08001 错误

1、navicat 报错 1251以及 MySQL忘记密码https://blog.csdn.net/wshxhghsjjsn/article/details/804595422、连接数据库 08001 错误https://www.cnblogs.com/cn-chy-com/p/10145690.html一定注意.xml文件中修改相应的URL<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuratio..

2021-03-15 20:49:45 146

空空如也

空空如也

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

TA关注的人

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