自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

将晨的博客

https://github.com/FuGaZn

  • 博客(31)
  • 资源 (7)
  • 收藏
  • 关注

原创 细谈Bean的实例化过程

细谈Bean的实例化过程文章目录细谈Bean的实例化过程ClassPathXmlApplicationContext的继承与实现关系DefaultListableBeanFactory的继承与实现关系ClassPathXmlApplicationContext的构造函数注册BeanDefinition的逻辑所在实例化Bean的逻辑——getBean方法是怎么调用到的getBean()真正的Bean实例化逻辑——createBean()1. 实例化bean对象2. 设置对象属性3. BeanPostProc

2021-03-18 11:18:57 269

原创 Editormd的使用——在线编辑和查看文章

使用Editormd可以方便地在界面上嵌入markdown编辑器,并能够实时预览。先看一下实现效果:编辑文章界面:展示文章界面:用法:首先,到https://pandao.github.io/editor.md/下载Editormd的压缩包,解压到自己的静态资源文件夹下。 第二步,引入必要的文件: <link rel="stylesheet" href="/resource/assets/editormd/css/editormd.css"/> <link rel=

2020-07-03 18:26:14 5085 2

原创 实例演示如何以全注解的方式搭建SSM(Spring+SpringMVC+Mybatis)项目

在学习了《Spring实战》的一些章节后,我打算写一个项目来锻炼一下。在创建项目前,我希望用全注解的方式来开发。后来就知道,debug掉的头发,都是前期拍脑袋进的水——网上关于注解的资料也太少了吧!!!经过千辛万苦后,我终于顺利完成了项目的搭建:)概述首先介绍一下这个SpringBlog项目:本项目基于Spring+SpringMVC+Mybatis的技术框架,实现个人博客的登入登出、管理文章、在线编写和发布文章、浏览博客等基本功能。在一步步搭建项目的过程中,你将学习到:DispatcherS

2020-07-03 16:59:29 1384 2

原创 Stack In Java——对java中栈使用的一些思考

栈的介绍栈(Stack)是一种后入先出(LIFO)的数据结构。经常用来形象说明栈的结构的例子是书箱:把书平放到书箱里,先取出来的书是最后放进去的。应该使用Stack类吗?相信大多数人(也包括我),在调用Java中封装好的数据结构以在代码中使用栈结构时,往往使用java.util.Stack类。// import java.util.*; Stack<Integer> stack = new Stack<>(); stack.push(1); while (

2020-05-30 11:37:15 538

原创 软件需求——需求基础

基本概念需求定义(IEEE):(1)用户为了解决问题或达到某些目标所需要的条件或能力。(2)系统或系统部件为了满足合同、标准、规范或其他正式文档所规定的的要求而需要具备的条件或能力。(3)对(1)或(2)中的条件或能力的一种文档化表述。问题域:要解决问题,就需要改变现实中某些实体的状态或改变实体状态变化的演进顺序,使其达到期望的状态或演进顺序。这些实体和状态构成了问题解决的基本范围,称...

2018-11-19 19:06:39 6371

原创 第四章 LR二义文法的处理 [补]

二义性(ambiguous)就是构造文法分析表中出现的移入/归约冲突或归约/归约冲突二义文法的解决通常是通过增加附加条件的方法。用优先级和结合性解决冲突比如以下文法:E -&gt; E + E | E * E | ( E ) | id这个文法存在二义性,因为没有指定*和+的优先级和结合性。比如对于算式id + id * id,当输入乘号时,解析器不知道应该先将栈里的E+E归约,还是先将...

2018-11-15 18:35:31 1846

原创 第六章 中间代码生成

文章目录三地址码表达式的翻译表达式中的运算数组元素寻址条件表达式中的短路回填三地址码格式:x = y op z三地址码的右边只能有一个操作符每个三地址码语句包含三个地址:两个是操作数,一个是结果三地址码的类型:最后三行是函数注意:只有if、goto语句,不存在while/for等循环语句。汇编里实现循环通过goto跳转。变址访问:y表示开始地址,i表示偏移量注意:在三地...

2018-11-15 16:51:49 2148

原创 第五章 语法制导

文章目录概述语法制导定义概述本章继续2.3节的主题,使用上下文无关文法来引导对语言的翻译。本章讨论的翻译技术在第六章用于类型检查和中间代码生成。我们把一些属性附加到代码语言构造的文法符号上。语法制导定义通过与文法产生式相关的语义规则来描述属性的值。语法制导定义用于将语义规则和产生式关联的两种方法:分布式,语义规则嵌在产生式之中。这种方法被称为Translation schemes例...

2018-11-15 15:02:52 1607

原创 LeetCode 62.不同路径(Unique Paths)

题目描述一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?说明:m 和 n 的值均不超过 100。解题思路:用动态规划Dynamic Programming来解,我们可以维护一个二维数组dp,其中dp[i][j]表示到当前位置...

2018-11-14 16:33:13 329

原创 65.有效数字(Valid Number)

题目描述验证给定的字符串是否为数字。例如:“0” =&amp;gt; true&quot; 0.1 &quot; =&amp;gt; true“abc” =&amp;gt; false“1 a” =&amp;gt; false“2e10” =&amp;gt; true说明: 我们有意将问题陈述地比较模糊。在实现代码之前,你应当事先思考所有可能的情况。解题思路这题算法上没难点,但是是真的烦!!!最坑的就是你必须

2018-11-14 16:25:12 322

原创 第三章 词法分析

文章目录Token和正则表达式有穷自动机状态转换图有穷自动机DFANFA转换RE-&amp;gt;NFA分解法Thumpson算法NFA-&amp;gt;DFADFA-&amp;gt;DFA°Token和正则表达式Token(词法单元)的内容:单词、单词类别(catalog)、内部码/内码(Inner_code)一个单词中有多个不同的实例,才需要内部码来区分单词的构造规则:通过正规文法(见第二章)正则表达...

2018-11-14 14:54:56 582

原创 第二章 语言和文法——由语言构造文法

概论由语言构造文法的常用方法有4个:对称法逐步求精法(分解法)等价法电路状态转换法还有第五种是混合法,是将上面四种方法综合使用的方法。下面将配合例题依次讲解四种方法。对称法...

2018-11-13 21:10:09 14478 5

原创 第二章 语言和文法

文章目录Alphabet &amp;amp;amp;amp; String乘积Product和闭包Closure:文法推导归约文法范式0-type范式1-type范式2-type范式3-type范式Alphabet &amp;amp;amp;amp; StringAlphabet : 字母表,非空的符号集合Symbol : 符号,字母表中的元素,语言中的最小成分String : 字母表中字符的有限序列,是语言中的基本成分。空字符串(N...

2018-11-13 20:57:06 950

原创 第一章 引论

什么是编译器?[广义]编译器就是一个程序,它可以阅读以某种语言编写的程序,并把它翻译成一个等价的、用另一种语言编写的程序。编译器的重要任务之一就是报告它在翻译过程中发现的源程序中的错误。[狭义]把人类更容易理解和使用的高级语言转化为计算机能“理解”和运行的机器语言(或者较为接近的汇编语言)。编译器的结构(1.2)编译器由两个部分组成:分析(analysis)和综合(synthesis)...

2018-11-13 19:24:51 454

原创 第四章 语法分析(下)——LR文法

在LR(k)文法中,L指对输入进行从左到右的扫描,R表示反向构造一个最右推导序列。k表示在做出语法分析决定时向前看k个输入符号。常用的LR(k)文法包括:- SLR:简单LR- LR(1):规范LR- LALR:向前看LR(Look ahead)

2018-11-13 11:30:30 9611 1

原创 第四章 语法分析(上)——LL(1)文法

文章目录概述LL(1)文法LL(1)文法的判定消除左递归提取左公因子First集合Follow集合预测分析表的构造表驱动推导实例概述语法分析器是编译器的核心,语法分析器从词法分析器获得一个由词法单元组成的串,并验证这个串可以由源语言的文法生成。语法分析器大体上可以分为三种类型:通用的、自顶向下的和自底向上的。语法分析器的输入总是按照从左向右的方式被扫描,每次扫描一个符号。自顶向下文法典...

2018-11-13 11:15:27 3043

原创 编译原理笔记 导言和目录

本学期编译原理的学习也差不多快结束了,在学习过程中也做了不少笔记。为了准备即将来到的考试,我想把学习笔记再整理一遍。借此机会创建了这个专栏——为了满足创建专栏之前必须发布15篇以上的原创文章,我还特地去翻了LeetCode把陈年老题拿出来拾掇成博客(对我这种懒病来说真是太惨了)编译原理学习教材为龙书第二版,学习重点包括:语言构造文法词法分析(NFA/DFA/DFA°/Regular Ex...

2018-11-12 18:49:39 1033 1

原创 55.跳跃游戏(Jump Game)

题目描述给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例 1:输入: [2,3,1,1,4]输出: true解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。示例 2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引为 3 的位...

2018-11-12 18:28:03 881

原创 52.N皇后II(N-Queens II)

题目描述n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给定一个整数 n,返回 n 皇后不同的解决方案的数量。解题思路嗯,这题就是上一题(51.N皇后)的翻版,上一题要求输出所有解法,这一题却只要求数量就行了。所以。。。当然是选择在51题的基础上套一层皮啦(滑稽)51题解法参照:51.N皇后(N-Queens)实现代码class ...

2018-11-12 18:17:21 216

原创 51.N皇后(N-Queens)

题目描述n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。示例:输入: 4输出: [[".Q…", // 解法 1“…Q”,“Q…”,“…Q.”],["…Q.",...

2018-11-12 18:11:20 275

原创 45. 跳跃游戏II(Jump Game II)

题目描述给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。说明:假设你总是可以到达数组的最后一个位...

2018-11-01 19:06:06 435

原创 42. 接雨水(Trapping rain water)

题目描述LeetCode.cn地址:https://leetcode-cn.com/problems/trapping-rain-water/LeetCode地址:https://leetcode.com/problems/trapping-rain-water/思路首先求出最大值的索引,设为i1,然后向左遍历,求出左边范围内的最大值,记索引为i2,以i2和i1对应值之间为容器,雨水可以存...

2018-11-01 18:58:24 186

原创 最长回文子串(Longest Palindromic Substring)

最长回文子串(Longest Palindromic Substring)给出一个字符串(假设长度最长为1000),求出它的最长回文子串,你可以假定只有一个满足条件的最长回文串。样例 给出字符串 "abcdzdcab",它的最长回文子串为 "cdzdc"。

2017-08-01 16:32:45 1481

转载 最接近零的子数组和

给定一个整数数组,找到一个和最接近于零的子数组。返回第一个和最有一个指数。你的代码应该返回满足要求的子数组的起始位置和结束位置

2017-07-14 17:30:38 389

原创 Java-经典排序算法(二)——快速排序

快速排序

2017-06-09 17:18:43 363

原创 Java-经典排序算法(一)

排序算法有很多种,如选择排序、插入排序、冒泡排序、桶排序、快速排序等等。这篇博客介绍了简化版桶排序、冒泡排序、插入排序。快速排序在下一篇。

2017-06-09 14:57:46 340

原创 Big Integer Addition

Big Integer Addition / Lintcode / ALU加法器 /...

2017-06-06 21:54:25 773

原创 Repeated Substring Paterm

Repeated Substring Pattern https://leetcode.com/problems/repeated-substring-pattern/#/description

2017-06-01 21:11:53 325

原创 最长无重复字符串/Java/

给定一个字符串,请找出其中无重复字符的最长子字符串。

2017-06-01 09:10:22 1365 1

原创 斐波那契数列的几种变体

斐波那契数列的实现和变题

2017-05-26 17:18:29 1788

原创 LintCode.517.丑数

写一个程序来检测一个整数是不是丑数。丑数的定义是,只包含质因子 2, 3, 5 的正整数。比如 6, 8 就是丑数,但是 14 不是丑数以为他包含了质因子 7。注意事项 可以认为 1 是一个特殊的丑数。

2017-05-26 16:45:14 271

JavaScript Dom编程艺术

JavaScript Dom编程艺术,js领域著名书籍,清晰易懂。

2018-03-06

人月神话pdf

人月神话

2017-07-28

啊哈!C语言

C入门

2017-06-11

JAVA API1.6中文文档

JAVA API中文文档

2017-06-07

Clojure编程乐趣

Clojure是一门Lisp方言。它通过函数式编程技术,直接支持并发软件开发,得到众多开发人员的欢迎。《Clojure编程乐趣》全书分为5个部分共13章。第1部分是基础,包括第1章到第3章,从Clojure背后的思想开始,介绍了Clojure的基础知识,并带领读者初步尝试Clojure编程。第2部分包括第4章和第5章,介绍了Clojure的各种数据类型。第3部分是第6章和第7章,介绍了函数式编程的特性。第4部分包括第8章到第11章,分别介绍了宏、组合数据域代码、Clojure对Java的调用,以及并发编程等较为高级的话题。第5部分为第12章和第13章,探讨了Clojure的性能问题及其带给我们的思考。 《Clojure编程乐趣》适合有一定基础的Clojure程序员阅读,进而掌握函数编程的思考方法和程序设计方法,也可以作为读者学习函数式编程的参考资料

2017-06-06

空空如也

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

TA关注的人

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