- 博客(34)
- 收藏
- 关注
原创 linux 安装jdk方式
1.rpm方式安装: rpm -qa | grep jdk 查看是否安装了jdk,或者用java -version查看java版本 rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64 强制卸载之前的jdk rpm -ivh jdk1.8.0_65.rpm 安装新的jdk程序 安装好了,默认情...
2015-11-03 20:01:14 115
原创 MyBatis调用存储过程,含有返回结果集、return参数和output参数 .
use base_passportgo create proc yhj_test @input_a int, @input_b int, @output_c int outasbegin select * from config.city; set @output_c = @input_a*@input_b; ...
2015-10-27 14:50:22 767
原创 打比方理解 NIO 中的角色
打比方理解 NIO 中的角色 Channel 通道 Buffer 缓冲区 Selector 选择器 其中Channel对应以前的流,Buffer不是什么新东西,Selector是因为nio可以使用异步的非堵塞模式才加入的东西。 以前的流总是堵塞的,一个线程只要对它进行操作,其它操作就会被堵塞,也就相当于水管没有阀门,你伸手接水的时候,不管水到了没有,你就都...
2015-10-19 11:00:18 112
原创 elasticsearch linux 安装与IK分词配置
(一)部署下载es到linux如在/softs/elasticsearch-1.71.tar.gz解压:cd /softs tar -zxvfelasticsearch-1.71.tar.gz (解压) mv elasticsearch-1.71 /usr/local/elasticsearch-1.71 (把es移到/usr/local目录下) ...
2015-08-25 17:12:45 346
原创 tigase源码分析7:用户连接登录流程
//在看本节之前一定要先了解下xmpp协议,建议仔细看下 tigase源码分析6:了解xmpp协议//在看下面代码之前,要知道,每一个用户User通过某一资源连接到服务器时, //每一个User在不同的资源上登录都各对应着一个IOService, //每一个资源对应着一个XMPPResourceConnection, //同一个用户User多个XMPPResourceC...
2015-04-30 16:13:21 944
原创 tigase源码分析5:SessionManager
这节主要是分析数据包packet是如何被SessionManager和插件处理的 ,首先分析一些开发的理论知识先: 一、 Tigase服务器插件开发重要的是要了解它是如何工作的。不同类型的插件负责处理数据流中不同阶段的数据包(packet)。在Tigase服务器中, 插件代码负责处理特定的XMPP节。一个单独的插件可能会负责处理<message>,另一个用于处理<...
2015-04-30 16:12:14 430
多线程处理耗时任务的封装方式
工作中用到的处理多任务的多线程实现,以下仅为简略书写以便备忘、 package need.most.time.producer;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import need.most.time.ProcessorWorkerThread;pu...
2015-03-30 17:13:03 332
springmvc +mybatis 代码生成器
每一次使用mybatis generate 的时候,就不喜欢他那硬生生的命名方式了,后来项目开发的需要不得不弄一个代码生成器,事实证明自动化加快自己的项目开发,只用了三个月拎图网 linut5.com,今日搭配 jrdapei.com两个项目可以如期开发出来。使用springmvc +mybatis。可以按照模板生成自己喜欢的dao层,service层和controller层。dao层里面的方法...
2015-03-20 10:58:56 239
原创 tigase源码分析6:了解xmpp协议
<!-- 一、当一个初始化实体用TLS保护一个和接收实体之间的流,其步骤如下: --><!-- 1. 初始化实体打开一个TCP连接,发送一个打开的XML流头信息(其'version'属性设置为"1.0")给接收实体以初始化一个流。 --><?xml version="1.0"?><stream:stream xmlns:stream="h...
2015-01-16 15:51:58 508
原创 可以动态查找出工作空间中已知父类的所有子类
//可以动态查找出工作空间中已知父类的所有子类。package util;import java.io.File;import java.io.IOException;import java.lang.reflect.Modifier;import java.util.Collection;import java.util.Comparator;im...
2015-01-14 16:01:46 232
原创 tigase源码分析3:SocketThread
SocketThread 专用于处理客户端SOCKET的读写事件的线程,当服务器端SOCKET接受到客户socket,就会生成一个与对应的IOService,IOService.socketIO指向SocketIO对象,SocketIO是对java api中SocketChannel的封装,所以拿到IOService也就等于拿到客户端SocketChannel了。SocketThre...
2015-01-14 10:37:41 345
原创 tigase源码分析4:packet处理
这节主要讲数据包packet 的流转过程,如图大概说明packet被处理的流程,但实际上packet最终的处理者是插件,这个过程是在packet流转到SM中被分发到对它感兴趣的processor中处理的,下节将会详细说明packet被SM处理情况: 被处理的包packet,一旦被会话管理器和处理器插件(session manager and processor plugi...
2015-01-14 10:17:33 572
原创 tigase源码分析2:ConnectionOpenThread 处理服务端socket的线程
一、 ConnectionOpenThread 使用单例模式,他是负责建立服务端SOCKET和 接收连接客户端socket 线程。在初始化ConnectionManager的时候ConnectionManager.connectThread 属性所引用的服务端SOCKET连接线程ConnectionOpenThread 就被初始化了ConnectionMan...
2014-12-31 11:22:43 369
原创 tigase源码分析1:启动
喜欢研究IM技术的同学们,欢迎加入群 310790965 一起来学习,有什么问题可以一起讨论。 本源码是基于tigase v7.0.0来分析的。启动类XMPPServer.main(..)为入口,tigase是基于组件的xmpp服务器,在XMPPServer.start(),首先会加载两个组件分别为tigase.conf.Configurator,tigase.ser...
2014-12-30 12:20:32 649
学习java?其实可以 这样去记忆
最近忙着开发拎图网,图片社区 喜欢的朋友常来逛逛。谢谢.这是一种学习方法,也是一种记忆方法,小弟在此打个比愉而已,其实可以用在很多方面:例:我们都学习过 java se 包括 java语言基础、面向对象、异常处理、集合框架、I/O流式编程、多线程编程、对象序列化、程序国际化、socket网络编程等。 这只是javase最常使用的知识模块,怎么能最快记忆它们呢,你试试1分钟去记忆看看。 ...
2014-04-11 13:04:26 290
java访问mysql 数据库 表 的列名称
最近忙着开发拎图网,图片社区 喜欢的朋友常来逛逛。谢谢.工作中,有的存储过程里调用:INSERT IGNORE INTO `box_phone_warning_imei` SELECT * FROM `box_log`.`box_local_phone_log` WHERE id <> v_id and imei = v_group and (mac <> v...
2014-01-13 17:48:21 110
Eclipse中使用Maven整合springmvc +mybatis 出现ClassNotFoundException
最近忙着开发拎图网,图片社区 喜欢的朋友常来逛逛。谢谢.Eclipse中使用Maven整合springmvc +mybatis 出现java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener,作为记录一下。其实是maven项目,tomcat在发布项目的时候没有同时发布m...
2013-11-07 17:33:25 161
分页查询设计
最近忙着开发拎图网,图片社区 喜欢的朋友常来逛逛。谢谢. 分页查询就是根据需要每次只返回所需要的数据,而不用每次都从数据库中全部把数据提取出来,这样可以降低程序与数据库之间的数据传送量,并且还可以提高程序的性能。 一般来说我们在数据量大的情况下总是会分页显示(谁也不会一下子将几万条数据全部一次性显示给用户),这样决定我们返回的查询结果集的参数有两个:当前显示的页数p...
2013-05-19 20:20:33 274
Introspector内省机制
最近忙着开发拎图网,图片社区 喜欢的朋友常来逛逛。谢谢.Introspector 内省是javase里很基础的知识点了,但在做项目的时候经常会使用到, struts2的action(还有struts1的formbean)也使用了内省机制提供的实现。前台的form标签具有一些属性(在配置文件中知道这个form提交到那个action,而这个action有和这个form相对应的属性及其 get/...
2013-05-09 22:40:03 127
原创 数据库的-锁
一、 锁的分类锁的类别有两种分法:1. 从数据库系统的角度来看:分为独占锁(即排它锁),共享锁和更新锁MS-SQL Server 使用以下资源锁模式。 锁模式 描述共享 (S) 用于不更改或不更新数据的操作(只读操作),如 SELECT 语句。更新 (U) 用于可更新的资源中。防止当多个会话在读取、锁定以及随后可能进行的资源更新时发生常见形式的死锁。排它 (X) 用于数据修改操作,例如...
2013-04-08 18:18:02 121
原创 数据库脏读、不可重读、幻读
最近忙着开发拎图网,图片社区 喜欢的朋友常来逛逛。谢谢.数据库的事务隔离级别(TRANSACTION ISOLATION LEVEL)是一个数据库上很基本的一个概念。为什么会有事务隔离级别,SQL Server上实现了哪些事务隔离级别?事务隔离级别的前提是一个多用户、多进程、多线程的并发系统,在这个系统中为了保证数据的一致性和完整性,我们引入了事务隔离级别这个概念,对一个单用户、单线程的应...
2013-04-08 17:49:15 412
原创 剖析XMLHttpRequest对象
XMLHttpRequest对象是当今所有AJAX和Web 2.0应用程序的技术基础。尽管软件经销商和开源社团现在都在提供各种AJAX框架以进一步简化XMLHttpRequest对象的使用;但是,我们仍然很有必要理解这个对象的详细工作机制。 一、 引言 异步JavaScript与XML(AJAX)是一个专用术语,用于实现在客户端脚本与服务器之间的数据交互过程。这一技术的优点在于,它向 ...
2013-04-07 00:45:47 105
jQuery对象数据缓存Cache原理及jQuery.data详解
网上有很多教你怎么使用jQuery.data(..)来实现数据缓存,但有两个用户经常使用的data([key],[value])和jQuery.data(element,[key],[value])几乎没有什么文章说清楚它们两的区别,所以我用到了,研究下分享给大家。$("").data([key],[value])与jQuery.data(element,[key],[value])的区...
2013-04-05 15:20:02 124
Hibernate 面试中最常考察的知识点整合
对于Hibernate,面试官最想知道的无非是以下总结这这十多个问题,每个问题都有详细的答案,如果都完全掌握以下的这些问题,那面试时问及Hibernate你还用怕什么呢?让自信伴随着你第一次冲刺吧!一、简述 Hibernate 和 JDBC 的区别、优缺点?JDBC与Hibernate在性能上相比,JDBC灵活性有优势。而Hibernate在易学性,易用性上有些优势。当用到很...
2013-03-26 15:31:26 241
原创 Statement和PreparedStatement区别:
PreparedStatement从Statement继承而来。同构sql:sql语句基本一样,只是具体参数数值不同。异构sql:sql语句完全不一样。Statement不足:1. 效率比较低 2. 对字段类型的支持比较差 3. 语法含义不清晰(结构不清楚)。由于编译不需要参数,PreparedStatement可以使用“?”来替代sql语句中的某些参数,它先将不带参数的s...
2013-03-24 22:56:35 86
原创 SQL语句在数据库中的执行情况
第一步:应用程序把查询SQL语句发给服务器端执行我们在数据层执行SQL语句时,应用程序会连接到相应的数据库服务器,把SQL语句发送给服务器处理。第二步:服务器解析请求的SQL语句SQL计划缓存,经常用查询分析器的朋友大概都知道这样一个事实,往往一个查询语句在第一次运行的时候需要执行特别长的时间,但是如果你马上或者在一定时间内运行同样的语句,会在很短的时间内返回查询结果。原因是:...
2013-03-24 22:27:24 350
SQL 的小知识点
我觉得对于SQL语句,清楚知道它执行的顺序,对于写sql语句非常重要 sql查询中用到的关键词主要包含六个,并且他们的书定顺序依次为 Select--From--Where--Group by--Having--Order by 但这几关键词的执行顺序与sql语句的书写顺序并不是一样的,而是按照下面的顺序...
2013-03-24 13:14:40 202
JAVA GC垃圾收集器的分析
在 很多人看来,java中内存的动态分配与内存回收已经不用用户担心了,因为它给我们提供了GC自动回收 ,感觉一切都进入了自动化了,但是对于各种内存溢出,内存泄漏问题的出现,我们还是很有必要学习GC的。地球人都知道,Java有个东西叫垃圾收集器,它 让创建的对象不需要像C/C++那样delete、free掉,但你能不能谈谈,GC是在什么时候,对什么东西,做了什么事情?” 如果还不是很了解那我们...
2013-03-21 22:42:26 104
数据库三范式
1N:关系R中的属性都是不可分割的项.2N:在1N的基础上,每个非主属性完全函数依赖于码.3N:在2N的基础上,每一个非主属性既不部分依赖于码也不传递依赖于码. 1N | 消除非主属性对码的部分函数依赖 2N | 消除非主属性对码的传递函数依赖 3N | 消除主属性对码的部分和传递函数依赖 BCNF | 消除非平凡且非函数依赖的多值依赖 4N简单描述:第三范式的要求如下: 1,每一列只有一个...
2013-03-17 10:16:50 69
struts2的源代码分析及struts2的工作流程(二)
(4)调用被请求的Action的执行方法。 execute.executeAction(request, response, mapping); public void executeAction(HttpServletRequest request, HttpServletResponse response, ...
2013-03-15 14:03:55 93
struts2的源代码分析及struts2的工作流程(一)
本文通过分析祥细的分析strut2.31的源代码来加深对struts2的认识。使我们在使用struts2框架的时候更有把握更得心应手。(独到的分析,非常祥细,原创)struts2的入口就是一个StrutsPrepareAndExecuteFilter 过滤器,网上的也有很多分析struts2的文章了,但在filter入口这里却一笔略过,其实我觉得先让大家都深入了解filter的原理这后,再一...
2013-03-15 13:47:25 104
JSP标签在tomcat中的运行原理
在网上找了很多关于jsp标签的文章,但大多数都是只是告诉你怎么去使用,怎么去编写一个jsp标签。几乎没有可以从源头上告诉你怎么去理解原理,它在tomcat中又是怎么样的呢?所以我花一点时间整理一编关于jsp标签原理的文章,如有什么不周祥之处还望各位大侠谅解。 首先我们需要大致了解开发自定义标签所涉及到的接口与类的层次结构(其中SimpleTag接口与S...
2013-03-10 01:33:20 257
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人