- 博客(69)
- 资源 (4)
- 收藏
- 关注

原创 leetcode刷题目录
leetcode专栏下置顶文章,为刷题做一个记录,按照leetcode官网题库栏目右侧的“标签分类”,每个分类做一个表格,记录做过的题,不记录解法,持续更新。。。字符串题目编号题目名称做题日期应用1576替换所有的问号2020-02-22可以生成一个字母组成的字符间不重复的字符串...
2021-02-22 18:47:04
407
原创 贪心算法(持续更新)
理解贪心算法贪心算法采用贪心的策略,保证每次操作都是局部最优的,从而使最后得到的结果是全局最优的。“田忌赛马”是大家耳熟能详的典故,齐威王和田忌都有上,中,下三个等级的马,整体差别不大,但是齐威王每个等级的马都比田忌的马跑得快。如果齐威王和田忌每次都使用相同等级的马进行比赛,那么田忌必输无疑。孙膑给田忌想了个办法,如下图:全局结果是局部结果的简单求和,且局部结果互不相干,因此局部最优的策略也同样是全局最优的策略,田忌可以获胜。分配问题455. 分发饼干题目描述有一群孩子和一堆饼干,每个孩子
2021-06-29 19:33:20
677
17
原创 JSON简单了解及后台处理
什么是JSON?JSON(JavaScript Object Notation,JS对象标记)是一种轻量级数据交换格式,目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。 在JavaScript语言中,一切都是对象,任何JavaScript支持的类型都可以通
2021-06-21 22:23:05
562
原创 SpringMVC—请求返回数据中文乱码
乱码问题现象1、创建提交数据的表单form.jsp<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Title</title></head><body> <form action="/e/t" method="post"> <input type
2021-06-17 21:57:19
487
2
原创 SpringMVC—数据处理
接受请求参数1、提交的域名称和处理方法的参数名一致提交数据:http://localhost:8080/hello?name=stitch处理方法@RequestMapping("/hello")public String hello(String name){ System.out.println(name); return "hello";}后台输出:stitch2、提交的域名称和处理方法的参数名不一致提交数据:http://localhost:8080/hello?userna
2021-06-16 22:01:45
124
原创 SpringMVC—结果跳转方式
ModelAndView设置ModelAndView,根据View的名称和视图解析器,跳转到指定的页面。页面:{视图解析器前缀} + 视图名称 + {视图解析器后缀}<!--视图解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver"> <!--前缀-->
2021-06-15 21:48:12
149
1
原创 SpringMVC:Controller及RestFul风格
控制器Controller控制器负责提供访问应用程序的行为,通常通过接口定义或注解定义两种方式实现。控制器负责解析用户的请求并将其转换为一个模型。在SpringMVC中一个控制器类可以包含多个方法在SpringMVC中,对于Controller的配置方式有很多种。实现控制器的方式公共配置文件web.xml配置文件<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xm
2021-05-31 23:05:29
316
4
原创 SpringMVC—注解开发
新建web项目新建普通maven项目,添加web框架支持:创建module后,右键Add Framework Support,弹出对话框中选择Web Application,IDEA会自动导入相关的包并添加一些Web项目的配置导入相关jar包<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.
2021-05-18 22:41:49
133
2
原创 SpringMVC—DispatchServlet运行流程
DispatchServlet—通用的客户端请求处理图中实线部分为SpringMVC代为处理,虚线部分为自行处理。1、DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心。用户发出请求,DispatcherServlet接收并拦截请求。我们假设请求的url为:http://localhost:8080/SpringMVC/hello将如上url拆分为三部分:http://localhost:8080服务器域名SpringMVC部署在服务器上的web站点hel
2021-05-16 20:46:07
563
原创 SpringMVC—Servlet
MVC简介模型(dao、service)、视图(Jsp)、控制器(Servlet),是一种软件设计规范。业务逻辑、数据、显示分离来控制代码。daoserviceservlet:转发、重定向jsp/html
2021-05-13 23:36:31
470
原创 Spring整合Mybatis方式(三)—实现类继承SqlSessionDaoSupport
此种方式在Spring整合Mybatis(二) —mybatis-spring的基础上稍加改动一、实现类继承SqlSessionDaoSupport获取SqlSessionpackage indi.stitch.mapper;import indi.stitch.pojo.User;import org.mybatis.spring.support.SqlSessionDaoSupport;import java.util.List;public class UserMapperImpl2
2021-05-06 22:11:26
395
2
原创 Spring整合Mybatis(二) —mybatis-spring
spring-dao.xml配置文件1、编写数据源配置<!--DataSource:使用Spring的数据源替换mybatis的配置 c3p0 dbcp druid--> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql
2021-04-28 23:00:11
338
2
原创 Spring整合Mybatis(一)
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/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apac
2021-04-26 22:43:56
102
原创 SpringAOP的实现
准备步骤1、导包(使用AOP依赖的包)<!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver --><dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.4</version&g
2021-04-12 22:53:41
114
原创 SpringAop原理-代理模式-动态代理
1、动态代理和静态代理角色一样2、动态代理的代理类是动态生成的,不是我们直接写好的3、动态代理分为两大类:基于接口的动态代理JDK 动态代理基于类的动态代理cglibjava字节码实现动态代理javasist需要了解两个类:Proxy 代理、InvocationHanlder 调用处理程序一个动态代理类代理的是一个接口,一般就是对应的一类业务一个动态代理类可以代理多个类,只要是实现了同一个接口即可...
2021-04-08 22:48:02
105
原创 代码整洁之道读书笔记
第一章 整洁代码5S原则体系:整理(组织):恰当的命名整顿(整齐):物皆有其位,而后物尽归其位,每段代码都该在你希望它所在的地方清楚(清洁):删除无用代码标准化:在开发组内使用一贯的代码风格和实践手段身美(自律):实践中贯彻规程,而且乐于改进勒布朗法则:稍后等于永不(拒绝拖延)简单代码规则:能通过所有测试;没有重复代码;体现系统中的全部设计理念;包括尽量少的实体,比如类、方法、函数等。童子军军规:让营地比你来时更干净!第二章 有意义的命名有意义的命名:1、名副其实:(1)选
2021-04-07 19:10:12
113
原创 SpringAop原理-代理模式-静态代理
静态代理在不改变原有业务逻辑的情况下,使用代理模式实现功能的扩展。以“租房”案例理解代理模式。实现中介代理房东租房,有四个主要角色:1、真实角色—房东2、代理角色—中介3、抽象角色—租房这件事情,即功能的实现4、服务对象—租房的人,即客户代码实现租房接口(抽象对象)package indi.stitch.demo1;/** * 租房接口 */public interface IRent { public void rent(); }房东出租房子(真
2021-04-01 22:52:14
186
原创 使用JavaConfig代替xml实现Spring配置
简单实体类package indi.stitch.pojo;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;@Componentpublic class User { private String name; public String getName() { return name; .
2021-03-31 22:37:23
171
1
原创 Spring使用@Autowired注解实现自动装配
Spring支持注解配置引入注解依赖<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.spri
2021-03-22 22:47:14
301
原创 Spring中Bean的作用域和自动装配
Bean的作用域Spring中bean的作用域共有singleton、prototype、request、session、application、websocket六种其中后四种都是用在Web应用程序中的,主要介绍前两种singleton(单例)和prototype(原型)Bean的作用域范围为singleton时,所有实例共享一个对象。Spring的默认配置为scope = “singleton”,以下两种配置的效果是一样的:默认配置<?xml version="1.0" enco
2021-03-01 22:33:55
106
原创 Spring使用p命名空间和c命名空间实现依赖注入
首先在配置文件中加入p命名空间和c命名空间的配置 xmlns:p="http://www.springframework.org/schema/p" xmlns:c="http://www.springframework.org/schema/c"在bean配置中使用p命名空间和c命名空间 <!--使用p命名空间直接实现属性的注入--> <bean id = "user" class="indi.stitch.pojo.User" p:name="小明" p:age="1
2021-02-25 23:03:37
303
原创 Spring使用Setter完成依赖注入
对依赖注入的理解依赖:实体间的所有依赖由容器创建注入:容器负责完成实体间依赖互相注入的任务使用Setter完成不同类型属性的注入实体类Studentpackage indi.stitch.pojo;import java.util.*;public class Student { private String name; private Address address; private String[] books; private List<Str
2021-02-24 23:01:43
213
原创 Spring的IOC思想简单实践—通过xml实现对象的创建
传统创建对象的方式传统的在Java中创建对象的方式为使用new关键字创建对象对象 对象名 = new 对象();例如:User user = new User();Spring创建对象的方式可以理解为将创建对象的过程托管给Spring,由Spring来创建对象,我们只需要被动接收对象,不需要主动创建对象。1、简单的POJO对象package indi.stitch.pojo;public class Hello { private String str; publi
2021-02-22 23:03:58
200
原创 对Spring中IOC思想的理解
IOC的简单实现获取用户数据传统实现方式为:1、IUserDao接口package indi.stitch.dao;public interface IUserDao { void getUser();}2、UserDaoImpl实现类package indi.stitch.dao;public class UserDaoImpl implements IUserDao{ public void getUser() { System.out.print
2021-02-21 21:45:04
85
原创 Spring概念理解及组成
Spring概念理解及组成1.1 Spring是什么Spring(春天),可以理解为给软件行业带来了春天!2002年,Spring的前身Interfarce21诞生。Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了1.0正式版。Rod Johnson Spring Framework创始人,著名作者。 Rod在悉尼大学不仅获得了计算机学位,同时还获得了音乐学位。更令人吃惊的是在回到软件开发领域之前,他还获得了音乐学的博士学位。
2021-02-20 22:49:21
165
原创 一、一切都是对象
一、一切都是对象1、引用和对象的关系 引用和对象的关系,好比遥控器和电视的关系。遥控器可以在一定的范围内操控电视,引用也可以在一定的范围内操控对象。2、对象存储的位置 1)寄存器 最快的存储区,位于处理器内部。 2)堆栈 位于通用RAM(随机访问存储器)中,通过堆栈指针可以在处理器中获得直接支持。 堆栈指针若向下移动,则分配新的内存;若向上移动,则释放内存。 3)堆 使用new关键字创建出来的对象都存储在堆中。 4)常量存储 常量值通常直接存放在程序代码中或者ROM(只读
2020-10-02 21:01:48
159
原创 #判断一个数是否是奇数的优化
微信推送上看了一个Java面试题,文章的作者说可能是最简单的面试题了,题目就是判断一个数是否是奇数。作者一开始指出大多数人会这样做public boolean isOdd(int i) { if( i % 2 == 1 ) { System.out.println("是奇数"); } else { System.out.println("是偶数"); }}编译的时候发现错误...
2020-04-28 00:24:11
282
原创 Springboot项目在设计测试用例进行测试时报错:java.lang.AssertionError: Status expected:<200> but was:<404>
这个问题也难了我好几天,最后在仔细看了一遍视频之后才发现,是包名错误导致的!视频中项目导入eclipse之后包名是下面这样的:而我将自己的项目导入eclipse之后包名是这样的:比视频中多了一级名为initializrstart的目录,这个原因导致测试类找不到对应的路径,所以会报404错误。将包重命名为视频中的包名问题就解决了...
2019-03-13 14:08:22
5975
原创 算法学习——堆排序
堆排序就是将要排序的对象构造为一个有序的大顶堆或小顶堆(根据需要来定,升序排序构造大顶堆,降序排序构造小顶堆),之后每次将堆顶选出后剩下的节点元素再次进行排序,直到剩下最后一个节点元素为止,此时排序结束。package pp.suanfa;/** * 堆排序 * @author xiaoGd * */public class HeapSort { public sta...
2018-10-14 21:58:04
1000
1
原创 算法学习——希尔排序
希尔排序的思想就是将排序对象分为步长序列进行插入排序,步长序列的增量是递减的,那么什么是步长序列呢?简单的说就是将一个大的序列按照固定的增量分为若干个小的序列,当数字作为序列的下标时,1,3,5,7,9就是一个步长序列,仔细考虑考虑不难理解,若一个长度为10的序列,将其按照增量为5来分段,此时要进行插入排序的分别是下标为0和5,1和6,2和7,3和8,4和9的元素,话不多说,咱们直接来看代码:...
2018-10-12 20:43:34
441
原创 算法学习——快速排序
看过了冒泡排序和选择排序,昨天看了快速排序,对于其中的位置互换理解的有点混乱,直到今天才弄明白是怎么一回事。过程大概了解了,利用了分治的思想,如果要对一个数组进行排序,先取数组中的一个数作为基准数,遍历数组,将数组中大于该基准数的数放在右边,小于该基准数的数放在左边,这样就将较小的数和较大的数分成了两个部分,基准数是最后确定位置的,并不是像插入排序一样先确定基准数的位置,然后再将其它数进行排序。...
2018-10-06 09:48:33
169
原创 使用二进制和位移运算实现简单的算法
1.将一个二进制数向左位移n位就等于该数乘以2的n次方,当乘法运算中的某个数符合这个特点的时候,可以用位移运算代替乘法运算,从而提高效率。package pp.suanfa;/** * 乘法运算转位移运算 * * @author xiaoGd * */public class MulAndShift { public static int isPower(int m...
2018-10-02 09:58:35
1599
原创 算法学习——归并排序
归并排序看起来比较难,代码量也比之前几个排序多,研究归并排序也确实用了挺长时间。归并排序中的“归”是递归的意思,“并”是合并的意思,顾名思义,归并就是先递归分开,再合起来,那么归并排序的思想就是将一个数据序列递归划分为越来越小的半子表,再对半子表进行排序,最后再用递归的方法将排好序的半子表合并成为越来越大的有序序列,这也是分治思想在归并排序中的体现。归并排序算法的原理就是对于给定的一组记录...
2018-10-01 18:20:06
352
原创 对SpringMVC、Struts2、Hibernate以及Mybatis工作原理的初步理解
一、看了对SpringMVC原理的介绍,我画了一张图:按图中序号依次向下进行:1.用户发送请求到前端控制器DispatcherServlet2.DispatcherServlet收到请求调用处理器映射器HandlerMapping3.HandlerMapping找到具体的处理器,生成处理器对象以及处理器拦截器(如果有则生成),一并将其返回给DispatcherServlet(图...
2018-10-01 14:10:39
1886
原创 关于配置Maven的一些问题
今天遇到的问题:1.Java Compiler 没有1.8这个问题网上有好多人说在Eclipse Marketplace中搜索Java 8,然后选择第一个install,但是我失败了,我选了第二个安装结果没用,于是我决定更新Eclipse,更新之后就有1.8了。2.Maven项目报错:org.apache.maven.archiver.MavenArchiver.getManife...
2018-09-29 21:59:29
403
原创 算法学习——冒泡排序
顾名思义,冒泡排序就是将要排序的对象像冒泡泡一样一个挨着一个比较,最终形成一定的顺序。就像一群人中一共有五个人,要让他们按照身高进行排序,首先让第一个人和第二个人比较,个子高的人再和第三个人比较,这两个人中个子更高的再和第四个人比较,一轮下来就会选出最高的人,然后让剩下的四个人按照同样的方法进行比较,在四轮比较之后就会排出他们的顺序。假设要为一个数组进行排序,实现起来就是这样:int[...
2018-09-28 09:07:39
197
原创 关于Tomcat启动成功后index.jsp无法正常显示的问题(The origin server did not find a current representation )
首先我遇到的是这样的错误:The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.百度翻译给的中文结果是这个意思:OrthServer没有找到目标资源的当前表示,或者不愿意透露目标资源。就是找不...
2018-09-27 18:54:18
11588
3
原创 为项目添加Eclipse中已存在的Server的jar包
右键项目,选择Build Path——>Configure Build Path——>Libraries——>Add Library——>Server Runtime,之后选择所要添加服务的jar包即可。为方便浏览截了几个图:第一步:第二步:第三步:第四步:这里就是你想要添加jar包的服务第五步:选择之后点Finish就大功告成了!...
2018-09-27 16:49:12
1502
JavaScript版 数据结构与算法
2019-05-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人