`
ywu
  • 浏览: 452835 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论
文章列表
类的加载: 将类的.class文件中的二进制数据读入到内存,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用于封装类在方法区内的数据结构;JVM将类的加载过程分为三个步骤:装载、链接、初始化   1.装载: 查找并加载类的二进制数据到内存,加载class文件方式有以下几种: 从本地文件系统加载,通常是我们自己编写的类 通过网络下载.class文件 从zip、jar等归档文件中加载,通常是引用的第三方的jar文件 从专有数据库中提取.class文件 将java源文件动态编译为.class文件 JVM通过类的全限定名及类加载器完成类的加载 ...
在JVM规范中,内存空间主要划分为堆区、栈区、方法区、本地方法栈以及PC寄存器,如下图所示   方法区: 方法区存放的是Class的信息,即类的元数据,如类的名称、修饰符、静态变量、常量、Field、Method等,当在程序中使用反射获取类的信息,如clazz.getMethod()时,就是从方法区来获取这些信息的,方法区是全局共享的,所以一个类对应的Class对象只有一个,哪怕这个类创建了n个实例对象。   堆: 堆区存放对象实例及数组值,程序中通过new关键字创建的对象的内存都在此分配。堆是JVM中所有线程共享的。   PC寄存器: PC寄存器里保存当前正在执行的JVM指 ...
首先,在192.168.137.211服务器上安装memcached服务。下载memcache安装包,memcached-1.4.22.tar.gz,安装也简单,就是解压缩后编译,make在make install   启动memcache服务   Apache配置不变,主要是配置tomcat的context.xml 修改tomcat的conf/context.xml,加入如下配置: <Context> <!-- Default set of monitored resources --> <WatchedResource>WEB-IN ...
默认tomcat的session是存储在内存中的,当tomcat关闭时,session会存储到文件系统中,这里使用NFS共享文件系统,将不同tomcat服务器上的指定目录共享,然后将tomcat的session持久化到指定目录,达到同步的效果。 NFS的安装及配置这里就不详述了,网上有很多教程,可以查看这篇博客 http://www.cnblogs.com/mchina/archive/2013/01/03/2840040.html 需要注意的是,在CentOS6以上,portmap已经改名了,可以安装portreserve,如果使用rpm安装,启动命令为service rpcbind ...
打开tomcat的配置文件conf/server.xml,在主机Host元素中加入如下配置: <!-- 集群配置 --> <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8"> <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown=& ...
环境同使用mod_jk配置负载均衡相同,不同的是,使用mod_proxy相关模块及指令替换mod_jk。注意,mod_jk跟mod_proxy不能同时使用,去掉或注释之前使用mod_jk方式配置的负载均衡。   修改Apache的httpd.conf配置文件   1:加载必要的模块,使用ajp协议与后端tomcat通信 2:以balancer://开头的Proxy指令会创建一个虚拟的worker,来管理真实的tomcat worker实例 3:BalancerMember配置真实的tomcat worker实例 4:loadfactor指定负载因子,取值范围为0-100,取值越 ...
配置负载均衡至少需要两台tomcat,按照同样的方式,在虚拟机中安装一台centos Linux服务器,名称为centOS-2,其分配的ip地址为 192.168.137.243,安装好tomcat,因此,目前的环境看起来是这样的 服务器 软件 ip CentOS apache 192.168.137.16
Apache从2.2版本开始支持mod_proxy模块,默认情况下该模块是没有安装的,我们先安装该模块 进入Apache存放模块的源码目录   编译模块     至此,使用mod_proxy方式需要的模块就都安装好了   查看下Apache的httpd.conf配置文件,安装的模块自动加载了   使用mod_proxy模块提供的指令分配请求   第一行表示关闭正向代理 第二行表示从原始的请求中传递请求的主机信息到ajp连接 第三、四行指定请求分发规则,第三行表示以/shade/static/开头的请求不转发,第四行表示以/shade/开头的请求转发到192 ...
准备一个测试用的servlet小程序(见附件)     一个servlet,访问这个servlet会跳转到首页index.jsp,static中存放静态资源,把这个工程打成war包,放入到tomcat的webapps目录(ip为192.168.137.211),启动tomcat,访问一下   我们的页面还是很漂亮的   简述一下tomcat的结构 这个架构跟tomcat conf/server.xml中的配置大体上是一致的   默认的,我们在通过8080端口访问tomcat的时候,使用的是tomcat的http连接器,此连接器能提供静态和动态资源服务,tomcat ...
六、安装Apache 用虚拟机重新安装一台Linux服务器,来安装Apache。 同样,用WinSCP将Apache安装包 httpd-2.2.31.tar.gz 上传到服务器 /usr/local 目录下   进入 /usr/local 目录,解压缩安装包   安装    发现安装失败了,这是因为编译 ...
四、jdk安装 安装jdk,首先要把安装包放入到Linux服务器中。由于我们在启动Linux时,网络适配器选择的是 仅主机模式  也就是说安装好的Linux只能访问宿主主机,并不能访问外网,所以无法使用wget、yum(光盘源除外)等命令下载或安装jdk。这里,由于Linux安装在虚拟机中,而虚拟机能直接访问(非远程访问),可以使用WinISO等软件制作一个镜像,把jdk的安装包打进去,使用Linux的mount命令将镜像挂载后操作。但还是稍显麻烦,使用另一种方式,用ftp工具WinSCP,将jdk安装包上传到Linux服务器。   启动服务器,进入到/usr/local目录,创建一 ...
本篇介绍  Apache+Tomcat实现负载均衡及集群 的环境搭建   一、软件准备 虚拟机:VMware® Workstation 11.1.0 build-2496824 Linux:一台rhel-server-6.5-x86_64、两台CentOS-6.3-i386 Apache:httpd-2.2.31.tar.gz jdk:jdk-6u45-linux-i586 Tomcat:apache-tomcat-6.0.43.tar.gz   二、VMware安装 VMware安装比较简单,双击后直接下一步,直到完成,这里就不详细介绍了   三、Linux安装 ...
  Tomcat不多说了,是比较流行的web、app服务器。之所以说是web、app服务器,是因为Tomcat即能提供web服务器的功能,又能提供app服务器(应用服务器的功能)。web服务器和app服务器的主要区别在于web服务器主要提供静态资源(html、css ...
本系列博客是在日常开发中遇到的各类异常、问题的分析总结。   今天在测试功能的时候,控制台抛出了java.io.NotSerializableException: java.util.RandomAccessSubList异常,具体的堆栈信息如下:java.io.NotSerializableException: java.util.RandomAccessSubListat java.io.ObjectOutputStream.writeObject0(Unknown Source)at java.io.ObjectOutputStream.writeObject(Unknown So ...

equals

说明: 本系列博客是本人在工作中遇到的一些问题的整理,其中有些资料来源网络博客,有些信息来自出版的书籍,掺杂一些个人的猜想及验证,总结,主要目的是方便知识的查看,并非纯原创。本系列博客会不断更新。原创不容易,支持原创。对于参考的一些其他博客,会尽量把博客地址列在博客的后面,以方便知识的查看。   本篇博客可以看做是《Effective Java中文版
Global site tag (gtag.js) - Google Analytics