- 博客(81)
- 收藏
- 关注
MVEL 简单介绍
MVEL是一种基于java语法的表达式语言,为java提供更便捷灵活的动态性。这里简单介绍一些MVEL的操作:new 创建一个java对象,new String("foo"),当然这里是举个栗子,String的创建一般是不同这个构造函数的。对于java.lang.*中的类,无需手动导入。如果是创建自定义的对象,就需要写明类全路径名,或者手动导入。当需要针对同一个对象进行...
2013-12-18 15:05:04
1439
Netty 4 源码分析——EventExecutor
先从EventExecutor开始,因为它是一个很基础的工具类,是对I/O线程的包装。先了解下它的源码会对后面的分析有更好的理解。[img]http://dl2.iteye.com/upload/attachment/0090/5739/ad7cd980-f64f-330b-9d58-96adadc8d7f9.png[/img]先看下EventExecutor的类关系图,这里只是简...
2013-10-26 12:15:02
559
Netty 4 源码分析——结构概览
看了两天的netty源码,现在总算有了些眉目了。下面是用excel画的一个简单的结构图[img]http://dl2.iteye.com/upload/attachment/0090/5537/2cf5280f-fbca-3b04-81a1-1dcc3235bbbb.jpg[/img][list][*]Channel是对最终I/O处理的封装[*]EventExecutor 封装...
2013-10-25 15:37:31
241
原创 Mina源码分析——IoService
这两天看了下Mina和Netty的源码,想比较来说Mina的结构简洁易懂。Mina和Netty出自同一人,而Netty是作者对Mina的重构版,改进了很多。如果学习网络编程的话,个人建议从Mina开始,学完Mina后再看Netty,学习曲线会变得很平滑;同时还能深刻理解到作者改进点。 先看下Mina的结构图,如果之前做过java的web开发,熟悉servlet规范,看到这个结构图...
2013-10-18 17:53:25
291
原创 Java NIO
众所周知Mina是一个基于java NIO的网络框架,那么在了解Mina之前,需要先了解下java NIO。jdk1.4中引入了NIO的相关api,主要是针对解决一些高并发高吞吐的IO。API的类图如下(网上找的)[img]http://dl2.iteye.com/upload/attachment/0090/1957/dcdda091-ce82-3d2b-b42c-1d07ab8d81ef....
2013-10-15 14:48:46
132
Java 网络编程
这里介绍下使用java的socket编程,搭建一个server与client的通信框架。先看一段代码:Server端[code="java"]import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;publi...
2013-08-29 21:38:10
114
java 中的volatile关键字
volatile 是java中用来解决多线程的共享访问问题的,不过它解决的是变量级别的。不同于syncronized解决的是方法和代码块级别的。在java的多线程的内存模型中存在main memory和work memory。main memory是所有线程共享的,而work memory是指各个线程自己的。对于共享变量的访问,线程是先从main memory中copy一份到work me...
2013-08-27 15:57:42
129
原创 解决Maven插件未同步empty folder 至 Ouput folder中
使用eclipse的m2e插件创建了一个工程,在src/main/resources下添加了一个空目录 test发现m2e插件在build project的时候,并未将test 同步到原来设置的output folder下。可以通过在project的pom.xml文件中配置插件的属性解决[code="xml"] org.apache.maven.plugins maven-re...
2013-08-20 16:46:36
174
Ant使用xmltask替换AndroidManifest.xml文件中的配置
新的游戏项目上线后,接了很过国内的推广渠道的SDK,其中一个很繁琐的问题就是打包,每次升级版本都要打几十个包;如果人肉操作的话非常费劲,而且很容易出错。正好Android的SDK中也提供了ant来脚本化打包操作。所以就针对公司里游戏项目的结构对ant打包脚本,添加了些功能。将游戏中的所有可配置的内容全部整理build.properties文件中,比如说游戏中的日志开关,正式环境和测试环境的测试...
2013-08-19 10:48:54
309
"Updating Maven Project". Unsupported IClasspathEntry kind=4
上午导入了下游戏服务器端的代码,是使用java开发的,通过maven对多个工程模块进行管理eclipse安装了1.4版本的m2e后,在工程目录下执行mvn eclipse:eclipse后,导入eclipse 中。通过m2e插件update project时提示了如下的错误"Updating Maven Project". Unsupported IClasspathEntry kind=...
2013-08-14 14:17:25
130
原创 SyntaxError: Non-ASCII character '\xe5' in file
eclipse中安装好pydev,最近安装的时候总是提示不成功。提示错误连接超时 Read time out。后来爬出去后再安装,ok了配置好pydev后,新建一个module,print 'hello world',结果却提示SyntaxError: Non-ASCII character '\xe5' in file查看了错误信息中的链接,发现原来python解释器在读取到文件...
2013-07-06 09:50:53
169
ADB server didn't ACK
用数据线连接android手机到pc,却在eclipse中Device view中未发现设备信息。提示错误信息如下:adb server is out of date. killing... ADB server didn't ACK * failed to start daemon *确认手机上的usb调试已打开,adb kill-server,adb start-serve...
2013-06-27 15:02:04
132
解决ADT插件升级22.0.1版本后的问题
昨天升级了android的开发的eclipse插件adt,升级到22.0.1。发现原来的工程导出apk后安装都出现了java.lang.NoClassDefFoundError。所有有依赖其他library工程的都出现编译错误,提示library工程中的类无法找到。几经摸索,终于解决。ADT 22.0.1 升级后在 project property 中的order and expo...
2013-06-27 09:12:11
240
Android链式方法显示Dialog
发现Android中的AlertDialog原来可以使用方法链式来创建和显示[code="java"] new AlertDialog.Builder(this).setTitle("提示").setMessage("提示消息") .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Ov...
2013-06-26 17:24:42
186
解决Android帧动画在Oncreate中启动只显示第一帧
做了个简单的帧动画,在onCreate方法中start,发现只能看到第一帧[code="xml"] [/code][code="xml"] [/code][code="java"] ImageView fireImg = null...
2013-06-26 17:18:05
200
Android 自定义权限 (<permission> <uses-permission>)
在android系统的安全模型中,应用程序在默认的情况下不可以执行任何对其他应用程序,系统或者用户带来负面影响的操作。如果应用需要执行某些操作,就需要声明使用这个操作对应的权限。 (在manifest文件中 添加标记) android 系统提供了一系列这样的权限,具体可以查看[url="http://developer.android.com/reference/android/...
2013-02-01 17:23:17
285
Android 系统启动时自启动一个app
Android中也可很方便的实现类似windows中的开机启动。方法很简单,就是注册一个BroadcastReceiver 去接收 actoin 为 android.intent.action.BOOT_COMPLETED 的消息,然后即可启动Activity了。首先在menifest 文件中添加权限声明,因为接收BOOT_COMPLETED消息需要RECEIVE_BOOT_COMPL...
2013-02-01 16:07:06
666
Android中获取设备的IP
在wifi环境下,可以通过WifiInfo来获取设备的ip[code="java"] public String getIpAddress() { WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectio...
2013-01-28 16:47:50
172
编写App的开场Activity
在android的app和游戏的应用中,都会有个开场场景,老外管这个叫splash。现在就编写个简单的SplashActivity[code="java"]import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.widget.Image...
2013-01-28 16:03:37
156
Eclipse通过wtp插件启动tomcat出现OutOfMemoryError
在eclipse中通过wtp插件启动tomcat,tomcat中部署了很多个应用,启动是出现了OutOfMemoryError 异常[code="java"]java.lang.OutOfMemoryError: PermGen space java.lang.ClassLoader.defineClass1(Native Method) java.lang.Class...
2013-01-16 14:49:06
133
扩展ImageView使可旋转
继承ImageView,增加angle属性,重写OnMeasure和OnDraw方法[code="java"]package com.upon.common.view;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;im...
2013-01-13 15:19:04
164
原创 VS2010 快捷键
Ctrl+E,D ----格式化全部代码 Ctrl+E,F ----格式化选中的代码 CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口 F4 显示属性窗口 SHIFT + F4显示项目属性窗口 CTRL + SHIFT ...
2012-08-25 17:39:10
84
amazon RSD 查看slow_log
amazon RSD 并未提供SSH直接访问db server。不过提供了Amazon RDS Command Line Toolkit,但是调整mysql的一些系统参数不是那么方便了。这里主要记录下查看slow_log的操作。1、下载Amazon RDS Command Line Toolkit[url]http://aws.amazon.com/developertools/292...
2012-06-30 17:38:55
238
原创 Google Play是如何屏蔽添加了Checkout的应用在一些地区不能下载的
因为google checkout 只支持一些地区使用,不幸的是中国大陆不在支持之列。所以加了checkout 的应用或游戏在google play的网页上会提示与你的设备不兼容。对于google play这个是如何来做的比较疑惑,做了下测试1、仅仅在AnroidManifest.xml文件中添加了权限限制发布了app后发现还是能够下载的。猜测:检测apk包...
2012-06-02 20:05:11
364
原创 HttpURLConnection设置代理服务器
1、设置系统数据[code]java -Dhttp.proxyHost=proxy.com -Dhttp.proxyPort=80 MyJavaApp[/code]或者[code]System.setProperty("http.proxyHost", "proxy.com");System.setProperty("http.proxyPort", "80");...
2012-06-02 20:01:57
1062
原创 eclipse ADT插件安装碰到的错误
下午换了台机器,重新给eclipse装上ADT插件,过程中碰到几个错误记录下。1、help -> Install New Software 输入地址https://dl-ssl.google.com/android/eclipse/,发现根本无法安装 无奈从官方下载zip插件安装。具体安装步骤查看下面链接 [url]http://developer.android....
2012-04-10 15:21:51
200
原创 修改Linux文件句柄数限制
因为linux系统里都是以文件来表示的,所以在做搞并发的web系统时,修改文件句柄限制那是必须的。 查看某个进程使用了的文件句柄数# sudo ps -ef | grep javaroot 1663 1 0 02:37 ? 00:00:43 /opt/bitnami/java/bin/java从结果中可得知进程的pid,然后根据pid查看该进程...
2012-03-30 15:59:16
520
原创 linux系统locale设定
locale 是国际化与本土化过程中的一个非常重要的概念,个人认为,对于中文用户来说,通常会涉及到的国际化或者本土化,大致包含三个方面:看中文,写中文,与 window中文系统的兼容和通信。从实际经验上看来,locale的设定与看中文关系不大,但是与写中文,及window分区的挂载方式有很密切的关系。本人认为就像一个纯英文的Windows能够浏览中文,日文或者意大利文网页一样,你不需要设定loca...
2011-12-19 14:16:57
134
原创 ubuntu中添加中文字符集
在 /etc/environment中看到:$sudo gedit /etc/environmentLANG="zh_CN.UTF-8"LANGUAGE="zh_CN:zh:en_US:en"添加中文字符编码的方法1. 直接使用locale-gen命令:$ sudo locale-gen zh_CN.GB18030$ cd /usr/lib/locale/目...
2011-12-19 14:13:09
1064
原创 [转]Game Engine Architecture: URL List
1.4.1. First-Person Shooters (FPS)http://en.wikipedia.org/wiki/First-person_shooter1.4.2. Platformers and Other Third-Person Gameshttp://en.wikipedia.org/wiki/Platformer1.4.3. Fighting Gam...
2011-10-20 20:52:16
1026
maven依赖本地非repository中的jar包
今天在使用maven编译打包一个web应用的时候,碰到一个问题:项目在开发是引入了依赖jar包,放在了WEB-INF/lib目录下,并通过buildpath中将web libariary导入。在eclipse中开发没有问题,但是使用maven编译插件开始便宜总是报找不到WEB-INF/lib这个jar包中的类。显然实在编译的时候WEB-INF/lib并没有配置到maven-compli...
2011-09-29 17:09:07
563
groovy 操作http请求
话不多说,先上一段代码,如果你使用过jquery,看到这样的代码是不是很亲切呢?[code="java"]def http = new HTTPBuilder('http://www.baidu.com')http.request(GET,TEXT) { //设置url相关信息 uri.path='/' uri.query=[a:'1',b:2] //设置请求头信息...
2011-09-29 12:11:21
3285
groovy 操作json
在groovy1.8中内置了对json格式数据的至此;使对json的操作变得非常简捷方便了[code="java"]def builder = new JsonBuilder()//如同构建对象般builder.pepole{ person { firstName 'leng' lastName 'feng' //传入map address(...
2011-09-28 17:07:20
1496
groovy 操作xml
[code="xml"] Java Groovy JavaScript[/code][code="java"]//XmlParser使用Gpath,返回Node,NodeList,以及属性对应的Map//所以你在访问xml文件中的属性时,也就如同访问list和map中的属性def langs = new XmlParser().parseText(...
2011-09-28 15:52:55
329
Groovy的文件操作
groovy 文件操作,对java原有的io进行了扩展,增加了许多闭包后省去了很多逻辑无关代码,同时自动进行资源管理和异常处理。读取文件内容:使用java代码的基本写法:[code="java"]FileInputStream fin = null;try { fin = new FileInputStream("test.txt"); BufferedReader...
2011-09-26 22:28:13
906
原创 mysql 学习
表级锁开销小,加锁快,不会出现死锁。锁冲突概率高,并发度低行级锁 开销大,加锁慢;会出现死锁,锁冲突概率低,并发度高。页级锁开销和加锁时间介于上面两种之间。会出现死锁。myisam 只支持表级锁。show status like 'table%';mysql> show status like 'table%';+----------------...
2011-08-07 22:20:03
100
原创 mysql 学习
整理了下mysql在优化方面相关的命令:show session| global status like 'Com_%' 默认是查看session级别的状态参数表示某个语句执行的次数,包含所有的存储引擎的操作记录Com_select Com_updateCom_insertCom_delete下面这些参数仅显示Innodb的操作记录Innodb_rows_...
2011-08-07 19:22:53
143
原创 如何避免android上的进程的内存限制
The Android framework enforces a per-process 24 MB memory limit. On some older devices, such as the G1, the limit is even lower at 16 MB.What’s more, the memory used by Bitmaps is included in the ...
2011-07-11 11:54:50
232
原创 【转】无线加密的方案
电波传输数据,原则上无线网络会比有线网络更容易收到入侵,只需要在此无线网络的范围之内,就可以通过电脑进入你的无线网络。 这让很多用户听起来都觉得很可怕,甚至都不打算使用无线网络。其实,无线网络在不断的发展过程中,无线网络加密技术也在不断的完善,到现在无线路由都有着 多种密码加密技术,这让我们在架设使用无线网络的时候,用户的网络和数据安全都得到了很大的保障。今天,就让我们一起来了解一下目前...
2011-07-08 11:40:52
121
原创 对称式多处理器
对称式多处理器(SMP):Symmetric Multi-Processor的缩写。是指在一个计算机上汇集了一组处理器(多CPU)。各CPU之间共享内存子系统以及总线结构。虽然同时使用多个CPU,但是从管理的角度来看,它们的表现就像一台单机一样。系统将任务队列对称地分布于多个CPU之上,从而极大地提高了整个系统的数据处理能力。随着用户应用水平的提高,只使用单个的处理器确实已经很难满足实际应用的...
2011-07-06 11:46:18
194
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人