- 博客(57)
- 收藏
- 关注
原创 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-03-29 18:55:07
495
原创 HorizontalScrollView实现多页左右滑动
先上图看看效果:上代码:PageView是封装后的一个类,继承了HZ喎�"http://www.2cto.com/kf/ware/vc/"target="_blank" class="keylink">vcml6b250YWxTY3JvbGxWaWV3oaM8YnI+CjwvcD4KPHA+PHByZSBjbGFzcz0="brush:java;">package com.example.test
2015-01-05 21:48:41
1308
原创 引入解释性变量
在上一篇文章中介绍了“以查询取代临时变量“。本文将介绍“引入解释性变量”这种重构手法。下面让我们来学习这种重构手法吧。 开门见山发现:你有一个复杂的表达式。解决:将该复杂的表达式(或其中的部分)的结果放进一个临时变量,并以此变量名称来解释表达式用途。//重构前if((platform.toUpperCase().indexOf(MAC) > -1) && (browser.toUpper
2015-01-05 21:41:18
1343
原创 Ajax实现收藏论坛版块功能,并异步返回提示信息
一、描述在论坛的版块页面上有一个收藏本版的超链接,点击该超链接即可收藏该版块,但是为了防止重复收藏,以及未登录就收藏的错误操作,我们采用Ajax异步返回收藏提示信息。 二、实现细节1、在jsp页面中点击收藏超链接,执行其onclick事件中的方法,而不是跳转到某个新的页面。2、在boardCollect.js文件中采用Ajax技术,执行后台的收藏版块的操作,并且异步写回提示信息。3、根据返回的提示
2015-01-05 21:39:41
1294
原创 统计一个给定字符串中指定的字符出现的次数
统计一个给定字符串中指定的字符出现的次数#include#include#includeint main(){ char source[80],dest[5]; int len_s,len_d,*count; int temp,i,j; while(1) { gets(dest); gets(source);
2015-01-05 21:38:34
4905
原创 关于在Spring中注册自定义的PropertyEditor
考虑下面两个类:ExoticType:package document.six.test; public class ExoticType { private String name; public ExoticType(String name) { this.name = name; } public String getName()
2014-12-29 19:13:11
609
原创 java实现软件程序开机自动启动和创建程序的桌面快捷方式源代码
一、java实现.exe程序的开机自动启动1、描述 自己在eclipse编写的java项目用exe4j Wizard打包成一个.exe可执行文件,并让用户可以开机自动启动。2、步骤1. 获得本软件中.exe可执行文件的路径2. 在Windows系统中的开机启动栏存放该.exe可执行文件的快捷方式,即可实现开机自动启动。3、代码private void startFolderMethod()
2014-12-29 19:11:28
1210
原创 JAVA将执行sql结果导入excel
Java实现将查询的sql结果集导入excel,用到jxl.jar包public String queryResultToExcel(String sql,String filename,OutputStream os) { Connection conn = null; Statement sm = null; ResultSet rs = nul
2014-12-29 19:10:42
782
原创 Spring init-method和destroy-method属性的使用
知识点介绍:有时候在bean初始化之后要执行的初始化方法,以及在bean销毁时执行的方法。这时就需要配置init-method和destroy-method属性,顾名思义,配置初始与销毁的方法。【转载使用,请注明出处:http://blog.csdn.net/mahoking】操作步骤:1、创建Speaker对象public class Speaker { private String
2014-12-29 19:08:02
884
原创 java socket报文通信-报文的封装
什么是报文这里我就不在阐述了,不清楚的朋友可以自己去查资料。我们今天要谈的报文主要友以下几个部分组成: 3位同步校验位+8位报文长度+报文头+报文体+32位MD5校验位 基本格式如下: 0X110X120X130000023202042014122314122301000815217010001张三B251AB76B11114DB176023A0AA27A524 说明: 前面的0X110
2014-12-29 19:05:33
11672
7
转载 java 同步锁(synchronized)
java 同步锁(synchronized) 在java中,Synchronized就是一把锁,他可以锁定一个方法,也可以锁定一个方法,我擦,其实这两个东西就是一样的。块不就是一个没有名字的方法么,方法就是一个有名字的块。本文就用块来测试。所谓锁,就是原子操作,把这个锁定的块作为一个整体,就像你上厕所,拉了就要擦屁屁,当然你也可以不擦,如果你不在意出现的问题的话。信号量Semaphor
2014-12-27 11:34:16
816
原创 Java把double数据写入文件中
public class ReadOrWriteObject { private FileInputStream fileIns = null ;//文件输入流 private FileOutputStream fileOts = null;//文件输出流 private ObjectInputStream objectIns = null ;//对象输入流
2014-12-27 11:31:23
1835
1
转载 Java向自定义文件夹中写入文件
File file = new File("E://rawSpeechRecordData//"); File newFile = null; if (!file.exists()) { file.mkdir(); if
2014-12-27 11:30:16
836
原创 spring beans源码解读之 ioc容器之始祖--DefaultListableBeanFactory
spring Ioc容器的实现,从根源上是beanfactory,但真正可以作为一个可以独立使用的ioc容器还是DefaultListableBeanFactory,因此可以这么说,DefaultListableBeanFactory 是整个spring ioc的始祖,研究透它的前生今世对我们理解spring ioc的概念有着重要的作用。1. DefaultListableBeanFactory的
2014-12-27 11:28:17
837
原创 Java集合之HashMap源码实现分析
1.简介 通过上面的一篇随笔我们知道了HashSet的底层是采用Map实现的,那么Map是什么?它的底层又是如何实现的呢?这下我们来分析下源码,看看具体的结构与实现。Map 集合类用于存储元素对(称作“键”和“值”),其中每个键映射到一个值。Map.Entry是其的内部类,描述Map中的按键/数值对。需要指出的是Map,允许null的键也允许null的值。它的实现主要有HashMap和sort
2014-12-27 05:07:20
625
转载 简单理解算法篇--摊还分析
摊还分析是用来评价程序中的一个操作序列的平均代价,有时可能某个操作的代价特别高,但总体上来看也并非那么糟糕,可以形象的理解为把高代价的操作“分摊”到其他操作上去了,要求的就是均匀分摊后的平均代价。 摊还分析有三种常用的技术;聚合分析,核算法,势能法。 首先看个例子,现在有三种操作,push(s),pop(s),mutlipop(s,k),push(s),统称为栈操作。 push(s)每次只能压
2014-12-27 05:05:59
1380
原创 java轻量级IOC框架Guice
Guice是由Google大牛Bob lee开发的一款绝对轻量级的java IoC容器。其优势在于: 速度快,号称比spring快100倍。无外部配置(如需要使用外部可以可以选用Guice的扩展包),完全基于annotation特性,支持重构,代码静态检查。简单,快速,基本没有学习成本。Guice和spring各有所长,Guice更适合与嵌入式或者高性能但项目简单方案,如OSGI容器,spring
2014-12-27 05:03:59
605
转载 java面向对象之package & import
1.包(package)包的定义可以理解为一个文件夹,在这个文件夹内集成了编译好的class类。格式: package 类保存的文件夹位置; 其中保存的文件夹位置是该java文件所在目录中。案例:package pack.demo.a;class A{ public String getInfo() { return hello world !;
2014-12-24 17:59:56
676
原创 数据结构与算法之排序(归纳总结一)
排序使我们实际开发中最常使用到的几个算法之一,按照如果按照排序过程中依据的原则对内部排序进行分类,则大致上可以分为插入排序、交换排序、选择排序、归并排序等排序方法。让我们首先看看插入排序的算法有哪些,以及他们的具体实现。插入排序的基本排序思想是:逐个考察每个待排序元素,将每一个新元素插入到前面已经排好序的序列中适当的位置上,使得新序列仍然是一个有序序列。在这一类排序中主要介绍三种排序方
2014-12-24 17:54:16
673
原创 java 继承类加载顺序
package xu.jin; class Insect{ private int i=print("hello i"); Insect(){System.out.println("Insect"+i);} { System.out.println("1"); System.out.println("2");
2014-12-24 17:51:49
750
原创 深入浅出设计模式——工厂方法模式(Factory Method)
介绍 在简单工厂模式中,我们提到,工厂方法模式是简单工厂模式的一个延伸,它属于Gof23中设计模式的创建型设计模式。它解决的仍然是软件设计中与创建对象有关的问题。它可以更好的处理客户的需求变化。 引入我们继续来说"new"的问题,我们在简单工厂模式中,将实例化对象的工作推迟到了专门负责创建对象的工厂类中,这样,在我们事先预知的情况下,可以根据我们的需要动态创建产品类。但是,我们的预知是有限的,
2014-12-24 17:50:33
682
原创 win7 java环境变量设置
计算机(右键)-属性-高级系统设置-环境变量1.新建系统变量 : JAVA_HOMEC:\Program Files (x86)\Java\jdk1.6.0_10(你的JDK安装路径)2.修改系统变量 :PATH %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin 3.新建系统变量:CLASSPATH.;%JAVA_HOME%\lib;%JAVA_HOME%\li
2014-11-11 20:52:14
709
转载 image
一、获取帮助文档并下载相关资料首先打开微信开放平台:https://open.weixin.qq.com/ 如果没有注册,请先注册并上传开发者资料等待审核。资源中心----移动应用开发----分享与收藏功能----Android开发手册开发手册链接地址:https://open.weixin.qq.com/zh_CN/htmledition/res/dev/document/sdk/android
2014-11-07 17:27:50
780
转载 [置顶]《游戏引擎架构》信息总汇
$(document).ready(function() { $("h2").each(function(i) { var current = $(this); if (i > 0 && current.html() != "About") { current.attr("id", current.html());
2014-08-05 17:34:49
2023
原创 [置顶]本博方针
为希望本博能保持风格、质量,本文整理一直以來我想到的博客方针。 选题通用、时效长久的知识经验分享(杂谈除外) 以游戏开发为主(如图形、物理、人工智能、游戏编程、引擎架构等),但也涉猎一般计算机科学知识(如算法) 避免讨论最新热门技术,维持博文的原创性、独特性不转载、不翻译(自己的文章除外) 不撰书评(书评撰在豆瓣)可谈哲学问题,不谈宗教问题(如Windows好还是Lin
2014-08-05 17:34:47
606
原创 《游戏引擎架构》中英词汇索引表
$(document).ready(function() { $('#index').dataTable({bPaginate:false});} );/* * Table */table.dataTable { /*margin: 0 auto;*/ clear: both; /*width: 100%;*/}table.da
2014-08-05 17:34:45
2578
1
原创 面试题:检测点是否在扇形之内
前几天,同事在报告中提及检测角色是否在扇形攻击范围的方法。我觉得该方法的性能不是太好,提出另一个颇为直接的方法。此问题在游戏中十分常见,只涉及简单的数学,却又可以看出实现者是否细心,所以我觉得可当作一道简单的面试题。问题在微博发表后得到不少回应,故撰文提供一些解答。问题定义:在二维中,检测点\mathbf{p}是否在扇形(circular sector)内,设扇形的顶点为\math
2014-08-05 17:34:42
1762
原创 爱丽丝的发丝──《爱丽丝惊魂记:疯狂再临》制作点滴
今天(2011年6月14日)是《爱丽丝惊魂记:疯狂再临 (Alice: Madness Returns) Xbox360/PlayStation3/PC》(下简称《爱》)正式发售日,身为其开发程序员之一,特撰此文以作纪念。简介《爱》(图1a)是一款由上海独立游戏工作室麻辣马(Spicy Horse)制作、美商电艺(Electronic Arts)发行的惊悚动作冒险游戏。此全乃200
2014-08-05 17:34:40
692
1
原创 C++强大背后
在31年前(1979年),一名刚获得博士学位的研究员,为了开发一个软件项目发明了一门新编程语言,该研究员名为Bjarne Stroustrup,该门语言则命名为——C with classes,四年后改称为C++。C++是一门通用编程语言,支持多种编程范式,包括过程式、面向对象(object-oriented programming, OP)、泛型(generic programming, GP)
2014-08-05 17:34:37
610
原创 手机分配短讯id的面试题目(分析解答篇)
看过上回《厘清需求篇》,读者想到多少个解呢?本篇首先谈及一些基本分析,之后会按两种API设计(纯函数API和含状态的API),分别描述多个解。虽然面试时或许不能进行实际测试,但本文还是给出PC上的效能测试结果。最后分析比较各解之优劣作为总结。 问题分析原来的问题是要从一个无序ids数组里分配一个id。我们可以用数学方式去更清楚地说明这个问题。设m = 256 为所有id的个
2014-08-05 17:34:35
609
原创 手机分配短讯id的面试题目(厘清需求篇)
前阵子,笔者在TopLanguage论坛里参与讨论了一个不错的面试题目,在此和大家分享,也当作个人的讨论总结。本文列出该问题,并模拟应试者向面试官的对话,以厘清问题需求。题目原文事缘Dbger发起的帖子中,liuxinyu举了一个面试题目,原文如下:有个老的手机短信程序,由于当时的手机CPU,内存都很烂。所以这个短信程序只能记住256条短信,多了就删了。 每
2014-08-05 17:34:33
597
原创 C++/C#/F#/Java/JS/Lua/Python/Ruby渲染比试
512x512像素,每像素10000个采样,Intel C++ OpenMP版本渲染时间为18分36秒。估计Ruby版本約需351天。<!--canvas { border-style:solid;border-width:1px;}--> google.load("visualization", "1", { packages: ["corec
2014-08-05 17:34:31
832
原创 C# vs C++ 全局照明渲染性能比试
512x512像素,每像素1000采样,C#版本渲染时间为40分47秒最近有多篇讨论程序语言趋势的博文,其中谈及到C#的性能问题。本人之前未做过相关测试,自己的回覆流于理论猜测,所以花了点时间做个简单实验,比较C#和C++的性能。 实验内容赵姐夫在此回覆认为,C#比C/C++慢,主要在于.Net平台的垃圾回收(garbage collection, GC)机制。若是计算密集型应用,C#
2014-08-05 17:34:29
943
原创 用JavaScript玩转游戏物理(一)运动学模拟与粒子系统
<!--canvas { border-style:solid;border-width:1px;}-->// Framework.jsvar canvas, ctx, isContinue, timeoutID;function start(canvasName, func) { if (timeoutID) stop();
2014-08-05 17:34:27
1048
原创 回应CSDN肖舸《做程序,要“专注”和“客观”》,实验比较各离散采样算法
// <![CDATA[ google.load('visualization', '1', {packages:['table']}); google.setOnLoadCallback(drawTable); function drawTable() { var data = new google.visualization.DataTable(); da
2014-08-05 17:34:25
707
原创 《编程之美:分层遍历二叉树》的另外两个实现
之前重温本书写书评时,也尝试找寻更好的编程解法。今天把另一个问题的实现和大家分享。问题定义给定一棵二叉树,要求按分层遍历该二叉树,即从上到下按层次访问该二叉树(每一层将单独输出一行),每一层要求访问的顺序为从左到右,并将节点依次编号。下面是一个例子: 输出:12 34 5 67 8节点的定义:struct Node { Node *pLeft;
2014-08-05 17:34:23
569
原创 在博客里轻松使用LaTeX数学公式
笔者最近的博文有不少数学相关内容,发现利用一些网上服务、jQuery和CSS,可以更轻松地在博客里使用\LaTeX语法排版方程式。\LaTeX是基于\TeX的排版系统。而\TeX就是美国著明计算机教授高德纳(Donald E. Knuth),为了编写他的巨著《计算机程序设计艺术(The Art of Computer Programming)》而设计的系统,对于数学公式的排版支援十分强大。线上
2014-08-05 17:34:20
726
原创 用JavaScript玩转游戏编程(一)掉宝类型概率
// <![CDATA[// framework.jsvar canvas, ctx, isContinue, timeoutID;function start(canvasName, func) { if (timeoutID) stop(); canvas = document.getElementById(canvasName);
2014-08-05 17:34:18
836
原创 从头开始思考游戏的数据管理系统(二)
上回谈及一些游戏数据管理的初部分析,但有些思绪还没有整理好,写得颇乱。今次就直接谈笔者在几个月前设计的Mil Universe Database(MUD),从中再阐述当中的一些想法。 基本的数据流程首先,一个项目中,引擎会使用的所有数据,都放进一个完整的数据库里。现时笔者的设计一个数据库会储存成一个.mud文件。 外部文件可以汇入数据库,也可以汇出。但汇出的数据会失去一些资讯(如稍
2014-08-05 17:34:16
1247
原创 从头开始思考游戏的数据管理系统(一)
和一般应用软件有点不同,大部份游戏软件都需要使用大量的游戏数据(game data)──或称为资源(resource)、资产(game asset, 但通常asset包括数据的原始格式, 不是最终运行游戏所需的数据)。在制作游戏时,如何管理这些数据是一个非常重要的问题。曾经看过和使用过不同的方案,现在归回原点,分析基本的需求,随笔记录笔者所选的方案思路。游戏数据管理的重要性如果从游
2014-08-05 17:34:14
1482
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人