- 博客(44)
- 问答 (1)
- 收藏
- 关注
原创 PHP框架TP5.1
ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。框架结构applicationapplication文件夹是TP5框架的应用层,是代码的主要编写区,大部分工程代码都要在这里写,比如控制...
2019-04-17 12:51:12
1321
原创 SpringMVC运行流程
SpringMVCSpringMVC是以Spring的IOC与AOP功能为基础,基于响应-请求模型,通过Model、View、Controller分层实现的轻量级Web框架。它将原本紧密的系统耦合松开,并简化了Web开发。SpringMVC运行流程1.前端传入使用@RequestMapping来映射URL到控制器,而DispatcherServlet收到请求后,不进行...
2019-03-31 12:29:03
385
原创 非关系型数据库:Redis
非关系型数据库关系型数据库(NoSQL)是为了解决关系型数据库为了维护ACID(原子性、一致性、隔离性、持久性)而导致读写性能比较差的现象而生,非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合NoSQL格式灵活、存取迅速且成本低廉,数据都是缓存在内存中,有时间限制。RedisRedis是一个基于C语言的NoSQL,它使用Key-Value方式储存数据,支...
2019-03-01 20:38:37
319
1
原创 内存对齐原则
内存对齐现在计算机中的地址都是按byte分的,各类型数据并非是一个接一个的排放,而是按照一定的规则在空间上排列,这就是对齐 基本数据类型长度当使用sizeof运算符求结构体空间大小时,会自动考虑到字节对齐问题对齐规则:假设按4字节对齐,则每个数据类型占的空间为4或者4的倍数,当长度不足时则补齐struct One{ char a; double ...
2019-02-26 21:06:19
670
1
原创 使用位运算实现加减乘除
不考虑数据溢出public class AddMinusMultiDivideByBit { public static int add(int a, int b) {//加 int sum = a; while (b != 0) { sum = a ^ b;//无进位的加法 b = (a & b...
2019-02-05 21:37:39
319
原创 课程笔记:Morris遍历
Morris遍历Morris遍历法能以O(1)的空间复杂度和O(n)的时间复杂度实现二叉树的三种遍历,其中不使用栈或额外空间常用的二叉树递归遍历中,要回到节点三次public static void process(Node head){ if(head==null) return; //先序遍历 process(head.left); //中...
2019-02-03 10:24:11
2180
原创 LayaAir开发笔记
LayaAir 是基于HTML5开源引擎,是全球性能最高的HTML5引擎之一。官网下载LayaAir打开后如下图所示新建项目进入项目页面,按F5调试测试示例其中目录结构bin:输出目录,项目编译后的东西都在里面lib:引擎的源码包res:存放资源文件,图片图集,音频文件index.html:基础界面assets:用来存放UI页面、粒子...
2019-02-02 15:16:40
1124
原创 TypeScript+MySQL开发笔记
TypeScriptTypeScript是微软开发的JavaScript的超集,不仅包含了JavaScript的全部功能,还提供了JavaScript 没有的类和模块的概念使用工具:Visual Studio Code、Node.js操作流程:安装好这两个工具后,打开CMD命令提示符输入npm install -g typescript,安装TypeScript Compiler...
2019-01-30 15:57:01
4801
2
原创 项目实战:Maven是什么?如何用Maven搭建SpringBoot
MavenMaven 是一个基于项目对象模型概念的项目管理工具,可以对 Java 项目进行构建、依赖管理。Maven的核心功能便是合理叙述项目间的依赖关系,通俗点讲,就是通过pom.xml文件的配置获取jar包,我们只需要告诉Maven需要哪些Jar 包,它会帮助我们下载所有的Jar,极大提升开发效率。层次结构utilDao层负责数据库交互,在Spring的配置文件中定义...
2019-01-16 19:30:40
554
原创 笔试常用算法
KMP算法import java.util.*;public class KMP { public static void main(String[] args){ String str1="ababaababca"; String str2="ababca"; int[] next=Getnext(str2); Sy...
2019-01-15 17:23:10
386
1
原创 课程笔记:搜索二叉树
搜索二叉树它左子树上所有结点的值均小于它的根结点的值,右子树上所有结点的值均大于它的根结点的值插入时判断根节点,如果小于就插入左子节点,大于插入右子节点,相等不管(搜索二叉树默认没有重复值)删除时:1.删除的节点是叶子节点:直接删除2.删除的节点仅有右子节点:删除后将父节点指向右子节点3.删除的节点仅有左子节点:删除后将父节点指向左子节点4.删除的节点有两个子节点:...
2019-01-15 13:35:04
224
原创 项目实战:Mybatis的搭建与原理
之前有用到过Mybatis,现在就来分析一下Mybatis的基本实现原理和代码。搭建过程参考:https://www.cnblogs.com/zlf888/p/9600013.html工作原理Mybatis的架构主要是分接口层、处理层、支持层。MyBatis使用传统的MyBatis提供的API,传递Statement Id和查询参数给SqlSession对象,使用SqlSess...
2019-01-14 20:53:08
399
原创 常见比较有效率的算法技巧
1.对比两个字符串/数组OR查找重复元素遇到这类问题最先想到的就是哈希表,利用哈希表插入相同键值会返回值得特性(其中HashSet返回false,HashMap返回value值)就不用花时间一一对比了,而且HashMap可以存两个数据,可以应付一些复杂情况 StringBuffer ss=new StringBuffer(); Map map=new Has...
2019-01-10 20:53:07
1115
原创 两道字符串编程题(HashMap实现)
题目描述牛牛有一个由小写字母组成的字符串s,在s中可能有一些字母重复出现。比如在"banana"中,字母'a'和字母'n'分别出现了三次和两次。但是牛牛不喜欢重复。对于同一个字母,他只想保留第一次出现并删除掉后面出现的字母。请帮助牛牛完成对s的操作。输入描述:输入包括一个字符串s,s的长度length(1 ≤ length ≤ 1000),s中的每个字符都是小写的英文字母('a' ...
2019-01-10 15:06:40
1040
原创 有关数据库的基础知识就都放在这里了
今天面试,数据库好多忘了,面试官还逮着问,尴尬得不行,准备好好整理一下相关基础的知识一、表的基本构成主键(primary key):表中某一个属性组合能唯一标识一条记录,该属性组就是一个主键外键(foreign key):在一个表中存在的另一个表的主键为此表的外键超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键候选键(candidate key):不...
2019-01-08 21:59:02
276
原创 Spring开源框架
为了解决企业应用开发的复杂性而创建的一个轻量级的Java 开发框架简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。Spring框架的目标是使得Java EE应用程序的开发更加简捷基本框架:AOP、JEE、WEB、CORE、DAO、ORM三种依赖注入方式:属性(Setter方法)注入,构造注入和接口注入Spring DAO:Spring...
2019-01-07 21:53:37
3421
原创 有关链表的编程(我的弱项)
输入一个链表,反转链表后,输出新链表的表头。/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode Reverse...
2019-01-06 21:43:46
413
原创 线程池的那些事
一般我们进行线程的操作时,往往要创建一个新的线程,执行完毕后再销毁,等到有新的执行命令时,又得重新创建线程,如此一来显得十分繁琐,如果我们将之前执行过的线程不销毁而是放入一个池子中,当需要执行时直接引用它,这就能省下许多操作的步骤与时间,因此不会由于等待创建线程而延迟任务的执行,从而提高了响应性,同时还可以防止过多线程相互竞争资源而使应用程序耗尽内存而失败,提高线程的可管理性。...
2019-01-05 12:11:10
200
原创 论事务的特性与隔离级别
事务的特性数据库事务,即数据库执行的功能的过程,等同于操作系统当中的进程,为了让一个事务能够顺利准确的完成,需要实现四个准则1.原子性 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,不可能停滞在中间环节。2.一致性 一致性指一个事务执行之前和执行之后都必须处于一致性状态,比如A向B转账,不可能A扣了钱,B却没收到。3.隔离性 同一时间,只...
2019-01-03 21:27:27
6893
转载 TCP如何保证消息顺序以及可靠性到达
TCP 如何保证消息的顺序以及可靠性到达,以及 TCP 的流量控制,拥塞控制 TCP 的可靠性传输工作原理: (1)、停止等待协议 (2)、连续 ARQ 协议 TCP 可靠性传输的实现: (1)、以字节为单位的晃动窗口 ...
2018-12-31 21:09:36
453
原创 Java算法:倒置字符串
题目描述将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I输入描述:每个测试输入包含1个测试用例: I like beijing. 输入用例长度不超过100输出描述:依次输出倒置之后的字符串,以空格分割示例1输入I like beijing.输出beijing. like I ...
2018-12-31 16:26:58
3808
2
原创 Java算法:删除公共字符
题目描述输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”输入描述:每个测试输入包含2个字符串输出描述:输出删除后的字符串示例1输入They are students. aeiou输出Thy r stdnts....
2018-12-30 20:58:24
876
原创 Java算法:买苹果
题目描述小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易将不会购买。输入描述:输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果输出描述:输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出-1示例...
2018-12-30 20:31:59
555
原创 网络订餐平台实现与测试
本产品为基于javascript的网络订餐平台,由于时间与能力的有限,本产品只能实现一个大概的模型,功能比较简单。代码地址:https://github.com/wz1115a/WM简易快速使用指南与软件测试本产品主要实现:用户注册与登录商家商品界面浏览生成支付页面与个人中心进入主页 登录与注册页面可以选择商家与餐品点击进入付款页面 代...
2018-12-28 15:23:00
845
原创 订餐平台软件设计
一、功能定位网络订餐平台是居于互联网的的一种应用模式夹竹桃订餐系统是一款外卖软件,该软件方便快捷,可通过手机订餐,躺在床上就可以浏览天下美食,对于喜欢美食而又不愿意出门的人来说是在时候不过了。 二、总体构架用户模块调用:身份验证模块,账号管理模块。 管理员模块调用:身份验证模块,数据库查询模块,账号管理模块,数据显示模块,数据库操作模块。 浏览引索模块调用:数据显示模块,数...
2018-12-28 15:17:27
1459
空空如也
为什么我用springboot连接mysql始终不成功?
2019-01-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅