由于公司之前使用的手机客户端推送服务是极光推送,给公司造成一年几十万的服务费,因此,公司决定开发自己的一套推送服务,初步的技术选型是:服务端:netty4 关于netty框架在我的下面的博客里面我整理了相关资料,本来还有一些关于mina的由于时间原因暂时没整理出来。 为了便于自己测试,自己动手实现了如何使用netty完成服务端
最近在看netty的源码,本来想写一些东西的,但是无意间看到了一个牛人写的一些有关netty的博客,感觉写得太好了,故对他的博客中有关netty的部分整理了一下放入了我的印象笔记中,现在把链接公开出来,希望对想学习netty的同学有所帮助:https://app.yinxiang.com/pub/topxiall/netty
这几天在看netty的源码想根据源码把netty的UML架构图跟时序图画出来,所以就复习了一下大学时代的一些UML基础知识,首先,我们要搞清楚以下几个概念:继承:这个就不要多说了,写过java代码的人一般都很容易理解继承这个概念。实现:这个可能有些初学者有些模糊,因为大家一般会认为实现跟继承是一样的概念,在java里面 继承使用的关键字是extends而实现使用的关键字
记得之前做毕业设计的时候看过status1的源码当时感觉挺简单的,不就是写几个xml配置文件然后在利用反射实例化成对象在执行相应的方法吗?当时以为自己好牛啊!以至于在学校做组合项目的时候自己自以为是的写了一个数据层的封装给组员使用,记得当时对外暴露的方法就是sql跟参数,庆幸的是组合项目完成后那个封装既然没出一点问题。 当自己现在再回过头去看st
最近在研究xampp协议的过程,于是找了开源的openfire与tigase的源码粗滤的阅读了一下,由于tigase目前的中文文档比较少,于是主要整理了有关tigase的一些资料供大家参考,由于文章比较多,这里只留下一个印象笔记的连接供大家阅读。https://app.yinxiang.com/pub/topxiall/tigase
1:关于smack与tigase的用法跟作用请大家自己去网上查看相关资料,这里就不做描述了。 PS:这篇文章主要是说明在客户端jvm创建的最大线程数的大小。 之前公司要求做一个客户端用于测试刚刚部署的tigase的性能,所以项目经理就安排了一个事情就是自己动手在客户端写一个基于smack长连接的压力测试工具。 初期的要求是这
还有一个礼拜自己就毕业两周年了,从技术上来说,感觉自己越来越不懂了,原先是在一个狭小的圈子里面会搞几个小项目就以为自己技术怎么怎么滴,参加工作后,圈子大了接触的东西也多了,越来越感觉自己是那么的渺小,通过项目实战也让自己感受到了团队的威力,我想,这就是成长吧! 记得做毕业设计那会儿自己在国家图书馆花了一个多月搞了
synchronized static
java设计模式 1:策略模式类图:2:单例模式类图:3:多例模式类图:4:工厂方法类图:5:抽象工厂模式类图:6:门面模式类图:7:适配器模式类图:8:模版方法模型类图:9:建造者模式类图:10:桥梁模式类图:11:命令模式类图:12:装饰模式类图:13:迭代器模式类图:14:组合模式类图:15:观察者模式类图:16:责任链模式类图:17:访问者模式类图:18:状态模式类
一、 Reactor and ProactorIO读写时,多路复用机制都会依赖对一个事件多路分离器,负责把源事件的IO 事件分离出来,分别到相应的read/write事件分离器。涉及到事件分离器的两种模式分别就是 Reactor和Proactor,Reactor是基于同步IO的,Proactor是基于异步IO的。在Reactor模式中,事件分离者等待某个事件或者可应用或个操作的状态发生(比如文件描
最近在看23种设计模式方面的知识,可能有些不是理解得很透彻,暂且先把理解得比较透彻的写下来,就当给自己复习使用. 单例模式:单例模式可能稍微有一点常识的人就会知道是表示什么意思,就是只允许在内存中只有一个对象存在。 其实单例模式有很多种实现方式:1:饿汉式实现方式 public class EagerSingleton {
1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面 第一,控制资源的使用,通过线程同步来控制资源的并发访问 第二,控制实例的产生,以达到节约资源的目的 第三,控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信 - 2.尽量避免随意使用静态变
/bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 /lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件 /sbin 系统管理命令,这里存放的是系统管理员使用的管理程序 /tmp 公用的临时文件
MyEclipse快捷键整理 1. 查询类 Ctrl + F 查找 Ctrl + K 查找,快速定位到下一个 Ctrl + Shift + U (I)列出指定变量或方法的初始化和引用列表 Ctrl + Shift + E 管理当前打开的所有的View的管理器(可以选择反选、关闭、激活等操作) Ctrl + H 工程内搜索 Ctrl + Shift + R 资源搜索列表 Ctr
最近投了风火山林的高级java工程师职位,对于我这种刚毕业的菜鸟来说能挺到第三轮,可能对大家来说还算可以,但我心里面对自己的要求可不是那样的。第三轮是算法题,就是发几个题目给你两天时间做完,实际上我一天就做完了,只是在算法的复杂度上没有考虑,我想这也是被刷下来的原因之一吧 。 题目如下: 这是工具类:p
/*分为四步 *//*第1步:创建临时表空间 */create temporary tablespace user_temp tempfile 'G:\oracle\product\10.1.0\chenyanxi\user_temp.dbf' size 50m autoextend on next 50m maxsize 20480m
最近一直在纠结view层中javascript与java变量赋值的问题: 1:java是否能把变量赋值给javascript 答案是肯定的只不过只能赋值数字类型。 2:javascript能否把变量赋值给java 答案是否定的不能赋值只能通过ajax 在这个问题上大家不要花太多的时间来探索,已经没有什么意义的了,程序员最重要的是知道一种语言能做什么不能做什么,技术也是一样
public class StringToDate { public static void main(String[] args) throws ParseException { Date d = new Date(); String s; /** Date类的格式: Sat Apr 16 13:17:
查询Oracle表空间使用情况非常重要,oracle也提供了dba_free_space、dba_data_files等表供查询,下面提供查询表空间的剩余、表空间的总容量、表空间使用率之法。 1.查询表空间的剩余 SQL> select tablespace_name, count(*) as extends, round(sum(bytes)/1024/102
tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。 -z:有gzip属性的 -j:有bz2属性的 -Z:有compress属性的 -v:显示所有过程 -O:将文件解开到标准输出 下面的参数-
之前一直在学习网络爬虫heritrix与lucene,并励志用Heritrix+Lucene做毕业设计,自学挺累的,没有一个明确的方向,一直想找个做搜索的公司实习一段时间,眼看就要毕业了,实习的愿望也快泡汤了,现在只想着多接触一些新的东西。 现在开始学习nutch1.4,由于网上的文章很少是关于1.
最近公司在做一个项目,是电信的一个项目,感觉规模蛮大的,由于还是属于实习生,基本上也不会接触一些核心的东西,但由于自己的好学,索性向项目经理要了项目的一部分源代码(都是自己反编译过来的),看了一个礼拜之后,觉得虽然可能代码的逻辑能看懂,但对于代码的设计可能还是有点欠缺,比如说代码使用了什么设计模式?为什么要使用这种设计模式?我想,对于这些问题并不是去听别人的讲
本文揭露了微软wmf文件的内部存储信息。
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号