- 博客(127)
- 资源 (12)
- 收藏
- 关注
原创 关于Socket高并发的原理介绍及使用Apache Mina带来线上的问题分析
今天给大家分享一个线上出现的问题,顺便普及一下关于Socket通信的一些常识。上周在线上出现了一个很低级的问题,但是正是这个低级的问题引起了我的兴趣,其实所谓的低级是因为配置文件配置错了,原本线上是为每个客户端设置了一个席位,就说是客户端的配置内容是不同的,但是由于部署的人员将两个客户端席位设置的一样,这时候连接服务端的时候会出现问题,服务端的设置的策略是同一时刻只能有一个席位在线,接下来就开...
2018-09-03 11:45:26
1775
原创 轻松学习设计模式之面向对象的设计原则
对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一。在面向对象设计中,可维护性的复用是以设计原则为基础的。每一个原则都蕴含一些面向对象设计的思想,可以从不同的角度提升一个软件结构的设计水平。面向对象设计原则为支持可维护性复用而诞生,这些原则蕴含在很多设计模式中,它们是从许多设...
2018-07-10 20:41:25
307
原创 轻松学习设计模式之设计模式认知篇
今天笔者带领大家一起来学习一下设计模式,首先我们需要了解以下几个问题: 1. 什么是设计模式? 2. 设计模式是用来做什么的? 3. 怎样学习设计模式? 4. 在实际项目中如何应用设计模式? 伴随着上面的问题,我们逐步开始今天的话题,要想开始学习设计模式,我们必须要对它有一个了解,这样才能更好的理解和应用,在我看来设计模式就是一种成熟的面向对象软件开发体系定义的一系列开发标准或者开发方...
2018-07-08 15:30:17
334
原创 《Spring敲门砖之基础教程第一季》 第一章 概要介绍
Spring是什么?Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。
2016-08-12 08:37:13
643
转载 【推荐】Java工程师如何从普通成为大神值得一读
本文源自 http://www.hollischuang.com/archives/489一点感悟 java作为一门编程语言,在各类编程语言中作为弄潮儿始终排在前三的位置,这充分肯定了java语言的魅力,在实际项目应用中,我们已经无法脱离javaa(Ps当然你可以选择不使用),但它的高性能,稳定性,扩展性已经深入到每一个java编程工程师的骨髓里,随着时间的推移,我相信更多的
2016-08-07 11:21:11
13064
3
原创 Spring框架知识总结-注入Bean的各类异常 24小时内最新
近日整合sping和hibernate框架时遇到了一系列的异常,本次主要说明一下spring框架可能出现的异常及解决方案。我们借助sping强大的bean容器管理机制,通过BeanFactory轻松的实现javabean的生命周期管理,然而在配置管理的时候难免会遇到一些异常:异常1:No qualifying bean of type […] found for dependenc
2016-08-07 09:11:10
1855
转载 循序渐进Socket网络编程(多客户端、信息共享、文件传输)
循序渐进Socket网络编程(多客户端、信息共享、文件传输) 前言:在最近一个即将结束的项目中使用到了Socket编程,用于调用另一系统进行处理并返回数据。故把Socket的基础知识总结梳理一遍。1、TCP/IP协议 既然是网络编程,涉及几个系统之间的交互,那么首先要考虑的是如何准确的定位到网络上的一台或几台主机,另一个是如何进行可靠高效的数据传输。这里就要使
2014-01-26 09:30:42
1599
1
转载 Struts2 的国际化实现
以前一直看见 i18N ,现在才知道原来 i18N 就是 Internationalization,因为以 i 开头,以 N 结尾,共18个字母,也就是国际化的意思。在百度搜索主页上没有看见中英文的切换,毕竟百度在中国是为了中国人而设计的,没必要弄个英文的切换。google搜索主页上是有的,因为谷歌在中国的服务器放到了香港,所以还有繁体切换。这是怎么做到的呢?其实原理很简单,用Struts2很容易
2014-01-23 10:01:54
638
转载 Struts2:ValueStack
一、ValueStack 1 .ValueStack是一个接口,在struts2中使用OGNL(Object-Graph Navigation Language)表达式实际上是使用 实现了ValueStack接口的类OgnlValueStack.它是ValueStack的默认实现类. 2 .ValueStack贯穿整个action的生命周期,每一个a
2014-01-23 10:01:11
692
转载 一位10年程序员生涯的骨灰给小弟弟小妹妹们的一些总结性忠告
走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的10年的路程,有些心得体会你可以借鉴一下,觉得说得有道理的你就接纳,觉得说得没道理的,你就抛弃,以下是我发自内心的,给大家的忠告,特别是针对那些小弟弟妹妹们。 01. 自己的户口档案、养老保险、医疗保险、住房公积金一定要保管好。 由于程序员行业每年跳槽一次,我不隐瞒大
2014-01-23 09:59:40
912
转载 集合类接口和类层次关系图
1. Collection vs Collections首先,“Collection”和“Collections”是两个不同的概念。你可以从下面的层次关系图中看到,”Collection”是集合层次的顶层接口,而”Collections”是提供了操作集合类型的静态方法的类。2. 集合类层次关系图下图是集合类的层次关系图3. Map的类层次结构关系图
2014-01-20 12:36:50
1793
转载 什么是内存泄漏
Java最显著的优势之一就是它的内存管理机制。你只需简单创建对象,然后Java垃圾回收机制便会小心的分配和释放内存。然而,事实并非如此简单,因为在Java应用程序中经常发生内存泄漏。本教程说明了什么是内存泄漏,为什么会发生,以及如何防止它们。1.什么是内存泄漏?内存泄漏的定义: 对象不再被应用程序使用,但是垃圾回收器却不能移除它们,因为它们正在被引用。要理解这个定义
2014-01-20 12:35:50
532
转载 JDK6和JDK7中的substring()方法
substring(int beginIndex, int endIndex)在JDK6与JDK7中的实现方式不一样,理解他们的差异有助于更好的使用它们。为了简单起见,下面所说的substring()指的就是substring(int beginIndex, int endIndex)方法。1.substring()是做什么的?substring(int beginIndex ,i
2014-01-20 12:33:55
661
原创 《那些事之Log4j》什么是log4j?【专题一】
Log4j 简介在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作;跟踪代码运行时轨迹,作为日后审计的依据;担当集成开发环境中的调试器的作用,向文件或控制台打印代码的调试信息。最普通的做法就是在代码中嵌入许多的打印语句,这些打印语句可以输出到控制台或文件中,比较好的做法就是构造一个日志操作类来封装此类操
2014-01-16 11:24:42
640
原创 java必备基础知识(一)
学习的一点建议:每一门语言的学习都要从基础知识开始,学习是一个过程,“万丈高楼平地起”,没有一个好的地基,想必再豪华的高楼大厦终究有一天会倒塌。因此,我们学习知识也要打牢根基,厚积薄发。不要觉得学习基础知识很枯燥乏味,觉得很简单,我都会,无所谓的态度,到某一天真正用到知识点的时候,才知道翻课本找概念。对于学习,我在这里多说两句,个人觉得一个好的学习方法,不但提高了学习效率,而且对于知识的掌握也
2013-12-23 14:34:29
783
原创 JAVA采用JDBC连接操作数据库详解
JDBC连接数据库概述一、JDBC基础知识JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,
2013-12-23 14:33:18
18031
2
转载 Java中构造方法的执行顺序
一、先执行内部静态对象的构造方法,如果有多个按定义的先后顺序执行;静态对象在构造的时候也是也先执行其内部的静态对象。二、再调用父类的构造方法(父类还有父类的话,从最开始的基类开始调用),如果没有明显指定调用父类自定义的构造方法,那么编译器会调用默认的父类构造方法super()。但是如果要调用父类自定义的构造方法,要在子类的构造方法中明确指定。三、按声明顺序将成员引用对象变量初始化。四、
2013-12-18 12:18:12
835
转载 Oracle复杂查询
1:列出所有员工的姓名,部门名称,和工资select a1.ename,a1.sal,a2.dname from emp a1,dept a2 where a1.deptno = a2.deptno;2:列出所有部门的详细信息和部门人数select a2.deptno,a2.dname,a2.loc,count(a1.empno) from emp a1,dept a2 where a
2013-12-17 10:54:47
555
原创 java的InputStream和InputStreamReader有什么区别??
解释一:InputStream 此抽象类是表示字节输入流的所有类的超类InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,否则可能接受平台默认的字符集。 每次调用 InputStreamReader 中的一个 read()() 方法都会导致从基础输入流读取一个或多
2013-12-16 17:01:17
885
转载 Struts2的模型驱动
Struts2即支持属性驱动,也支持模型驱动属性驱动:在Action中提供与表单字段一一对应的属性,然后一一set赋值模型驱动:使得表单字段都自动被set到一个JavaBean中,类似于Struts1.X的ActionForm采用属性驱动的方式时,是由每个属性来承载表单的字段值,运转在MVC流程里面采用模型驱动的方式时,是由模型对象来承载所有的属性值,运转在MVC流程里面若使用
2013-12-16 09:01:05
876
转载 java实现简单的单点登录
java实现简单的单点登录摘要:单点登录(SSO)的技术被越来越广泛地运用到各个领域的软件系统当中。本文从业务的角度分析了单点登录的需求和应用领域;从技术本身的角度分析了单点登录技术的内部机制和实现手段,并且给出Web-SSO和桌面SSO的实现、源代码和详细讲解;还从安全和性能的角度对现有的实现技术进行进一步分析,指出相应的风险和需要改进的方面。本文除了从多个方面和角度给出了对单点登录(SSO
2013-12-10 19:43:16
974
转载 struts2中的国际化
[java] view plaincopy实现struts2中国际化其实非常简单 首先,struts2中的国际化是通过资源文件来配置的。资源文件分为:action类级,package类级,还有webapp类级的1.action类级的:新建一个.properites的资源文件。命名必须规范:action名_编码_地
2013-12-10 16:11:54
483
原创 经典名言名句(摘抄)
经典语录 1:哈佛有一个著名的理论:人的差别在于业余时间,而一个人的命运决定于晚上 8 点到 10 点之间。每晚抽出 2 个小时的时间用来阅 读、进修、思考或参加有意的演讲、讨论,你会发现,你的人生正在发生改变,坚持数年之后,成功会向你招手。不要每天抱着 QQ/MSN/ 游戏 / 电影 / 肥皂 剧 …… 奋斗到 12 点都舍不得休息,看就看一些励志的影视或者文章,不要当作消遣;学会思考人
2013-12-10 16:09:14
996
转载 Struts2学习笔记 国际化(Internationalization)
概述国际化(Internationalization),通途的讲,就是让软件实现对多种语言的支持。可以通过简单的设置就可以从一种语言切换到另一种语言。用的最多的地方就是在应用程序的界面表示上。我们经常接触到一些软件,他们支持多种语言,并且可以随用户的切换。比如我们常用的eclipse就是。通常在实现多语言支持时尽量保持亮点:(1)不给软件开发带来过多的额外负担。(2)实现语
2013-12-10 16:03:01
849
转载 struts2 404处理
目前在做一个网络应用程序,struts2 + spring + hibernate,服务器是tomcat。希望用户在IE地址栏乱敲的时候,所敲入的所有未定义的URL都能被程序捕捉到,然后转到一个自制的404错误处理页面。首先查阅网上的资料,得知可以在web.xml中加入这么一段: 404 /error/404.jsp这样,所以未找到的404错误都会转到/error/
2013-12-09 20:37:15
725
原创 Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds
错误 :Server Tomcat v6.0 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor. 也就是我们限定了部署的时间导致的错误。修改 works
2013-12-09 08:44:27
10339
原创 java web移植 遇到Project facet Java version 1.7 is not supported
在移植eclipse项目时,如果遇到“Project facet Java version 1.7 is not supported.”项目中的jdk1.7不支持。说明项目是其他版本jdk编译的,在eclipse里运行时会报版本不支持。解决办法:法1,选中项目 Properties , 选择 Project Facets,右击选择 Java , Chan
2013-12-09 08:20:59
4362
1
原创 Eclipse 整合cvs教程及遇到的问题
今天看着视频教程学习cvs版本管理,现在很多企业开发或许都采用了版本管理器,因为这样可以更好的进行团退开发与代码管理,所以学习一种版本管理技术还是很重要的。最原始的独立版本管理是由两部分组成的,一个是客户端,一个是服务器端,我们在本地使用客户端进行check out,读取服务器端的文件,接着进行本地的修改,然后再提交到服务器端,这样再下次进行check out的时候,就可以看到新的版本啦。
2013-12-04 16:50:22
2739
转载 Struts2中的OGNL详解
首先了解下OGNL的概念:OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性类型的转换等功能。此外,还得先需弄懂OGNL的一些知识: 1.OGNL表达式的计算是围绕OGNL上下文进行的。OGNL上
2013-12-02 20:25:04
540
转载 java反射机制初探
最近和一位师兄交流了一下Java,真可谓是大有收获,让我好好的学习了一下javad的反射机制,同终于明白了spring等框架的一个基本实现的思想,那么今天就和大家分享一下java的反射机制。 反射,reflection,听其名就像照镜子一样,可以看见自己也可以看见别人的每一部分。在java语言中这是一个很重要的特性。下面是来自sun公司官网关于反射的介绍: Ref
2013-12-01 20:18:42
497
原创 java学习基础
Q: What if the static modifier is removed from the signature of the main method?A: Program compiles. But at run time throws an error "NoSuchMethodError".1、public:java类是由JVM调用的,显而易见为了让JVM可以自由的调用m
2013-11-26 20:31:03
476
原创 java学习基础
java interview Q:What is the difference between an Interface and an Abstract class?A:An abstract class can have instance methods that implement a default behavior. An Interface
2013-11-26 20:14:10
493
原创 java基础学习笔记
Q: What if the main method is declared as private? 如果将主函数声明为私有类型的会怎样?A: The program compiles properly but at run time it will give "Main method not public." message. 程序编译的时候会通过但是在运行时会报错“主函
2013-11-26 19:44:40
574
原创 J2EE项目开发流程简介
开发流程(一)提出需求:产品部提出本周期项目的具体需求。项目计划:项目经理协调开发部、测试部和产品部进行需求协商,产生项目计划。需求理解:开发部和测试部向产品部提出各自对需求的理解。产品设计:开发部进行各个模块的设计。源码开发:开发人员写出源码(包括数据库的改动和数据准备)。开发流程(二)产品测试:测试部根据产品需求对产品功能进行测试。产品发布:系统部将产品发布
2013-11-25 16:46:21
2293
1
转载 Struts2中的校验框架
Struts2提供的客户端校验尽管这种支持比较弱,但采用Struts2中的客户端校验时需要注意以下几点1..将的validate属性设置为TRUE2..不能将的theme属性设置为simple3..建议将的action和namespace属性分开写4..可以在页面中使用标签来引入样式5..最好不要使用Struts2提供的客户端校验设置validate="true"之前和
2013-11-25 14:35:05
675
转载 Struts2 标签库详解2
Struts2标签库包括:OGNLStruts2标签分类控制标签 :(if, elseif,else, iterator, append, merge, generator, subset, sort)数据标签 :(bean, param,date, debug, include, set, url, push)OGNL Object-
2013-11-18 20:18:05
633
转载 Struts2 标签库讲解
要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可:struts2的标签共分为五大类:一、逻辑控制标签用于进行逻辑控制输出。主要分以下几类:1)条件标签:用于执行基本的条件流转:拥有一个test属性,其表达式的值用来决定标签里内容是否显示。欢迎hzd:同上。2)迭代标签:用于遍历集合(java.ut
2013-11-18 20:13:21
778
转载 struts2标签库
struts2标签库 文本框输入文字 struts2标签是struts2的重点,和action配合使用,就是struts2的重点。第一次使用struts2,就觉得比 jsp/servlet这样的方案,容易多了。 在jsp放个input之类的文本框,在servlet中用request.getParameter() 来获取值insert数据库,然后再用request.setAttrib
2013-11-18 20:09:50
873
转载 Struts2中有关struts-default.xml,struts.xml,struts.properties文件详解
1) struts-default.xml这个文件是struts2框架默认加载的配置文件。它定义struts2一些核心的bean和拦截器。 xml version="1.0" encoding="UTF-8" ?>DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configurati
2013-11-18 20:01:10
803
学生基本信息查询系统java版
2013-09-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人