- 博客(39)
- 资源 (13)
- 收藏
- 关注
原创 【伯猫Java教程】网页游戏开发过程——代码版本控制
代码版本控制,也是程序猿必备的课程了,合理的代码管理会带来更高的效率,减轻代码维护的负担。1、主干,顾名思义,就是主要开发路径,一般前期代码少,团队人员少的时候,大家都可以在一个枝干上直接开发,并不会引起太大的问题。记得每次提交代码前先更新,然后及时处理代码冲突就行了。2、分支,有时候协同开发的时候为了保证版本的纯洁性,会开分支进行功能性开发,比如新做一个答题系统,就从主干上切一个分支出去
2015-07-03 16:51:07
869
1
原创 【伯猫Java教程】网页游戏开发过程——Java与Flex的通信过程
提到通信,就要考虑两个问题——1、通信协议的选择;2、数据协议的定义;通信协议:TCP、UDP、HTTP、FTP等等。数据协议:json、xml、amf3等。通信过程的开发并不简单,要开发一个健壮的通信系统,才能保证游戏的健康运行,一般在开发过程中要考虑下面几个问题。1、通信粘包的处理
2015-07-02 10:33:27
852
原创 【伯猫Java教程】网页游戏开发过程——游戏运营术语
既然是游戏开发,就必须要了解游戏开发的一些基本术语。我是做后台出身的,那么做后台会用到哪些术语呢?付费率 =付费用户÷活跃用户活跃率 =登陆人次÷平均在线人数ARPU值 =收入÷付费用户用户流失率 =游戏当前活跃用户规模÷历史注册总量同时在线峰值 =24小时内同时在线最高达到人数平均在线 =24小时每小时同时在线相加总和÷24小时ACU 【又称ACCU】 =游戏平
2015-06-29 17:29:27
1028
原创 Java NIO 技术要点
问题:系统运行瓶颈,I/O读写,因为打开一个I/O通道以后,read()将一直等待在端口一边读取字节内容,如果没有内容进来,read()也是傻傻的等,这会影响我们程序继续做其他事情,那么改进做法就是开设线程,让线程去等待,但是这样做也是相当耗费资源的。Java NIO解决方案:采用非阻塞技术,采取Reactor模式或者观察者模式,等到内容进来再自动通知,而不必死等,使I/O读写通畅,不
2014-02-11 10:09:39
630
转载 阻塞模式和非阻塞模式
何为阻塞? 从该网络通讯过程来理解一下何为阻塞 : 在以上过程中若连接还没到来,那么 accept 会阻塞 , 程序运行到这里不得不挂起, CPU 转而执行其他线程。 在以上过程中若数据还没准备好, read 会一样也会阻塞。 阻塞式网络 IO 的特点:多线程处理多个连接。每个线程拥有自己的栈空间并且占用一些 CPU 时间。每个线程遇到外部为准备好的时候,都会阻塞掉
2014-02-10 17:36:08
617
原创 TCP和UDP的主要区别
TCP,可靠传输协议,发送数据需要确认对方是否收到数据。UDP,用户数据协议,发送的数据不需要对方确认。Socket是java API,不是协议,一般实现TCP或者UDP可以用socket来进行编程。客户端与服务端通过socket套字节连接后都会返回一个实例对象,分别保存这个对象,就相当于保存的对方的地址。不同的客户端连接到服务器,得到的对象都是不同的。服务端要发信息直接拿
2014-02-10 16:53:57
519
原创 Spring中的IOC和AOP
Spring IOC使得开发者不用关心对象的生命周期和相互关系,改善JavaEE的开发。Spring AOP借助于Spring实现的拦截器,使开发者能够使用声明的方式使用企业级服务,比如安全性服务和事物服务。IOC,控制反转,又名依赖注入,组件之间的关系由容器在运行期决定,而代码只需要应用对象就可以了。组件之间耦合性较低。AOP,切面编程,拦截器,在拦截的时候处理内容
2014-02-10 15:56:18
608
转载 高并发大数据数据库层面的处理
三种并发策略:1.什么都不做,任由并发产生,以最终提交结果为准。2.开放式并发,冲突产生时,告诉用户当前资源被占用。3.保守式并发,强制加锁,只有当前用户更新提交完毕才能被下一个用户占用。保守式并发保守式并发通常用于两个目的。第一,在某些情况下,存在对相同记录的大量争用。在数据上放置锁所费的成本小于发生并发冲突时回滚更改所费的成本。在事务过程中不
2014-02-10 14:41:05
1342
原创 大数据高并发数据库设计注意要点
在一个项目实施初始,数据库的设计非常重要,很多时候,我们只关心和考虑到眼前的功能,而忽略了后续的可维护性和可拓展性,以及还有一个在大数据时代会遇到的高并发问题。 在设计表结构时要注意以下几个要点:1.数据行的长度不要超过8020字节,如果超过这个长度的话在物理页中这条数据会占用两行从而造成存储碎片,降低查询效率。2.能够用数字类型的字段尽量选择数字类型而不用字符串类型的(
2014-02-10 13:40:47
4439
转载 Eclipse快捷键大全
Eclipse快捷键大全Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+
2013-02-06 11:05:01
294
原创 ScheduledExecutorService接口的学习和使用
ScheduledExecutorService扩展了ExecutorService接口,提供时间排程的功能。实验结果:实验源码:import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.Executors;import java.u
2012-10-09 14:36:53
407
原创 Annotation
Java 中的Annotation@Override 用于修饰此方法覆盖了父类的方法(而非重载) ,父类中没有这个方法时,编译器将会报错@Deprecated 告诉编译器这个元素或者方法已经废止不再使用,系统不赞成使用的方法@SuppressWarnings 告诉编译器消除不再提示Warnings,建议尽量少使用这个annotati
2012-10-08 16:58:13
346
转载 Java中值传递探讨
写在开头:Java中只有传值。所谓传值和传引用传值和传引用的问题一直是Java里争论的话题。与C++不同的,Java里面没有指针的概念,Java的设计者巧妙的对指针的操作进行了管理。事实上,在懂C++的Java程序员眼中,Java到处都是精美绝伦的指针。下面举个简单的例子,说明什么是传值,什么是传引用。//例1void method1(){int x=0;this.cha
2012-09-21 14:34:22
433
转载 设计模式之——命令(Command)模式
一、 命令(Command)模式命令(Command)模式属于对象的行为模式【GOF95】。命令模式又称为行动(Action)模式或交易(Transaction)模式。命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分割
2012-09-06 14:09:45
475
原创 如何让全局常量通过外部文件properties来加载
如果你需要通过计算来初始化你的static变量,你可以声明一个static块,Static 块仅在该类被加载时执行一次。 通常我们会在项目中写很多常量,供整个系统使用,一般来说,我们写在一个interface或者final class里面,然后在里面定义一些final static常量。一般的小系统,这样的常量不会太多,我们简单地写在类里面就可以了。但是在大项目中,第一可能会有很多的
2012-09-03 18:59:24
3401
原创 Apache-ftpserver在eclipse下的部署和使用
Apache出了一款纯JAVA写的新的项目,叫Apache-FTP Server,目前的版本为1.0.5。在http://mina.apache.org/ftpserver/downloads.html可以下到Apache FTP Server的最新的一个版本。直接下ftpserver-1.0.5-src.zip,里面包括发布的版本和源代码。 如果是单纯使用,只需要加压下载的压缩包,
2012-09-03 10:32:21
2158
原创 如何在SSH环境下使用纯JDBC操作数据库
这是对数据库进行操作的DAO类import java.sql.*;import java.util.ArrayList;import java.util.List;import org.hibernate.Session;import com.quickeditor.bean.ReaderBean;import com.quickeditor.util.Algorithms;i
2012-08-31 17:47:38
2391
转载 Java的MD5加密解密
简单demo:Java代码 import java.security.*; import java.security.spec.*; class MD5_test { public final static String MD5(String s) { char hexDigits[] = { '0' ,
2012-08-31 16:24:03
1277
原创 JS如何判断输入数字的函数
1.下面列出了一些判读数值类型的正则表达式 "^\\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\\d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?\\d+$"
2012-08-29 19:07:38
1479
原创 如何把store里的所有数据转换成JSON传给后台
//基本方法,Ext提供的编码转换方式,但是我这边失败了。。。var lstAddRecord=new Array();store.each(function(record) { lstAddRecord.push(record.data); });Ext.Ajax.request({ url: 'function/rivaldata/rivalDataAc
2012-08-28 16:03:01
1275
转载 mysql保留字表和相关信息
尝试使用一个识别符,例如使用嵌入式MySQL数据类型或函数名作为表名或列名,例如TIMESTAMP或GROUP,会造成一个常见问题。允许你这样操作(例如,ABS可以作为一个列名)。但是,默认情况下,在数调用中在函数名和后面的‘(’字符之间不允许有空格。该要求使函数调用与列名引用不同。该行为的不利结果是在某些上下文中省略一个空格会使识别符解释为函数名。例如,该语句合法:mysql> CREA
2012-08-13 10:56:59
478
转载 Ext JS 4:动态加载和新的类机制(Dynamic Loading and New Class System)
JavaScript自己并没有类,所以一些新手开发者来的这儿就感觉环境很不熟悉。但是通过语言其自身强大的原型机制(prototype pattern) ,Ext JS实现一套成熟丰满的类机制系统,务求可以进一步照顾我们的开发者,能够以他们熟悉的面向对象方法论(Object Oriented approach)写代码!我们为Ext JS 4注入更多的新功能,期待让你们的开发更轻松亦更灵活。E
2012-08-09 17:26:24
529
原创 ExtJS 4.x中如何定义类和使用类
Ext.define('My.sample.Person', { name: 'Unknown', constructor: function(name) { if (name) { this.name = name; } return this; }, eat: func
2012-08-07 16:11:21
392
转载 Ext 4.0 MVC详解
本人在使用中的感受:如果我们这样分层了,有利于组件重用,软件开发和维护,但学习成本很高,要新人接受需要一段时间,在开发中要按照一定规范.建议不要随便使用这样分层! 每一层的介绍:1,model和store其实就是管数据的,2,view层,纯界面,极少逻辑代码,逻辑代码都写到controller中,这样好管理.3,controller,建议逻辑代码都写到这里,这样好管理.
2012-07-31 13:52:54
672
原创 Java EE中文档上传下载实现的过程和思考
2012.7.20 星期五 天气晴朗 很久没有写学习文档了。今天就最近在做的文档管理模块中的文档上传和下载,写一篇实现过程的日志,仅供学习和参考。如果疑问,邮电:457151376@qq.com。那么首先,来讲讲如何实现上传。一般文档上传和下载我们通过通用的Servlet来实现。当然也有人把代码写在JSP里面实现。实现的方式有很多种,但是原理是一样的。那么我们找一
2012-07-20 19:17:25
1538
原创 Android开发初始配置
Android开发是基于Java体系的,所以,扎实的Java基础就显得非常重要。同样,开发环境也是基于Java的,一般都用eclipse开发,熟悉它的人都知道,eclipse是个好东西,Java开发必备良器。由于我的电脑不久前刚重装了,所以电脑上什么都没有,什么环境也都没有。所以我得从最底层的Java环境配置干起。。。Step 1: 下载最新版本的JDK,只需要根据提示安装,可以更
2012-06-28 10:31:27
921
原创 OpenSessionInViewFilter简介和学习
假设在你的应用中Hibernate是通过spring 来管理它的session.如果在你的应用中没有使用OpenSessionInViewFilter或者OpenSessionInViewInterceptor。session会在transaction结束后关闭。如果你采用了spring的声明式事务模式,它会对你的被代理对象的每一个方法进行事务包装(AOP的方式)。如下: <bea
2012-06-26 17:09:26
279
原创 Spring的事务管理机制
事务就是对一系列的数据库操作(比如插入多条数据)进行统一的提交或回滚操作,如果插入成功,那么一起成功,如果中间有一条出现异常,那么回滚之前的所有操作。这样可以防止出现脏数据,防止数据库数据出现问题。开发中为了避免这种情况一般都会进行事务管理。在JDBC中是通过Connection对象进行事务管理的,默认是自动提交事务,可以手工将自动提交关闭,通过commit方法进行提交,rollback方法进
2012-06-26 15:32:39
902
原创 Struts2拦截器Interceptor学习笔记
2012/6/26 星期二 天气阴有雨今天详细讲解一下Struts中的拦截器的作用和用法。拦截器是Struts2的一个重要的概念,Struts中有80%的功能都通过拦截器实现。意义:完成更高层次的解耦,无须侵入框架本身即可添加新的功能。拦截器是AOP的一个实现,底层通过动态代理模式完成。拦截器是Action的拦截器,可以将一些重用功能放到拦截器中,降低Action的复杂性,提高
2012-06-26 14:56:37
570
原创 There is no ID/IDREF binding for IDREF 'sessionFactory'
加载spring配置文件时,报如下错误:org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 52 in XML document from class path resource [applicationContext-transcation.xml] is invalid; nested
2012-06-26 14:51:21
1562
1
转载 简介Spring中常用的hql查询方法
Spring中常用的hql查询方法(getHibernateTemplate()) ---------------------------------一、find(String queryString); 示例:this.getHibernateTemplate().find("from bean.User"); 返回所有User对象 二、find(
2012-06-26 13:00:37
363
转载 Java抽象类和接口的比较
class Car {setDriver(DriverLicence driver);}abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽
2012-06-19 11:09:09
794
原创 验证码实现的详细以及前端验证的难点解析
2012/6/19 星期二 天气阴实现验证码这个功能是前不久的事情了,主要是给玛丽英语网站界面的报名页面做的。由于网站一开始没有验证功能,导致受到了一些非法攻击,数据库出现了许多垃圾数据和非法数据。鉴于此,在后期维护的时候让我在里面添加一个验证功能。说起来验证码的实现倒不是难点,网上搜一下验证码,你可以就到得到很多的源码,那么我写这片文章的目的也不是专门为了说明如何实现这个验证码
2012-06-19 09:55:06
12207
转载 org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLExcepti
错误:org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL [];SQL state [null]; error code [0];--- The error occurred in com/sinosoft/par
2012-06-18 16:09:43
22712
1
原创 Java中的static详解
有时你希望定义一个类成员,使它的使用完全独立于该类的任何对象。通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。在成员的声明前面加上关键字static(静态的)就能创建这样的成员。如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。你可以将方法和变量都声明为static。static 成员的最
2012-06-15 12:12:12
403
转载 urlrewrite实现URL重写
是否看到别人的网站网址名都不带后缀名比较酷,比如qq空间的地址,其实用urlrewrite这个包很容易就实现了。下面是使用说明:1.下载urlrewrite,官方下载地址:http://tuckey.org/urlrewrite/dist/urlrewritefilter-2.6.zip2.解压缩文件,压缩包内文件copy到项目中(压缩包位置 -> 项目位置):urlr
2012-06-13 16:16:54
333
原创 体现SSH精髓的一些问题,你能回答吗?
请你回答以下问题:Struts2:为什么每次请求都要创建一个Action对象?ModelDriven拦截器的配置中refreshModelBeforeResult解决了什么问题?为什么在web.xml中配置的StrutsPrepareAndExecuteFilter要过滤所有的请求?请你给我谈谈ValueStack?Struts2是如何实现MVC设计模式的?Sp
2012-06-13 16:10:51
747
Hibernate 映射文件和配置文件自动生成插件
2012-06-20
HTML校园绿色行静态网站制作
2012-06-15
ExtJS内存泄漏问题详解
2012-06-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人