- 博客(166)
- 资源 (2)
- 收藏
- 关注
原创 小more设计模式———外观模式
1、场景没过多久,公司为了简化和降低开发人员重复写相同代码的工作量。打算开发一个代码生成器的应用。在开发一个模块之前。只需要简单的配置一下,工具就可以自动生成模块的基本结构——增、删、改、查。这样开发人员就可以把主要精力放到具体业务功能的实现上。不必重复性的做相同的增、删、改、查等工作。因为现有的项目中,基本的增加、删除、修改、查询模块都有了。项目经理让小more实现一个这样的工具demo
2017-12-30 17:36:48 569
原创 小more设计模式———简单工厂模式
1、场景小more刚毕业,进入一家IT公司。经过一段时间的项目熟悉之后,一天老大交给他一个开发任务。具体要求:要求小more实现一个打印日志的log功能。同时提供一个接口给公司其他业务模块使用。小more经过一段时间的构思,尽可能的考虑到边界条件等因数之后。写出如下代码:首先实现了一个接口:/** * 日志输出接口 * Created by morethink on 2
2017-12-17 18:49:25 563
原创 深入理解远程调用之Hessian-王鹏飞-专题视频课程
本技术分享视频主要从3个方面来介绍hessian。(1)hessian入门应用实现(2)源码角度分析hessian基本的原理(3)深入源码解析hessian的序列化和反序列化机制...
2017-11-27 10:18:25 311
原创 Hessian庖丁解牛
1、Hessian入门Hessian是一种binary-rpc。性能较高。主要使用在交互数据较小的场景中。hessian的数据交互基于http协议,通常hessian的server端设计须要使用到web server容器(比方servlet等)。使用也是很简单,只需要暴露方法给server,client就可以像调用本地方法一下调用暴露的远程方法。示例demo如下:(1)提供
2017-11-24 23:04:41 461
原创 IDEA环境下配置eclipse项目
1、 新建一个idea项目我们选择一个空的项目。点击下一步:填写项目存放路径和项目名称。然后点击finish完成。然后再刚刚新建项目路径下面我们checkout我们项目代码。如cssbase2、 配置项目环境a) Project的配置选择File — projectStructure。进行如下配置分别为 jdk版本和项目编译输出目录
2017-08-04 18:02:55 2740
原创 EL表达式无法获取后台java传过来的值
问题:后台代码如下:public class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { S
2017-07-19 01:14:31 3082
翻译 mac下使用jenv切换jdk版本
1、安装jenv执行:curl -s get.jenv.io | bashjenv参考(关键是方便别的java工具管理):https://github.com/Linux-china/jenv/wiki/Chinese-Introduction2、进入jenv目录,然后建相关目录:cd ~/.jenv/candidates/ mkdir java
2017-06-29 23:49:48 2863
转载 IDEA下搭建maven实例项目
学Java的大部分吧都是要整Java web开发项目的,那么最好用的编辑器估计就是这个 IntelliJ IDEA,然后现在maven管理项目是很流行的。然后我就示范一下,如何使用这个IntelliJ IDEA 创建一个Java web 项目的hello world项目。因为maven的中央仓库不一定是国产的,所以,你在跟我测试的时候,可能会下载的很慢。不怕,湿胸我已经解决了这个问题,
2017-05-15 00:28:55 2309 1
转载 android stduio中导入slidingMenu
1,下载SlidingMenu(https://github.com/jfeinstein10/SlidingMenu)2.新建AS项目,把SlidingMenu-master中的library文件夹(我把这个文件夹重命名为sliding_menu)拷到新建项目文件夹中与app文件夹同级3.在settings.gradle文件中添加 include ":sliding_menu'inc
2016-11-22 09:55:10 693
转载 Android.mk的用法和基础 && m、mm、mmm编译命令
一个Android.mk file用来向编译系统描述你的源代码。具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次。你可以在每一个Android.mk file中定义一个或多个模块。每个模块属下列类型之一: 1)APK程序,一般的Android程序,编译打包生成apk文件 2)Java库,java类库,编译打包生成jar文件 3) C\C++应用程
2016-11-18 18:04:48 4307
原创 ListView的item点击事件无响应的解决方法
默认情况下,button等类型的按钮控件会抢夺ListView等item的焦点。导致点击item事件无法响应。解决办法是:在布局文件中设置descendantFocusability属性我的布局xml文件如下<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orient
2016-11-16 12:40:38 1000
转载 C/C++程序编译步骤 如何生成可执行文件
*******************************************************篇一******************************************************************************************** 电子计算机所使用的是由“0”和“1”组成的二进制数,二进制是计算机的语言的基础。计
2016-02-20 22:02:29 1557
转载 google_protobuf数据类型
要通信,必须有协议,否则双方无法理解对方的码流。在protobuf中,协议是由一系列的消息组成的。因此最重要的就是定义通信时使用到的消息格式。 Protobuf消息定义消息由至少一个字段组合而成,类似于C语言中的结构。每个字段都有一定的格式。字段格式:限定修饰符① | 数据类型② | 字段名称③ | = | 字段编码值④ | [字段默认值⑤]①.限定修饰符包
2016-01-06 11:27:15 636
转载 在 go/golang语言中使用 google Protocol Buffer
怎么在go语言中实用google protocol Buffer呢?现在的潮流趋势就是一键搞定,跟ubuntu安装软件一样 go get code.google.com/p/goprotobuf/{proto,protoc-gen-go}go install code.google.com/p/goprotobuf/proto 搞定,可以在 $GO_PAT
2016-01-06 11:18:57 3112
转载 在 Golang 中使用 Protobuf
安装 goprotobuf 1.从 https://github.com/google/protobuf/releases 获取 Protobuf 编译器 protoc(可下载到 Windows 下的二进制版本wget https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar
2016-01-06 11:17:48 3056
转载 golang go-sql-drive mysql连接池的实现
golang内部自带了连接池功能,刚开始接触golang的时候不了解这个,还自己搞了一个 sql.Open的对象管理池,真的非常囧啊。sql.Open函数实际上是返回一个连接池对象,不是单个连接。在open的时候并没有去连接数据库,只有在执行query、exce方法的时候才会去实际连接数据库。在一个应用中同样的库连接只需要保存一个sql.Open之后的db对象就可以了,不需要多次open。
2016-01-04 20:46:23 8937
转载 golang语言中map的初始化及使用
// 先声明mapvar m1 map[string]string// 再使用make函数创建一个非nil的map,nil map不能赋值m1 = make(map[string]string)// 最后给已声明的map赋值m1["a"] = "aa"m1["b"] = "bb"// 直接创建m2 := make(map[string]string)// 然后赋值m2["a"
2015-12-31 11:28:00 6545
转载 HttpSession工作原理简介
HTTP协议(http://www.w3.org/Protocols/)是“一次性单向”协议。 服务端不能主动连接客户端,只能被动等待并答复客户端请求。客户端连接服务端,发出一个HTTP Request,服务端处理请求,并且返回一个HTTP Response给客户端,本次HTTP Request-Response Cycle结束。 我们看到,HTTP协议本身并不能支持服务端保存客户端的状态
2015-12-29 15:44:34 526
转载 OAuth的机制原理讲解及开发流程
本想前段时间就把自己通过QQ OAuth1.0、OAuth2.0协议进行验证而实现QQ登录的心得及Demo实例分享给大家,可一直很忙,今天抽点时间说下OAuth1.0协议原理,及讲解下QQ对于Oauth1.0的认证开发。闲话多说了点,下面直接进入主题。 1、OAuth的简述 OAuth(Open Authorization,开放授权)是为用户资源的授权定义了一个安全、开放及简单
2015-12-29 09:53:18 547
原创 function $(str) {return(document.getElementById(str));}
function $(str) {return(document.getElementById(str));}的作用一般来讲这个函数名字叫做$,听起来可能有点奇怪。但是我们在频繁的获取控件的id的时候,就发挥作用了。function calc() { //申明所用的变量 var lngSpeed,lngAngle,lngTime,lngDistance,g; //重力
2015-12-20 22:09:25 1950
原创 HTML中form表单作用解释
表单在网页中主要负责数据采集功能。一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法。表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。
2015-12-18 17:02:26 16911 1
转载 Linux 内核的编译步骤及模块动态加载
以LDD3上的hello.c为例://hello.c#include #include MODULE_LICENSE("Dual BSD/GPL");static int hello_init(void){ printk(KERN_ALERT "Hello, world\n"); return 0;}static void hello_ex
2015-12-09 22:35:04 1110
转载 ubuntu磁盘分配策略
1./swap交换分区,一般为你机器内存的两倍,少于这个容量,系统无法进入休眠。实质是硬盘上的交换空间而非分区,所以没有格式,默认休眠将数据储存于此可以取消(如不用swap必须再设定方可休眠)——多数有1GB内存的桌面用户只要1.5GB swap即可。2GB以上内存的很多用户实际并不需要它——注意,大量处理音频、视频、图片需要3GB以上的交换空间。2./ 根分区,一般选择1
2015-12-09 18:57:23 6346
转载 linux内核源码树构建
版权声明:本文为博主原创文章 && 转载请著名出处 @ http://blog.csdn.net/gatieme目录(?)[-]获取源码包的方式为什么要活取源码包普通Linux设备驱动开发嵌入式inux设备驱动开发总结源码包活取的方法获取源码包直接从内核官网上下载使用发行版自带的源码包Ubunto1404CentOS构建源码树编译内核卸载无用
2015-12-09 17:58:12 2533 1
原创 shell脚本如何获取当前时间
在shell脚本里常常需要获取系统时间来处理某项操作,今天系统的学习了一下如何获取系统时间。记录如下:linux的系统时间在shell里是可以直接调用系统变量的如: 获取今天时期:`date +%Y%m%d` 或 `date +%F` 或 $(date +%y%m%d)命令输出结果如下:[root@centi-C sh]# date +%Y%m%d 20120727 [root@c
2015-09-16 13:12:08 72031
转载 HTTP深入浅出 http请求
转载http://www.cnblogs.com/yin-jingyu/archive/2011/08/01/2123548.html 感谢作者的分享HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务,HTTP目前协议的
2015-08-10 16:21:03 494
原创 学海无涯
精进的程序/朱光潜 文学是一种很艰难的艺术,从初学到成家,中间须经过若干步骤,学者必须循序渐进,不可一蹴而就。拿一个比较浅而易见的比喻来讲,作文有如写字。在初学时,笔拿不稳,手腕运用不能自如,所以结体不能端正匀称,用笔不能平实遒劲,字常是歪的,笔锋常是笨拙扭曲的。这可以说是“疵境”。特色是驳杂不稳,纵然一幅之内间或有一两个字写得好,一个字之内间或有一两笔写得好,但就全体看去,毛病很多。每个人
2015-07-29 18:01:12 709
原创 套接字选项setsockopt中参数之SO_REUSEADDR
SO_REUSERADDR这个参数允许重复使用本地地址和端口。这个设置常在服务器中使用例如:某个服务器进程占用了TCP的80端口进行侦听,当再次在此端口侦听的时候,会返回错误,那么设置SO_REUSERADDR可以解决这个问题,允许共用这个端口。某些非正常退出的服务器程序,可能需要占用端口一段时间才能允许其他进程使用,即使这个程序已经死掉了。内核仍然需要一段时间才能释放这个端口。一般这
2015-07-28 14:20:43 2856
原创 SIGPIPE信号详解
当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。我写了一个服务器程序,在Linux下测试,然后用C++写了客户端用千万级别数量的短链接进行压力测试. 但是服务器总是莫名退出,没有core文件.最后问题确
2015-07-28 13:46:09 1098
原创 前言
无聊阅读曾文正所写《挺经》《冰鉴》《家书》《日记》4卷手记。体悟记录在这个栏目。担当大事,全在明强二字。《中庸》学、问、思、辩、行,五者。其要归于愚必明,柔必强。凡事非气不举,非刚不济,即修身养家,亦需以明强文本。
2015-07-28 08:46:07 434
原创 GCC参数详解
gcc是gnu compiler collection 的简称,他包含了多种语言的编译器,如C, C++, Objective-C, Objective-C++, Java, Fortran和Ada。但每种编译器的名字不一样,gcc and g++ 分别是 gnu 的 c & c++ 编译器gcc/g++ 在执行编译工作的时候,总共需要 4 步1. 预处理, 生成 .i 的文件 [
2015-07-24 19:08:26 599
转载 Linux内存池技术
看到一篇关于内存池技术的介绍文章,受益匪浅,转贴至此。 原贴地址:http://www.ibm.com/developerworks/cn/linux/l-cn-ppp/index6.html 6.1 自定义内存池性能优化的原理 如前所述,读者已经了解到"堆"和"栈"的区别。而在编程实践中,不可避免地要大量用到堆上的内存。例如在程序中维护一个链表的数据结构时,每次新增或
2015-07-19 21:25:19 3873
原创 1PROCESS_INFORMATION 结构
在创建进程时相关的数据结构之一,该结构返回有关新进程及其主线程的信息。其结构定义如下typedef struct_PROCESS_INFORMATION{HANDLE hProcess;HANDLE hThread;DWORD dwProcessId;DWORD dwThreadId;}PROCESS_INFORMATION;其中成员含义
2015-04-20 22:09:04 1565
转载 CloseHandle()函数的使用
很多程序在创建线程都这样写的:............ThreadHandle = CreateThread(NULL,0,.....);CloseHandel(ThreadHandle );。。。。。这不是刚好创建又关闭了吗?线程怎么运行呢?================================================Closing a th
2015-04-20 19:14:23 434
原创 windows 条件变量
我们已经看到,当想让写入者线程和读取者线程以独占的方式或共享的方式访问一个资源的时候,可以使用SRWLock。在这些情况下,如果读取者线程没有数据可以读取,那么它应该将锁释放并等待,直到写入者线程产生了新的数据为止。如果用来接收写入者线程产生的数据结构已满,那么写入者同样应该释放SRWLock并进入睡眠状态,直到读取这线程把数据结构清空为止。 我们希望线程以原子的方式把锁释放并
2015-04-17 10:25:05 531
原创 IRP中一个CurrentLocation域的理解
说简单些就是在分层驱动中使用CurrentLocation来记录IRP到达了哪一层,在不同的层有对应的处理函数(通过IO_STACK_LOCATION关联),对IRP进行特定的处理。比如:if(irp->CurrentLocation == 1)这个是判断是否到达了irp栈的最低端
2015-04-06 19:52:18 2245
原创 UNREFERENCED_PARAMETER的用处
作用:告诉编译器,已经使用了该变量,不必检测警告!在VC编译器下,如果您用最高级别进行编译,编译器就会很苛刻地指出您的非常细小的警告。当你生命了一个变量,而没有使用时,编译器就会报警告:“warning C4100: ''XXXX'' : unreferenced formal parameter.” 所以,为了让编译器不必检测你的警告,就使用UNREFERENCED_PA
2015-04-06 15:55:51 518
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人