- 博客(52)
- 收藏
- 关注
原创 括号生成 -----------递归回溯实现
递归: 自己调用自己,写递归函数前要先写递归的出口(递归结束条件)回溯: 回溯算法是一种算法思想,而递归则是具体的代码结构。 每完成一趟就一步步回溯到n-1步那里 (通过出栈(把栈内的当前运行函数地址弹出))函数调用: 将当前运行函数地址入栈,参数入栈等等....具体看汇编题目: 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有...
2019-09-07 21:07:09
305
原创 递归合并两个有序链表
递归: 程序调用自身的编程技巧称为递归。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。递归终止条件递归的终止条件一般定义在递归函数内部,在递归调用前要做一个条件判断,根据判断的结果选择是继续调用自身,还是return;返回终止递归。终止的条件:1、判断递归的次数是否达到某一限定值。2、判断运算的结果是否达到某个范围...
2019-09-07 13:36:53
779
转载 java中获取二维数组的行数和列数
二维数组其实是由一维数组组成,比如 int[][] arr = { {2,3,4}, {4,5,6}, {7,8,9} };int rows = i.length;//行数int columns = i[0].length;//列数这就像从数据库中查出来的数据,都是二维数组,length就是...
2019-09-05 10:07:27
947
原创 InputStreamReader和BufferedReader的区别
参考地址: https://www.jianshu.com/p/1130d42da493 https://blog.csdn.net/ai_bao_zi/article/details/811334761.InputStream、OutputStream处理字节流的抽象类InputStream 是字节输入流的所有类的超类,一般...
2019-09-05 09:13:30
2814
原创 java中的正则表达式
正则表达式实例一个字符串其实就是一个简单的正则表达式,例如 Hello World 正则表达式匹配 "Hello World" 字符串。.(点号)也是一个正则表达式,它匹配任何一个字符如:"a" 或 "1"。下表列出了一些正则表达式的实例及描述: java.util.regex 包主要包括以下三个类:Patter...
2019-08-31 10:22:09
203
原创 javaSE --------集合与泛型
集合框架详解:https://blog.csdn.net/zhangqunshuai/article/details/80660974 ArrayList ************************************************...
2019-08-29 20:32:53
126
原创 javaSE ------------ 数字局静态(static、final)
以类的名称调用静态的方法。 如: Math.min(88,86) 静态变量是共享的,同一类的所有实例共享一份静态变量。 实例变量: 每个实例一个 静态变量:每个类一个 ...
2019-08-28 21:34:44
89
原创 javaSE-----构造器与垃圾回收器
栈、堆空间 public class Dog{int size; // 实例变量Animal a ; // a 为引用变量,此时还未赋值,在堆上没有空间 a = new Cat() // 将Cat对象赋值给引用变量a,在堆上有空间public void eat(){ ..............}...
2019-08-28 18:09:18
83
原创 javaSE-----接口与抽象类
在 java中 Object 是所有类的父类 接口接口中的方法默认都是抽象方法,默认都加了abstract类可以实现多个接口super关键字...
2019-08-28 12:14:38
143
原创 javaSE----- 继承与多态
java API子类可以有自己的方法还有实例变量(自己的成员变量)多态 (引用类型可以是实际对象类型的父类: Animal a = new Dog();) 重载 OverLoad(参数个数或者参数类型不同,方法名必须相同) 实质表现就是多个具有不同的参数个数或者类型的同名函数: 1....
2019-08-28 11:36:02
116
原创 javaSE-----封装
将变量标记为 private 进行私有化 , 提供公共的(public) 的 getters 、 setters 方法。声明在方法内的局部变量(没有默认值)在使用前必须进行初始化,否则无法编译通过。...
2019-08-28 10:28:32
112
原创 javaSE-----类与对象、引用数据类型
对象是靠类的模型塑造出来的。对象本身已知的事物被称为: 实例变量,他们代表对象的状态(数据),且该类型的每一个对象都会独立拥有一份该类型的值,所以也可以把对象称为实例。对象可以执行的动作被称为:方法 引用变量book : Book book = new Book() 引用变量只会保存引用,而不是对象本身。...
2019-08-28 10:07:36
133
原创 Spring4.0 学习(第五天)------- NoSQL--------使用MongoDB持久化文档数据
MongoDB是最为流行的开源文档数据库之一。Spring Data MongoDB提供了三种方式在Spring应用中使用MongoDB: 1. 通过注解实现对象-文档映射; 2. 使用MongoTemplate实现基于模板的数据库访问; 3. 自动化的运行时Repository生成功能。 与Spring Data JPA不同的是,Spring Data MongoDB提供了将Ja...
2019-08-27 08:50:46
164
原创 Spring4.0 学习(第四天)-------通过Spring和JDBC征服数据库
从某种类型的数据库中读取和写入数据。为了避免持久化的逻辑分散到应用的各个组件中,最好将数据访问的功能放到一个或多个专注于此项任务的组件中。这样的组件通常称为数据访问对象(data access object,DAO)或Repository。 为了避免应用与特定的数据访问策略耦合在一起,编写良好的Repository应该以接口的方式暴露功能。如图所示,服务对象通过接口来访问Reposit...
2019-08-26 22:59:12
113
原创 Spring4.0 学习(第四天)------- 保护web应用
安全性都是绝大多数应用系统中的一个重要切面(aspect)。 Spring Security简介 Spring Security是为基于Spring的应用程序提供声明式安全保护的安全性框架。Spring Security提供了完整的安全性解决方案,它能够在Web请 求级别和方法调用级别处理身份认证和授权。因为基于Spring框架,所以Spring Security充分利用了依赖注入和 面向...
2019-08-26 22:13:49
142
转载 @pathVariable
@PathVariable只支持一个属性value,类型是为String,代表绑定的属性名称。默认不传递时,绑定为同名的形参。应用时,在@RequestMapping请求路径中,将需要传递的参数用花括号{}括起来,然后,通过@PathVariable("参数名称")获取URL中对应的参数值。如果@PathVariable标明参数名称,则参数名称必须和URL中参数名称一致。@Reques...
2019-08-26 21:19:27
667
原创 Spring4.0 学习(第四天)------- 跨重定向请求传递数据
在控制器方法返回的视图名称中,我们借助了“redirect:”前缀的力量。当控制器方法返回的String值以“redirect:”开头的话,那么这个String不是用来查找视图的,而是用来指导浏览器进行重定向的路径。具体来讲,正在发起重定向功能的方法该如何发送数据给重定向的目标方法呢?一般来讲,当一个处理器方法完成之后,该方法所指定的模型数据将会复制到请求中,并作为请求中的属性,请求会转发(f...
2019-08-26 21:03:05
106
原创 Spring4.0 学习(第四天)-------处理异常
不管发生什么事情,不管是好的还是坏的,Servlet请求的输出都是一个Servlet响应。如果在请求处理的时候,出现了异常,那它的输出依然会是Servlet响应。异常必须要以某种方式转换为响应。Spring提供了多种方式将异常转换为响应: 1. 特定的Spring异常将会自动映射为指定的HTTP状态码; 2. 异常上可以添加@ResponseStatus注解,从而将其映射为某一...
2019-08-26 20:28:00
104
原创 Spring4.0 学习(第四天)------- 处理multipart形式的数据(文件上传)
在编写控制器方法处理文件上传之前,我们必须要配置一个multipart 解析器,通过它来告诉DispatcherServlet该如何读取multipart请求。 配置multipart解析器 DispatcherServlet并没有实现任何解析multipart请求数据的功能。它将该任务委托给了Spring中MultipartResolver策略接口的实现,通过这个实现类来解析multip...
2019-08-26 19:46:01
147
原创 Spring4.0 学习(第三天)-------渲染Web视图(Tymeleaf模板)
编写处理Web请求的控制器。创建视图,用来渲染控制器产生的模型数据。理解视图解析 如果控制器只通过逻辑视图名来了解视图的话,那Spring该如何确定使用哪一个视图实现来渲染模型呢?这就是Spring视图解析器的任务了。 我们将会看一个没有列在表6.1中的视图解析器。Thymeleaf是一种用来替代JSP的新兴技术,Spring提供了与Thymeleaf的原生模板(natu...
2019-08-24 23:01:48
482
原创 Spring4.0 学习(第三天)------- 控制器Controller
你可能注意到的第一件事情就是HomeController带有@Controller注解。很显然这个注解是用来声明控制器的,但实际上这个注解对Spring MVC本身的影响并不大。HomeController是一个构造型(stereotype)的注解,它基于@Component注解。在这里,它的目的就是辅助实现组件扫描。因为HomeController带有@Controller注解,因此...
2019-08-24 22:09:03
97
原创 Spring4.0 学习(第三天)------- 跟踪Spring MVC的请求
请求是一个十分繁忙的家伙。从离开浏览器开始到获取响应返回,它会经历好多站,在每站都会留下一些信息同时也会带上其他信息。图5.1展示了请求使用Spring MVC所经历的所有站点。 在请求离开浏览器时 ,会带有用户所请求内容的信息,至少会包含请求的URL。还可能带有其他的信息,例如用户提交的表单信息。 请求旅程的第一站是Spring的DispatcherServ...
2019-08-24 20:39:45
399
原创 Spring4.0 学习(第二天)-------Spring AOP 核心概念
并不是所有的AOP框架都是相同的,它们在连接点模型上可能有强弱之分。有些允许在字段修饰符级别应用通知,而另一些只支持与方法调用相关的连接点。它们织入切面的方式和时机也有所不同。但是无论如何,创建切点来定义切面所织入的连接点是AOP框架的基本功能。Spring提供了4种类型的AOP支持: 1. 基于代理的经典Spring AOP; (不解释)2. 纯POJO切面; (需要XML配置)...
2019-08-24 01:18:55
162
原创 Spring4.0 学习(第二天)-------Spring AOP 基础术语
横切关注点在软件开发中,散布于应用中多处的功能被称为横切关注点(cross-cutting concern)。通常来讲,这些横切关注点从概念上是与应用的业务逻 辑相分离的(但是往往会直接嵌入到应用的业务逻辑之中)。把这些横切关注点与业务逻辑相分离正是面向切面编程(AOP)所要解决的问题。什么是面向切面编程 切面能帮助我们模块化横切关注点。简而言之,横切关注点可以被描述为影响应用多处的功...
2019-08-23 23:47:38
110
原创 Spring4.0 学习(第一天)------- bean的作用域
在默认情况下,Spring应用上下文中所有bean都是作为以单例(singleton)的形式创建的。也就是说,不管给定的一个bean被注入到其他bean多少次,每次所注入的都是同一个实例。 有时候,可能会发现,你所使用的类是易变的(mutable),它们会保持一些状态,因此重用是不安全的。在这种情况下,将class声明为单例的bean就不是什么好主意了,因为对象会被污染,稍后重用的时候会出现意想不...
2019-08-23 00:04:46
86
原创 Spring4.0 学习(第一天)-------处理自动装配的歧义性
方法一: 标示首选的bean在Spring中,可以通过@Primary来表达最喜欢的方案(只能标注在一个上)。@Primary能够与@Component组合用在组件扫描的bean上,也可以与@Bean组合用在Java配置的bean声明中。不管你采用什么方式来标示首选bean,效果都是一样的,都是告诉Spring在遇到歧义性的时候要选择首选的bean。方法二:使用自定义的...
2019-08-22 23:42:00
89
原创 Spring4.0 学习(第一天)---- 通过Java代码(JavaConfig----@Configuration)装配bean (解决第三方类库无法使用自动装配的情况)
尽管在很多场景下通过组件扫描和自动装配实现Spring的自动化配置是更为推荐的方式,但有时候自动化配置的方案行不通,因此需要明确配置Spring。比如说,你想要将第三方库中的组件装配到你的应用中,在这种情况下,是没有办法在它的类上添 加@Component和@Autowired注解的,因此就不能使用自动化装配的方案了。 在这种情况下,你必须要采用显式装配的方式。在进行显式配置的时候,有两种可选...
2019-08-22 22:08:14
536
原创 Spring4.0 学习(第一天)-------自动装配Bean(@Autowired @Component @ComponentScan)
在Spring中,对象无需自己查找或创建与其所关联的其他对象。相反,容器负责把需要相互协作的对象引用赋予各个对象。例如,一个订单管 理组件需要信用卡认证组件,但它不需要自己创建信用卡认证组件。订单管理组件只需要表明自己两手空空,容器就会主动赋予它一个信用卡 认证组件。 创建应用对象之间协作关系的行为通常称为装配(wiring),这也是依赖注入(DI)的本质。Spring容器负责...
2019-08-22 21:31:43
227
原创 Spring4.0 学习(第一天)-------Spring框架组成
Spring核心容器 容器是Spring框架最核心的部分,它管理着Spring应用中bean的创建、配置和管理。在该模块中,包括了Spring bean工厂,它为Spring提供了 DI的功能。基于bean工厂,我们还会发现有多种Spring应用上下文的实现,每一种都提供了配置Spring的不同方式。 除了bean工厂和应用上下文,该模块也提供了许多企业...
2019-08-22 18:56:09
106
原创 Spring4.0 学习(第一天)-------bean的生命周期
1.Spring对bean进行实例化; 2.Spring将值和bean的引用注入到bean对应的属性中; 3.如果bean实现了BeanNameAware接口,Sprin 将bean的ID传递给setBean-Name()方法; 4.如果bean实现了BeanFactoryAware接口,Spring将调用setBeanFactory()方法,将BeanFactory容器实例传入;...
2019-08-22 18:20:38
65
原创 Spring4.0 学习(第一天) -------------Spring容器
DI(依赖注入)能够让相互协作的软件组件保持松散耦合,而面向切面编程(aspect-oriented programming,AOP)允许你把遍布应用各处的功能分离出来形成可重用的组件。 在基于Spring的应用中,你的应用对象生存于Spring容器(container)中,Spring容器负责创建对象,装配它们,配置它们并管理它们的整个生命周期,从生存到死亡...
2019-08-22 18:15:19
71
原创 Spring4.0 学习(第一天) ------------- 学习初期的知识梳理
Spring框架的核心: 1 . Spring容器 2. DI: 依赖注入 3. AOP: 面向切面编程 Spring的目标是致力于全方位的简化Java开发 为了降低Java开发的复杂性,Spring采取了以下4种关键策略: 1. 基于POJO的轻量级和最小侵入性编程; 2....
2019-08-22 16:23:00
95
原创 yml文件配置mysql、mybatis 的一些问题
mybatis默认是属性名和数据库字段名一一对应的,即数据库表列:user_name实体类属性:user_name但是java中一般使用驼峰命名数据库表列:user_name实体类属性:userName...
2019-08-21 22:20:23
4522
1
原创 mysql忘记密码了怎么办?
点击链接 https://jingyan.baidu.com/article/454316ab4e9e65f7a7c03ad1.html
2019-08-20 21:38:55
49
原创 Spring配置类向容器注入组件
首先看一下我的目录结构 现在我想为EmpService这个组件编写一个配置类,那么首先在springboot包下创建一个config包,在该包下创建一个配置类EmpCofig。 我们先看看这两个类中的代码 EmpService.javapackage com.qinqi.springboot.service;public class EmpS...
2019-08-20 00:29:04
438
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人