- 博客(19)
- 收藏
- 关注
原创 js小游戏——小球走迷宫(基于h5、canvas)
小球走迷宫游戏的实现比接元宝要简单的多,迷宫地图可以说是由一个二维数组组成的,0代表没有障碍物,1代表有障碍物,小球从(0,0)位置开始出发,走到指定位置则游戏胜利,遇到障碍物则不能通过,可以看做一个点在数组的(0,0)位置开始向上或向右或向下或向左来‘走’数组,因为是人为控制小球,所以只需要判断小球每走一步是否在地图范围内并且没有障碍物,然后还要判断小球是否走到了指定位置,这里的指定位置先默认为...
2018-09-21 10:02:09 6019 3
原创 基于Canvas的js简单版接元宝游戏
本游戏是基于canvas的简单版接元宝游戏v1.0.0版本,往后还会进一步完善,游戏代码git地址:https://github.com/luqiren/Canvas.git里面的gold_v1.0.0.html就是这个游戏的代码了。废话不多说,下面先介绍涉及代码的关于canvas的一些知识,然后再介绍游戏的实现。1.涉及到的相关canvas知识介绍如果对canvas已经很熟悉了可以忽...
2018-09-20 15:05:58 3235
原创 500.键盘行 693.交替位二进制数(java实现)
键盘行题目:给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。示例1:输入: ["Hello", "Alaska", "Dad", "Peace"]输出: ["Alaska", "Dad"]注意: 你可以重复使用键盘上同一字符。 你可以假设输入的字符串将只包含字母。 这个题目比较简单,只要将每个字母对应的行数用键值对的
2018-09-11 15:47:47 261
原创 476.数字的补数
题目:给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。注意:给定的整数保证在32位带符号整数的范围内。 你可以假定二进制数不包含前导零位示例 1:输入: 5输出: 2解释: 5的二进制表示为101(没有前导零位),其补数为010。所以你需要输出2。示例 2:输入: 1输出: 0解释: 1的二进制表示为1(没有前导零位),其补数为0。所以你需要输出0...
2018-09-10 18:09:55 205
原创 线程不安全的懒汉式为何不是严格的单例模式
单例模式是创建型设计模式,用这个模式一般是用来创建对象,并且是创建对象,在原来学习单例模式时有几种写法,对于线程不安全的懒汉式曾经说过他不是严格的单例模式,现在来看看为什么这样说。 下面是懒汉式(线程不安全)的代码:public class Singleton { private static Singleton singleton = null; private Singleto
2018-01-15 15:58:34 2268 2
转载 设计模式六大原则
原文链接:http://www.uml.org.cn/sjms/201211023.asp设计模式六大原则(1):单一职责原则定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1、T
2018-01-14 21:10:26 154 2
原创 构建二叉树(java)
在构建二叉树之前我们需要知道两个定理:第一个就是任何n(n>=0)个不同节点的二叉树,都可由它的中序序列和先序序列唯一确定;第二个就是任何n(n>=0)个不同节点的二叉树,都可由它的中序序列和后序序列唯一确定。(定理的证明可自行查阅资料) 现在我们就利用这两个定理来构建二叉树。 首先我们知道二叉树的先序序列是1234567,中序序列是3241657;下面看一下二叉树的构建过程: 代码如下:
2017-11-12 13:02:17 1710
原创 三种简单的排序算法(java实现)
排序算法在学习语言之初都会提到,今天就来介绍三种简单的排序算法,分别是插入排序、冒泡排序和选择排序。我前面还写过一个关于快速排序的,有兴趣的可以去看看:http://blog.csdn.net/luqiren/article/details/77197746 1.插入排序 插入排序就是每次将一个数插入到已经排好序的数组里,插入完这个数以后,这个数组还是有序的,它的工作方式就像我们平时排序扑克牌一
2017-10-20 11:49:45 361
原创 java用线程实现定时器
现在的框架的功能很强大,封装好了各种功能,例如用spring框架实现定时功能只需在配置文件里配置即可,但是我们还是要学会如何用java代码实现定时器功能。 在java中有Timer和TimerTask这两个类,下面我们就利用这两个类来实现定时器,具体某些方法的用法可以参考API。 实现这样一个定时器的有如下步骤:首先定义一个用来实现你定时要做什么事情的类,这个类继承TimerTask类,然后重写
2017-10-19 21:48:00 1949
原创 设计模式学习(一)——单例模式
设计模式有23种,其中比较简单的就是单例模式,单例模式属于创造型模式,这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象,我们要获取这个类对象的时候直接用这个提供的方式就可以了。 注意: 1. 单例类只能有一个实例。 2. 单例类必须自己创建自己的唯一实例。 3. 单例类必须给所有
2017-10-12 16:03:25 309
原创 使用Struts2实现文件的上传和下载
在当今的互联网上,文件的上传和下载已经非常普遍的,今天我就学习了如何使用Struts2实现文件的上传和下载。 首先我们来做一些准备工作,我用到了下面这几个包 然后配置好核心控制器 web.xml主要代码filter> filter-name>struts2filter-name> filter-class>org.apache.struts2.disp
2017-09-24 17:32:48 989
原创 使用application内置对象做一个简单的网页访问计数器
jsp的9大内置对象:out、request、response、session、application、exception、page、pageContext和config,今天就说说如何用application内置对象做一个简单的网页访问计数器。 application对象负责提供应用程序在服务器中运行时的一些全局信息,常用的方法有setAttribute(String name,Object o
2017-08-21 11:26:19 6474
原创 算法学习(二)——快速排序(Java实现)
排序是算法中比较基础常见的问题,排序算法有很多种,如插入排序、归并排序、堆排序、快速排序、计数排序、基数排序和桶排序。今天来讲讲快速排序。 对于包含n个数的输入数组来说,快速排序的最坏情况时间复杂度为O(n²),虽然最坏情况时间复杂度很差,但是快速排序通常是实际排序应用中最好的选择,因为它的平均性能非常好:它的期望时间复杂度是O(nlgn)。快速排序的过程快速排序使用到了分治的思想,所以我们也按照
2017-08-15 17:33:02 310 1
原创 算法学习(一)——分治策略之最大子数组问题(Java实现)
在分治策略中,递归地求解一个问题,在每层递归中应用如下三个步骤:分解步骤将问题划分为一些子问题,子问题的形式与原问题一样,只是规模更小。解决步骤递归地求解出子问题,如果子问题的规模足够小,则停止递归,直接求解。合并步骤将子问题的解组合成原问题的解。当子问题足够大,需要递归求解时,称之为递归情况,当子问题变得足够小,不再需要递归时,递归已经“触底”,进入了基本情况。有时,除了与原问题形式完全一
2017-08-07 16:20:41 1378
原创 读书笔记(二)——《Java核心技术卷一》第三章Java的基本程序设计结构
1.数值类型之间的转换 图中显示的是数值类型之间的合法转换,虚线箭头表示转换的时候可能有精度损失,将两个不是相同类型的数值进行二元操作时,先要将两个操作数转换为同一种类型,然后再进行计算,转换有下列四种情况:如果两个操作数中有一个是double类型,另一个操作数就会转换为double类型。否则,如果其中一个操作数是float类型,另一个操作数将会转换为float类型。否则,如果其中一个操
2017-08-06 11:25:41 409
原创 读书笔记(一)——《Java核心技术卷一》第三章Java的基本程序设计结构
暑假过了一大半,刚结束实训回来休息了一个多星期才开始看书学习,争取在开学前把三本砖头书能啃多一点是一点。 由于没把编程思想带回来,于是买了本Java核心技术看看,刚开始看确实有不少收获,虽然说做过项目,但是对于一些基础只是或者细节还是不知道的,借此假期也好好研究一下。1.Java语言的发展状况 首先看看Java的发展 版本 年份 语言新特性 类与接口的数量 1.0 1996
2017-08-05 21:55:32 537
原创 Servlet学习日记(二)——405错误解决及各种http状态码总结
错误显示: HTTP Status 405 - HTTP method GET is not supported by this URLtype Status reportmessage HTTP method GET is not supported by this URLdescription The specified HTTP method is not allowe
2017-07-08 17:33:44 3440
原创 Servlet学习日记(一)——什么是Servlet及手动编写一个简单的servlet
1.什么是Servlet? Servlet是在服务器上运行的小程序,一个Servlet就是一个java类,这个java类使用了Java Servlet应用程序设计接口(API)及相关类和方法。除了Java Servlet API,Servlet还可以使用用以扩展和添加到API的Java类软件包。客户端(浏览器)可以通过“请求—响应”来访问驻留在服务器的Servlet小程序。 2.手工编写一个一个
2017-06-19 22:21:38 377
原创 起点
准备了这么久终于开通了自己的博客,本博客主要写一些本人的学习心得以及一些平时的生活感悟。由于处于学习阶段,某些文章中难免有错误,还请各位阅读的大神及时纠正。
2017-06-19 22:04:02 176
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人