自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA设计模式总结之 23种设计模式

一、什么是设计模式初识设计模式:https://blog.csdn.net/young_1004/article/details/100190090设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制...

2018-10-18 17:10:29 307

原创 LeetCode(20):有效的括号

描述:给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例:输入: "()"输出: true输入: "()[]{}"输出: true输入: "()[]{}"输出: true输入: "{[]}"输出: true/** * 判断是否有效的括号 * @param s *.

2020-05-16 11:36:19 62

原创 LeetCode(14):最长公共前缀

描述:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例:输入: ["flower","flow","flight"]输出: "fl"输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。class Solution { public String longestCommon...

2020-04-21 23:02:37 54

原创 LeetCode(13):罗马数字转整数

描述:罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并...

2020-03-28 14:51:20 56

原创 LeetCode(9):回文数

描述判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例输入: 121* 输出: true** 输入: -121* 输出: false* 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。** 输入: 10* 输出: false* 解释: 从右向左读, 为 01 。因此它不是一个回...

2020-03-25 20:46:37 86

原创 LeetCode(7):整数反转

描述:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例:输入: 123 输出: 321输入: -123 输出: -321输入: 120 输出: 21class Solution { public int reverse(int x) { long n = 0; wh...

2020-03-24 21:30:19 60

原创 LeetCode(1):两数之和

描述:给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例: 给定 nums = [2, 7, 11, 15],target = 9因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]...

2020-03-23 21:38:47 54

原创 SpringMVC 黑马程序员三天笔记(第二天:响应数据和结果视图、转发和重定向、文件上传、异常处理 、拦截器)

SpringMVC 第二天 第1章 响应数据和结果视图1.1返回值分类1.1.1 字符串controller 方法返回字符串可以指定逻辑视图名,通过视图解析器解析为物理视图地址。//指定逻辑视图名,经过视图解析器解析为 jsp 物理路径:/WEB-INF/pages/success.jsp@RequestMapping("/testReturnString") public S...

2020-03-22 19:16:49 212

原创 Spring 黑马程序员四天笔记(第四天:JdbcTemplate、Spring事务管理)

第1章 Spring 中的 JdbcTemplate[会用]1.1JdbcTemplate 概述它是 spring 框架中提供的一个对象,是对原始 Jdbc API 对象的简单封装。spring 框架为我们提供了很多 的操作模板类。操作关系型数据的: JdbcTemplateHibernateTemplate 操作 nosql 数据库的: Redi...

2020-03-22 17:55:58 178 2

原创 Spring 黑马程序员四天笔记(第三天:AOP)

第1章 AOP 的相关概念[理解]1.1AOP 概述1.1.1 什么是 AOPAOP:全称是 Aspect Oriented Programming 即:面向切面编程。简单的说它就是把我们程序重复的代码抽取出来,在需要执行的时候,使用动态代理的技术,在不修改源码的 基础上,对我们的已有方法进行增强。1.1.2 AOP 的作用及优势作用:在程序运行期间,不修改源码对已有方...

2020-03-22 13:21:30 196

原创 Spring 黑马程序员四天笔记(第二天:IOC、增删改查)

第1章 案例:使用 spring 的 IoC 的实现账户的CRUD1.1 需求和技术要求实现账户的 CRUD 操作1.1.2 技术要求使用 spring 的 IoC 实现对象的管理 使用 DBAssit 作为持久层解决方案使用 c3p0 数据源1.2 环境搭建1.2.1 拷贝jar包1.2.2 创建数据库和编写实体类create table account(...

2020-03-22 10:09:36 293 1

原创 Spring 黑马程序员四天笔记(第一天:控制反转、依赖注入)

Spring 第一天第1章 Spring 概述1.1 spring概述1.1.1 spring 是什么Spring 是分层的 Java SE/EE 应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control: 反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 Spring MVC...

2020-03-16 23:13:31 313

原创 《剑指offer:Java版》 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字

描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。诀窍:思路:递归思想前序序列的第一个元素即为根节点,根据根节点的值在中序序列找到根节点的位置假定为i则根据二叉树前序和中序的规律:前序序...

2020-03-15 23:14:41 660

原创 SpringMVC 黑马程序员三天笔记(第一天:三层架构和 MVC、Spring入门)

第一天第1章 SpringMVC 的基本概念1.1 关于三层架构和 MVC1.1.1 三层架构 我们的开发架构一般都是基于两种形式,一种是 C/S 架构,也就是客户端/服务器,另一种是 B/S 架构,也就 是浏览器服务器。在 JavaEE 开发中,几乎全都是基于 B/S 架构的开发。那么在 B/S 架构中,系统标准的三层架构包括:表现层、业务层、持久 层。三层架构在我们 的实...

2020-03-15 19:49:41 574 1

原创 《剑指offer:Java版》 输入一个链表,按链表从尾到头的顺序返回一个ArrayList

描述:输入一个链表,按链表从尾到头的顺序返回一个ArrayList实现:package com.ma.offer;import java.util.ArrayList;import java.util.Stack;/** * 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 */class ListNode { int val; Lis...

2020-03-14 16:43:40 85

原创 《剑指offer:Java版》 请实现一个函数,将一个字符串中的每个空格替换

描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。实现:package com.ma.offer;public class Demo02 { /** * 请实现一个函数,将一个字符串中的每个空格替换成“%20”。 * 例如,当字符串为We ...

2020-03-13 22:15:53 194

原创 Java中的多线程编程

Java是为数不多的真正实现多线程并发编程的语言说到线程程,我们就不由的得先说说进程,所谓是有爹再有儿。什么是进程呢?进程是一个具有独立功能的程序,关于某个特定数据集合进行的一次运行活动。进程是系统进行资源分配和调度运行的基本单位(程序 + 数据 + 进程控制块PCB),进程会独占CPU。线程是进程基础上的进一步划分,可共享进程中的共有资源,线程之上又细分“...

2020-02-29 12:38:39 94

原创 JAVA基础知识【网上整理的+自己的】

一、容器相关Java集合中List,Set以及Map等集合体系详解:https://blog.csdn.net/zhangqunshuai/article/details/80660974

2020-02-23 10:47:35 68

原创 Java中的多重继承

接口不仅仅只是一种更纯粹形式的抽象类,它具有更高的目标,接口没有具体的实现,没友任何与接口有关的存储,这样可以使用接口去进行组合,完成一些功能:一个x可以完成a、可以完成b、同时可以完成c。在C++中组合多个类接口的行为称之为多重继承。它可能会是你背上沉重的包袱,因为每一个类都有一个具体的实现。在Java中,你可以执行相同的行为,但是只有一个类可以有具体的实现,因此通过组合多个接口,...

2020-02-16 11:46:15 233

原创 关于Mac笔记本下开发的一些必备工具安装

相信大家在后台开发的学习中会用到很多很多的工具,而在进行这些工具使用之前往往第一件事情就是安装工具。前不久大学期间的小本本光荣退休了,为了体验体验传说中开发必备的Mac,入手了一款入门级的Mac air,小本本到了之后有点小激动的进行了拆箱,开始探索OS系统,这一探索才发现和Windows系统是真的有很大不同。刚开始还有点不适应,毕竟第一次用Mac,相信大家初次接触的电脑的系统应该是...

2019-12-08 21:18:27 137

原创 Spring Boot 入门

Spring Boot 前传:一、Spring Boot 初识:https://blog.csdn.net/young_1004/article/details/80532304二、再谈Spring Boot:https://blog.csdn.net/young_1004/article/details/82195015三、Spring Boot Controller使用:https...

2019-11-24 23:59:20 133 1

原创 JavaScript之 JavaScript 基础知识

1、概念: 是一门客户端的脚本语言,每一个浏览器都有JavaScript的解析引擎 *脚本语言:不需要编译,直接可以被浏览器解析执行2、功能: 可以增强用户和 html 的交互过程,可以控制html元素,增强用户体验3、JavaScript的发展史: 1.1992年,Nombase公司,开发出第一门客户端脚本语言,专门用于表单的校验,...

2019-11-24 18:00:14 73

原创 JavaWeb CSS 基础知识

1、概念:Cascading Style Sheets 层叠样式表 *层叠:多个样式可以作用在同一个html元素上,同样生效2、好处: 1.功能强大 2.将内容展示与样式控制分离(降低耦合度)3、CSS使用 1.内联样式 在标签内使用style属性指定css代码<div style="color: red;">...

2019-11-10 14:35:07 201

原创 JavaWeb 之 HTML基础知识

HTML标签:1、概念:是最基础的网页开发语言 Hyper Text Markup Language 超文本标记语言 超文本: 使用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本 标记语言: 由标签构成的语言, <标签名称>如 html,htm 标记语言不是编程语言2、快...

2019-11-05 23:12:00 147

原创 JAVA基础之:JAVA中的注解

1、概念:说明程序的,给计算机看的定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5之后版本引入的一个特性,与类、接口、枚举是同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等前面,用来对这些元素进行说明,注释。概念描述:JDK1.5之后用的;说明程序的;使用注解:@注解名称package com.ma.annotati...

2019-11-02 18:20:31 261

原创 JAVA葵花宝典

JAVA基础技能:https://blog.csdn.net/Amen_Wu/article/details/73800299

2019-09-14 00:22:36 69

原创 初识Java设计模式

先看几个经典的面试题:1)请使用UML类图画出原型模式核心角色2)原型设计模式的深拷贝和浅拷贝是什么,并写出深拷贝的两种方式的源码(重写clone方法实现深拷贝、使用序列化实现深拷贝)3)在Spring框架中哪里使用到了原型模式,并对源码进行分析beans.xml<bean id="id01" class="com.ma.spring.bean.Monster" scop...

2019-09-02 00:33:37 91

原创 《程序员代码面试指南》生成窗口最大值数组

题目:有一个整型数组 arr 和一个大小为 w 的窗口从数组的最左边滑倒最右边,窗口每次向右边划一个位置。例如:数组为 [4,3,5,4,3,3,6,7],窗口大小为3时: [4 3 5] 4 3 3 6 7 窗口的最大值为5 4[3 5 4] 3 3 6 7 窗口的最大值为5 4 3[5 4 3] 3 6 7 窗口的最大值为5 4 3 5[4 3 3] 6 7 窗...

2019-01-09 09:45:20 137

原创 《程序员代码面试指南》第一章:栈与队列

这篇博客将《程序员代码面试指南》的第一章的内容进行一个汇总。1.1:设计一个有getMin()功能的栈1.2:由两个栈组成的队列1.3:如何仅用递归函数和栈操作逆序一个栈1.4:猫狗队列1.5:用一个栈实现另一个栈的排序1.6:用栈来求解汉诺塔问题1.7:生成窗口最大值数组1.8:构造数组的MaxTree1.9:最大子矩阵的大小1.10:最大值减去最小值小于...

2019-01-07 19:20:58 138

原创 《程序员代码面试指南》用栈来求解汉诺塔问题

题目:汉诺塔的问题比较经典,这里修改一下游戏规则:现在限制不能从最左侧的塔直接移动到最右侧,也不能从最右侧直接移动到最左侧,而是必须经过中间。求当塔有N层的时候,打印最优秀移动过程和最优移动总步数。例如:当塔为两层的时候,最上层塔记作1,最下层的塔记作2,则打印:Move 1 from left to midMove 1 from mid to rightMove 2 from...

2019-01-07 09:12:58 305 2

原创 Android开发4 : 活动的生命周期

2.4掌握活动的生命周期对任何Android开发者来说都十分重要,当你深入理解活动的生命周期后就可以写出更为流畅的程序,并在如何管理应用资源方面发挥的游刃有余。你的应用程序将会拥有更好的用户体验。2.4.1 返回栈Android 中的活动是可以层叠的。我们每启动一个新的活动,就会覆盖原活动之上,然后点击 back 键销毁上面的活动,下面的一个活动就会重新显示出来。其实 Androi...

2019-01-01 23:03:40 798

原创 Android开发3 : 使用Intent在活动之间穿梭

2.3使用Intent在活动之间穿梭2.3.1使用显式Intent上次我们学到了如何创建一个活动,,那么现在我们快速的在ActivityTest中再创建一个活动。仍然是右击com.example.activitytest包-&gt;New-&gt;Activity-&gt;Empty Activity,并勾选Generate Layout File,给布局文件起名为second_lay...

2018-12-28 20:41:33 145

原创 Android开发1:windows下开发环境的搭建

工欲善其事必先利其器,Android开发我们首先要选择一款得心应手的开发工具,2013年的时候谷歌推出了一款官方的IDE工具Android Studio,到目前为止已经发展成为一款极其智能的开发工具。接下来我们来看看怎么在自己电脑上面安装这款利器。在安卓的官网上可以下载:https://developer.android.google.cn/studio/index.html。接下来请...

2018-12-20 10:41:29 141

原创 Android开发2:探究活动(Activity)

2.1活动是什么活动(Activity)是最吸引用户的地方,它是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用程序可以包含零个或多个活动,但不包括任何活动的程序很少见。2.2活动的基本用法2.2.1手动创建一个活动由于Android Studio在一个工作区间内只允许打开一个项目,因此首先需要将当前项目关闭,点击File-&gt;Close Project。然后再新建...

2018-12-14 20:01:42 127

原创 《程序员代码面试指南》如何仅用递归函数和栈操作逆序一个栈

题目:一个栈依次压入1、2、3、4、5,那么栈顶元素分别为5、4、3、2、1。 将这个栈转置后从栈顶到栈底为1、2、3、4、5,也就是实现栈中元素的逆序,但是只能用递归函数来实现,不能用其他数据结构。 解答:本题考查的是栈的操作和递归的函数的设计,我们需要设计两个递归函数。 递归函数一:将栈stack的栈底元素返回并移除(getAndRemoveLastElement)。...

2018-11-21 09:27:05 140

原创 《程序员代码面试指南》由两个栈组成的队列

题目:编写 一个类,用两个栈实现队列,支持队列的基本操作(add, pol,peek)。 解答:栈的特点是先进后出,而队列的特点是先进先出。我们用两个栈正好能把顺序反过来实现类似队列的操作。具体的做法是一个栈作为压入栈,在压入数据的时候只往这个栈压入,记为 stackPush;另一个栈只作为弹出栈,在弹出数据时候只从这个栈弹出,记为stackPop。因为数据压入栈的...

2018-11-17 18:34:37 108

原创 《程序员代码面试指南》在其他数都出现偶数次的数组中找到出现奇数次的数

 题目:在一个数组中只有一个数出现了一次 其他数出现两次 请找出那个只出现一次的数字 解答:整数n与0异或的结果是n。n与n异或的结果是0。public class GetOnlyOne { public static int getNumber(int[] array){ int flag = 0; for(int i : ar...

2018-11-13 16:22:58 105

原创 《程序员代码面试指南》在其他数都出现K次的数组中找到只出现一次的数

题目:给定一个整型数组arr和一个大于1的整数K。已知arr中只有1个数出现了1次,其他数都出现了K次,请返回只出现了1次的数。 解答:以下的例子是两个七进制数的无进位相加,即忽略进位的相加,比如:七进制数a:6 4 3 2 6 0 1 七进制数a:3 4 5 0 1 1 1 无进位相加结果:2 1 1 2 0 1 2可以看出,两个七进制的数a和b,在i位上无进位相...

2018-11-04 14:36:28 175

原创 Elasticsearch 多种搜索方式

1、query String search 搜索所有的商品 GET /ecommerce/product/_search 效果   "took": 288 (耗费的毫秒) "timed_out": false(是否请求超时) _shards": { "total": 5, "successful": 5, ...

2018-11-04 14:11:52 956

原创 《程序员代码面试指南》需要排序的最短子数组长度

题目:给定一个无序数组arr,求出需要排序的最短数组长度。例如:arr=[1,5,3,4,2,6,7]返回4,因为只有[5,3,4,2]需要排序。 解答:初始化变量noMinIndex=-1,从右向左遍历,遍历的过程中记录右侧出现的数的最小值,记作min。假设当前数为arr[i],如果arr[i]&gt;min,说明如果要整体有序,min值必然会移到arr[i]的左边。用n...

2018-10-24 14:25:25 123

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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