`
文章列表

我的学习

    这段时间,接触了好多新东西,无论是业务还是技术上,算是长见识了。     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虚拟机+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、应用程 ...

类加载过程

    博客分类:
  • Java
类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括了:加载、验证、准备、解析、初始化、使用、卸载共7个阶段。   加载、验证、准备、初始化和卸载这5个阶段顺序是一定的,类的解析阶段则不一 ...
  Java和C++之间有一堵又内存动态分配和垃圾收集技术所围成的高墙。   对于Java程序员来说,虚拟机的自动内存管理机制的帮助下,不需为每个new操作去写配对的delete/free代码,而且不容易出现内存泄漏和内存溢出的问题,看起来虚拟机管理一切都很好,但是一旦出现了内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那排查错误将变得很困难。   Java虚拟机在执行Java程序的过程中会把所管理的你存划分为若干个不同的数据区域。这些都有各自的用途和生命周期,有的数据区域随虚拟机进程的启动而存在,有些则依赖用户线程的启动和结束而建立和销毁。   Java虚拟机所管理的内存将会包括 ...

解析HTTP

    博客分类:
  • Web
  一、概述   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又称配置描述符, ...

SAO简单认识

    博客分类:
  • Java
   当某个应用获得用户的认可后,会不断的发展。发展体现在两方面,一是系统多元化,二是系统访问量,这两方面也会带来一些问题。    第一个发展带来的问题是,当要修改某部分时,所有系统都要修改。解决方法:可采用对各个系统的共用逻辑的部分进行抽象的方法,形成多个按领域划分的共用业务逻辑系统。    第二个系统访问量带来的问题,通常采用拆分系统的方法来解决。 -------   在构建了共用业务逻辑系统和拆分系统后,最明显的问题是系统之间如何交互,如果不控制多个系统之间存在的多种交互方式,会造成重复造轮子的问题。   对于上诉问题,很容易想到一种解决方式,即统一各个系统的交互方式,SOA无疑是最好的选 ...
   首先,说明什么是分布式Java应用?    大型应用通常会拆分为多个系统来实现,对于Java来说,这些子系统可能部署在同一台机器的多个不同的JVM中,也可能部署在不同的机器上,但这些子系统又不是完全独立的,而且要相互通信来实现共同的业务功能,对于此类应用,我们称之为分布式Java应用。    有两种方式可实现系统间的通信,1是:基于消息方式实现系统间的通信,2是:基于远程调用方式实现系统间的通信。   一、基于消息方式   系统之间要通信是,就向外发送信息,消息可以是字节流、字节数组、甚至是Java对象(经序列化的对象),其它系统接收到消息后则进行相应的业务逻辑。     消息方式的系 ...
Global site tag (gtag.js) - Google Analytics