自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 连续子数组的最大和(规律分析法+动态规划)

两种算法的时间复杂度都为O(n)public class maxSumOfSubArray { /** * 找规律 */ public static int fun1(int[] arr){ if(arr == null || arr.length == 0){ return 0; } int sum = 0;...

2020-03-31 21:52:22 347

原创 单核cpu多核cpu如何执行多线程

花了很多时间来整理这方面的相关内容程序和进程程序: 为完成特定任务,用某种语言编写的一组指令集合,即一段静态的代码进程: 是程序的一次执行过程,或是正在运行的一个程序,是一个动态的过程,比如电脑上的各种运行中的软件进程和线程进程可进一步细化为线程,是一个程序内部的一条执行路径,比如杀毒软件中的体检,杀毒,清理等都是一个进程中的多个线程一个进程同一时间并行多个线程,多线程是程序有多...

2020-03-31 11:19:00 8367

原创 DDL,DML,DQL联系与区别

DDL操作是隐性提交的!不能rollback

2020-03-28 11:48:48 1116

原创 常用的八种排序算法总结

1.冒泡排序最简单的一种public class bubSort { public static void main(String[] args) { int arr[] = {6,8,5,2,4,5,7}; for(int i = 0;i < arr.length - 1;i++){ for(int j = 0;j &lt...

2020-03-24 22:29:46 455

原创 spring-boot-starter原理及自定义

前言在我们做项目时会用到许多场景启动器,我们只需要引入对应的starter就可以使用相应的功能,我们可以在配置文件中根据需要修改一些属性,我们也可以自定义一些starter来使用,首先我们需要直到starter的原理原理1.我们以WebMvcAutoConfiguration为例,看这个类上标注的注解@Configuration //指定这个类是一个配置类@ConditionalOn...

2020-03-24 12:56:44 505

原创 成功踩坑RedirectAttributes,望大家引以为戒

首先我们常用的无非两种方式:redirectAttributes.addAttributie("prama",value);redirectAttributes.addFlashAttributie("prama",value);这两种方法区别在哪里?话不多说,上代码一.redirectAttributes.addAttributie(“prama”,value)这种方法直接将传递...

2020-03-22 23:13:01 1826 5

原创 springboot注解@EnableWebMvc是如何实现全面接管mvc的

If you want to take complete control of Spring MVC, you can add your own @Configuration annotated with @EnableWebMvc.springboot自动配置了mvc相关配置,如果我们想自己配置,只需要在配置类@Configuration上面添加@EnableWebMvc注解即可-----...

2020-03-21 18:38:20 621

原创 spring boot扩展spring mvc原理分析

If you want to keep Spring Boot MVC features, and you just want to add additional [MVC configuration](https://docs.spring.io/spring/docs/4.3.14.RELEASE/spring-framework-reference/htmlsingle#mvc) (interceptors, formatters, view controllers etc.) you can add

2020-03-21 18:24:52 348

原创 spring boot自动配置原理

在我的上一篇文章中通过案例简单揭示了spring boot自动配置原理(感兴趣的同学可以点此跳转),这里我们需要深入了解一下自动配置原理自动配置原理1)、SpringBoot启动的时候加载主配置类,开启了自动配置功能 @EnableAutoConfiguration2)、@EnableAutoConfiguration 作用:利用EnableAutoConfigurationImpor...

2020-03-20 17:27:31 302

原创 分析源码简述spring boot自动配置

我们知道spring是简化java开发,在做一个大型的网站开发时,我们可以整合ssm来实现,但在整合过程中还是会做各种复杂的配置,因此spring boot便应运而生,其目的时简化spring开发,我们通过启动类一层一层的探究springboot自动配置,通过对源码的分析可以让我们更加了解spring boot的开发使用简单的spring boot程序启动类我们可以发现,除了 @Spring...

2020-03-20 11:30:48 464

原创 MySQL变量及作用域(系统变量,自定义变量)

关于MySQL的变量,我看了很多篇文章都没有整明白,为什么一个简单的变量会被划来划去分不清楚,有些文章简直就是水文!浪费广大读者的时间,素质极差首先明确,mysql的变量分为系统变量和自定义变量两大类系统变量:全局变量会话变量自定义变量:用户变量自定义变量下面我们来介绍这些变量系统变量由系统提供,不是用户自定义,属于服务器层面,启动服务器时,服务器会提供这些变量,赋予默...

2020-03-17 17:37:15 1489

原创 MySQL中最左原则和覆盖索引的讨论

最左原则create table Demo(id int primary key auto_increment, phoneNum int, email int, jobId int, addId int, unique id(phoneNum)); 我么先创建了Demo表,然后紧接着创建了索引Demo_e_j_add,首先匹配email,然后再匹配剩下的列数,要是没有了emai...

2020-03-13 18:17:40 838

原创 一文搞懂xshell远程链接阿里云服务器

在阿里云中找到实例打开xshell,新建会话选择用户身份验证选择Public Key填写用户名(随便取),然后点击浏览,然后生成生成一直点击下一步,直到继续点击下一步点击保存为文件,保存在桌面上或者其他文件夹中回到阿里云服务器进入阿里云-- >控制台 – > 网络与安全 -->密钥对把刚才保存的文件复制输入点击确定绑定密钥重启阿里云服...

2020-03-12 09:49:30 442

原创 一篇文章搞懂MySQL各种联结JOIN

七种join模型其中左外连接,右外连接,全外连接各有两种模型创建表我们创建两张表,部门表department和员工表employee,主键都为id内连接根据内连接特点,我们可以得出7条正确结果:根据部门表的id,一行一行的和员工表的部门id匹配,有结果就显示左外连接(第一种情况)我们可以看到,左外连接的特点是LEFT OUT左边的表的departmentId和右边的表的id一...

2020-03-10 18:32:05 476

原创 SQL语句执行顺序

手写顺序:我们一般按照这个大概的顺序,选择左外,右外,全外链接编写sql语句,但是mysql的执行顺序和我们手写的不一样mysql引擎执行顺序:首先执行的是FROM,保留了ON关键字,其次是JOIN,如果有JOIN,那么这个ON就表示两张表的连接条件,此时的ON和WHERE依次执行,随后是GROUP BY,HAVING,SELECT,DINSTINCT,ORDER BY,LIMIT...

2020-03-10 12:40:37 335

原创 mysql常用引擎介绍

2020-03-10 12:31:47 328

原创 多个拦截器执行顺序原理(源码分析)

我们配置多个拦截器,看看输出结果:开始执行查看结果我们可以看出多个拦截器的执行顺序为preHandle:从第一个往后执行postHandle:从后往前执行afterCompletion:从后往前执行这里的先后为配置拦截器的顺序: <mvc:interceptors> <mvc:interceptor> &lt...

2020-03-07 23:24:39 2118

原创 拦截器执行细节以及和过滤器的区别

过滤器Filter和拦截器Interceptor区别过滤器是 servlet 规范中的一部分,任何 java web 工程都可以使用。拦截器是 SpringMVC 框架自己的,只有使用了 SpringMVC 框架的工程才能用。过滤器在 url-pattern 中配置了/*之后,可以对所有要访问的资源拦截。拦截器它是只会拦截访问的控制器方法,如果访问的是 jsp,html,c...

2020-03-07 20:53:08 337

原创 spring MVC如何解析视图,View视图源码解析

spring MVC如何解析视图试图是渲染数据模型展示给用户的组件,我们平时在控制器中写的return "success";返回的就是逻辑试视图,必须由视图解析器解析了视图,我们才能找到视图模型,例如:<!-- 视图解析器对象 --> <bean id="internalResourceViewResolver" class="org.springframework....

2020-03-06 18:09:58 471

原创 ModelAndView源码详解以及和Map,Model的区别

我们通过debug方式阅读源码来探究ModelAndView执行流程,在这个过程中我们不需要每行代码都弄懂,从程序开始到结束我们只需关心我们关注的点,ModelAndView的作用以及和Model,Map的区别会在文章末尾揭示这是ModelAndView类的主要结构:其中的ModelMap可以看作是一个Map实现类ModelAndView我们用来无非是往作用域传值和跳转页面,我们来看这两...

2020-03-06 14:06:04 787

原创 树的子结构(判断是否是另一个树的子结构)

要求:输入两颗二叉树A和B,判断B是不是A的子结构给出二叉树结构定义:public class TreeNode<T> { public T val; public TreeNode<T> left; public TreeNode<T> right; public TreeNode(T val){ this....

2020-03-05 19:32:04 575 1

原创 SpringMvc执行流程细节

概述:总所周知,MVC 全名是 Model View Controller,是 模型(model)-视图(view)-控制(controller)的缩写,是一种用于设计创建 Web 应用程序表现层的模式。MVC 中每个部分各司其职:Controller(控制器):SpringMvc中,所有的请求都会通过一个前端控制器Servlet,DispatcherServlet就是前端控制器,是应用程...

2020-03-05 18:44:23 496

原创 合并两个排序的链表

请看具体代码class ListNode { public int val; public ListNode next; public ListNode(int i) { this.val = i; this.next = null; }}class MergeSortList { public static Li...

2020-03-04 19:26:35 252

原创 关于Java配置的spring注解详解

创建应用对象之间协作关系的行为通常称为装配,这也是依赖注入的本质Spring从两个角度实现自动化装配:组件扫描(component scanning):Spring会自动发现应用上下文所创建的bean自动装配(autowiring):Spring自动满足bean之间的依赖一,用于在容器中创建bean对象的注解@Component把资源让 spring 来管理,相当于在 xml 中配...

2020-03-03 22:36:00 501

原创 Spring容器基于XML的两种实现(应用上下文继承关系详解)

在基于Spring的应用中,我们的对象生存于Spring容器(Container)中,容器是Spring框架的核心,使用DI管理构成应用的组件,spring容器并不是只有一个,spring自带了多个容器实现,可以归为两种不同的类型:bean工厂(由org.springframework.beans.factory.BeanFactory接口定义)是最简单的容器,提供最基本的DI支持应用上下文...

2020-03-03 16:26:04 517

原创 为什么学习Spring,什么是Spring,什么是IOC,什么是DI,什么是容器

什么是SpringSpring 是分层的 Java SE/EE 应用 full-stack 轻量级开源框架,以IoC(nverse Of Control:反转控制) 和AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 Spring MVC 和持久层 Spring JDBC 以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的...

2020-03-03 14:46:02 664

原创 Java-单链表反转

用java实现单链表反转定义三个指针pre cur post 分别指向前一个,当前和下一个节点通过改变每个节点指向下一个节点的指针来达到反转链表的目的具体代码实现:class ListNode<T> { public T val; public ListNode<T> next; public ListNode(T val){ ...

2020-03-02 20:43:50 343

原创 JavaWeb-Session详解

1.概念session时服务器会话技术,在一次会话的多次请求间共享数据,将数据保存在服务端的对象HttpSession中,是一个域对象2.使用HttpSession接口中有几个方法:void setAttribute(String var1, Object var2);Object getAttribute(String var1);void removeAttribute(Stri...

2020-03-02 15:32:00 837

原创 JavaWeb-Cookie详解

会话技术在学习cookie和session之前先要了解什么是会话技术会话:一次会话中包含多次请求和响应一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止功能:在一次会话的范围内的多次请求间共享数据方式:客户端会话技术:Cookie服务端会话技术:SessionCookie1.概念: 客户端会话技术,将数据保存到客户端2.使用方式:cookie执行...

2020-03-02 13:48:35 784

原创 JavaWeb-response详解

首先上图在对继承关系有了一个概念之后,我们进入正题:response是由服务器创建的,在处理request并进行一系列处理过后,将处理后的信息封装为response对象,最后通过http协议返回给客户端与我们学习request类似,我们先打印这个对象信息:与request类似,也是有tomcat内部实现,具体分析参考我另一篇文章:https://blog.csdn.net/Alphr...

2020-03-01 20:44:01 553

原创 JavaWeb-request详解

首先上图在对继承关系有了一个概念之后,我们进入正题:response是由服务器创建的,根据http协议封装请求消息的对象,我们通过它获取请求消息,让我们具体看一下这个对象输出的信息我们发现打印的对象信息并不在servlet api中,而是tomcat内部实现,我们打开与之对应的tomcat的java包可以发现HttpServletRequest并没有实现类,而是tomcat提供了实现...

2020-03-01 18:10:46 953

原创 JavaWeb-servlet详解

什么是servletJava Servlet(Java服务器小程序)是一个基于Java技术的Web组件,运行在服务器端,它由Servlet容器所管理,用于生成动态的内容。 Servlet是平台独立的Java类,编写一个Servlet,实际上就是按照Servlet规范编写一个Java类。Servlet被编译为平台独立 的字节码,可以被动态地加载到支持Java技术的Web服务器中运行。简而言之:...

2020-03-01 15:52:39 955

空空如也

空空如也

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

TA关注的人

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