- 浏览: 48136 次
- 性别:
- 来自: 深圳
最新评论
文章列表
这段时间,接触了好多新东西,无论是业务还是技术上,算是长见识了。
1、maven
接触了Maven这个项目构建工具,有了maven,可以很好地帮你管理jar包,特别地,可以把jetty插件包内嵌到maven构建中去,开发人员无需安装服务器即可运行web应用,It's nice,以前我一直以为开发人员必须自己安装一个开发服务器才能运行
2、git
这个开源的分布式版本控制管理系统,用以有效、高速的处理从很小到非常大的项目版本管理。对于版本控制工具,接触过svn,startteam。最坑爹额莫过于startteam,总是吃光内存,速度超级慢。sv ...
造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个:
1、监听服务没有启动
windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务。
2、数据库实例没有启动
windows平台如下操作:开始---程序---管理工具---服务,打开服务面板,启动oracleserviceXXXX,XXXX就是你的database SID.
3、注册表问题
解决方法:
(1)进入cmd,填写regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量O ...
集合包(实现方式以及性能对比)
- 博客分类:
- Java
Java程序设计语言+Java虚拟机+API类库统称为JDK。
对于构建分布式Java应用而言,最重要的有集合、并发、网络(包括网络BIO以及网络NIO)以及序列化,反序列化。
一、集合包
集合包是Java最常用的包,最常用的有Collection和Map两个接口实现的类,Collection用于存放单个对象,Map用于存放Key-Value形式的键值对。
1、Collection中常用的又分为两个子接口:List和Set,两者明显的区别是List支持重复的对象,而Set不能。
List实现的类有:ArrayList/LinkedList/Vector/Stack ...
从Java虚拟机出发,有两类不同的类加载器:
1、启动 类加载器 (Bootstrap ClassLoader,使用C++实现,是虚拟机自身的一部分)。
2、所有其他类加载器(均由Java语言实现,独立于虚拟机外部,并且全部都继承自抽象类java.lang.ClassLoader)。
从Java开发人员的角度看,类加载器划分为:
1、启动类加载器:负责加载<java-home>\lib目录中的类库。
2、扩展类加载器(Extension ClassLoader):负责加载<java-home\lib\ext>目录中的所有类库。
3、应用程 ...
类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括了:加载、验证、准备、解析、初始化、使用、卸载共7个阶段。
加载、验证、准备、初始化和卸载这5个阶段顺序是一定的,类的解析阶段则不一 ...
Java和C++之间有一堵又内存动态分配和垃圾收集技术所围成的高墙。
对于Java程序员来说,虚拟机的自动内存管理机制的帮助下,不需为每个new操作去写配对的delete/free代码,而且不容易出现内存泄漏和内存溢出的问题,看起来虚拟机管理一切都很好,但是一旦出现了内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那排查错误将变得很困难。
Java虚拟机在执行Java程序的过程中会把所管理的你存划分为若干个不同的数据区域。这些都有各自的用途和生命周期,有的数据区域随虚拟机进程的启动而存在,有些则依赖用户线程的启动和结束而建立和销毁。
Java虚拟机所管理的内存将会包括 ...
- 2012-08-05 23:18
- 浏览 808
- 评论(0)
一、概述
HTTP,超文本传输协议,应用层的协议,是基于请求/响应模式的、无状态的协议。客服端与服务端建立连接后,向服务器发送一个请求,服务器对这个请求进行处理,然后返回一个响应信息,之后双方的连接关闭(H ...
观察近来的一些安全事件及其后果,安全专家们已经得到一个结论,这些威胁主要是通过SQL注入造成的。虽然前面有许多文章讨论了SQL注入,但今天所讨论的内容也许可帮助你检查自己的服务器,并采取相应防范措施。
SQL注入攻击的种类
知彼知己,方可取胜。首先要清楚SQL注入攻击有哪些种类。
1.没有正确过滤转义字符
在用户的输入没有为转义字符过滤时,就会发生这种形式的注入式攻击,它会被传递给一个SQL语句。这样就会导致应用程序的终端用户对数据库上的语句实施操纵。比方说,下面的这行代码就会演示这种漏洞:
statement := "SELECT * FROM users ...
HTTP错误状态信息(全)
1xx - 信息提示
这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。
100 - 继续。
101 - 切换协议。
2xx - 成功
这类状态代码表明服务器成 ...
深入使用Struts 2
4.1 详解Struts 2的类型转换
4.2 使用Struts 2的输入校验
4.3 使用Struts 2控制文件上传
4.4 使用Struts 2控制文件下载
4.5 详解Struts 2的拦截器机制
4.6 使用Struts 2的Ajax支持
4.7 本章小结
深入使用Struts 2
回忆内容:
上一章介绍了Struts 2框架的基本知识,包括Struts 2框架的核心知识、常规配置、Convention插件提供的约定支持、异常配置、国际化和标签库的内容。
本章内容:
这一章将介绍类型转换器、输入校验器、文件上传、拦截器、Struts 2的 ...
3.1 MVC思想概述
3.2 Struts2的下载与安装
3.3 Struts2的流程
3.4 Struts2的常规配置
3.5 实现Action
3.6 配置Action
3.7 配置处理结果
3.8 配置Struts2的异常处理
3.9 Convention插件预“约定”支持
3.10使用Struts2的国际化
3.11 使用Struts2的标签库
Struts2由Struts1和WebWork两个经典MVC框架发展起来,提供更强大更易用的输入校验功能,整合的Ajax支持
3.1 MVC思想概述
传统的JavaWeb应用经历了Model1和Model2两个时代。 ...
MySQL套接字被误删:
1、首先要知道mysql.socket的作用是什么?
为主机名为localhost建立的MySQL连接,该连接过程通过一个套接字文件mysql.socket实现的。所以该文件被删后,用localhost用户是连接不到MySQL服务器的。
2、鉴于1所说
必须建立一条tcp/ip连接,即使用127.0.0.1而不是localhost作为-h的参数去连接MySQL服务器,如:mysqladmin -h 127.0.0.1 -u root -p shutdown,强制地建立一条tcp/ip连接,关闭MySQL服务器,再重新以localhost为 ...
JSP(Java Server Page)和Servlet是JavaEE规范的两个基本成员,他们是JavaWeb开发的重点知识,也是JavaEE开发的基础知识。JSP和Servlet本质是一样的,因此JSP最终必须编译成Servlet才能运行,或者说JSP指示生成Servlet的“草稿”文件。Html+JSP标签(or自定义标签)。
除JSP外,表现层技术还有FreeMaker/Velocity/Tapestry等
JavaEE6规范的应用服务器或支持Servlet3.0的Web服务器-----如Tomcat7.X
2.1 Web应用和web.xml文件
web.xml又称配置描述符, ...
当某个应用获得用户的认可后,会不断的发展。发展体现在两方面,一是系统多元化,二是系统访问量,这两方面也会带来一些问题。
第一个发展带来的问题是,当要修改某部分时,所有系统都要修改。解决方法:可采用对各个系统的共用逻辑的部分进行抽象的方法,形成多个按领域划分的共用业务逻辑系统。
第二个系统访问量带来的问题,通常采用拆分系统的方法来解决。
-------
在构建了共用业务逻辑系统和拆分系统后,最明显的问题是系统之间如何交互,如果不控制多个系统之间存在的多种交互方式,会造成重复造轮子的问题。
对于上诉问题,很容易想到一种解决方式,即统一各个系统的交互方式,SOA无疑是最好的选 ...
首先,说明什么是分布式Java应用? 大型应用通常会拆分为多个系统来实现,对于Java来说,这些子系统可能部署在同一台机器的多个不同的JVM中,也可能部署在不同的机器上,但这些子系统又不是完全独立的,而且要相互通信来实现共同的业务功能,对于此类应用,我们称之为分布式Java应用。
有两种方式可实现系统间的通信,1是:基于消息方式实现系统间的通信,2是:基于远程调用方式实现系统间的通信。
一、基于消息方式 系统之间要通信是,就向外发送信息,消息可以是字节流、字节数组、甚至是Java对象(经序列化的对象),其它系统接收到消息后则进行相应的业务逻辑。
消息方式的系 ...