去买本jvm的书吧
这样的问题怎么答阿,就好比食物是怎么消化的,凹凸曼也不知道
这样的问题怎么答阿,就好比食物是怎么消化的,凹凸曼也不知道
解决方案 »
- JAVA 多线程的问题
- java初学者提问
- org.apache.commons.net.ftp.FTPClient连接服务器超时
- 关于继承的问题
- 怎么样解决在JSP中网页的显示速度慢的问题
- 在不同的环境Workbook.getWorkbook(new FileInputStream(excelfile)); 读取excel文件的错误
- 正在国外学java,老外的题目,求指点,已翻译
- 如何对哈希表进行动态赋值?举例来说明?谢谢!
- java连接mySQL数据库的问题,连接数据库什么的都没问题,但插入数据的操作运行不了!!不知道什么原因,求大神赐教!!!感激涕零!!
- 自己练习写的jframe窗体,运行后右面的button等都没显示,请赐教
- 一个布局管理器问题
- 关于SWING的addComponentListener方法实现组件重新定位的问题
java 的四大核心技术是,Java 语言,字节码格式.class,Java API,JVM。JVM主要由 ClassLoader 子系统和执行引擎子系统组成
运行数据区分为五个部分,他们是方法区,堆,栈,指令寄存器,本地方法栈
帧有三部分组成分别是局部变量,操作数栈和帧数据。每个 JVM 都可以有多个类装载器ClassLoader,同一个类可以加载多次到不同的 ClassLoader 中,类跨ClassLoader是不可见的,而在同一ClassLoader中是可直接访问的,这样可以隔离一些不安全的类。执行引擎,应该是JVM的核心了,把它看作指令集合。每一个线程都有一个自己的执行引擎,JVM指令用一个字节表示,也就是JVM最多有256个指令,目前JVM已有160个指令。就有这百十个指令组成了我的系统,JVM指令一般只有操作码没有操作数,一般操作数放在常量池和Java栈中,设计指令集的最重要的目标应该是平台独立性,同时在验证bytecode也比较方便。jvm大概是用c编写的,模拟操作系统,执行的只是.class文件。类装载器是分层的,类装载器是用java语言编写的。如何执行程序?
首先是执行引擎执行类装载器,类装载器加载类,,然后根据.class文件的内容进行解析,解析到内存的数据运行区然后运行,。
一般情况下,当我们从客户发出一个请求动作时,服务器首先会出处理这一动作,之后通过调用request.getRequestDispatcher(“”).forward(request, response)方法把处理之后的要显示的内容返回给浏览器显示。
如果在一段时间内,有大量的请求动作,服力器要消费巨大的资源处理这些动作,会给服务器带来巨大的压力,除此之外当我们在不同时间内有两相同请求的动作时,服务器端仍然是做两次相同的处理,由此产生了冗余的处理。
为了减轻服务器端处理大量的请求动作所产生的压力、服务器端冗余的处理,于是我们在访问量比较少的时间段内对用户的所有请求动作进行请求,并产生处理好的页面数据。当用户再次访问时,服务器端就不需要再耗费有限的资源去处理,而是直接把事先通过处理产生静态页面返回给用户。从而可以解决服力器端处理请求的压力、去除服务器端冗余的处理。
在一固定的时间间隔内对用户的所有请求进行处理,并产生相应的静态页面。
具体做法:
1、 在项目增加ServletContextListener临听器,当项目重新部署时从资源文件SysConfig.properties中读相应的配置参数。参数包括是否在特定的时间产生html页面,如果是的话,具体产生的时间。
2、 并在ServletContextListener 中起一定时器,每一段时间(例如24小时)对产生一套最新的html页面。
3、 通过分析数据库中相关的表把所有的用户动作都建立HttpURLConnection连接并产生相应的html页面,并把这一动作和此动作产生的页面之间的映射存入表actionmappinghtml中。
4、 之后,当用户在从客户端发出动作时,服力器则直接把其动作对应的页面返回给用户。
当用户修改页面时,为了避免下次用户请求此页面时,服务器端再去处理。当用户修改页面时,把服务器所处理的结果保存成页面,当下次用户请求此页面时,直接把此页面返给用户。
具体做法:
1、 当用户发出一修改页面的动作时,我们的就建立此动作的HttpURLConnection连接,HttpURLConnection连接并产生相应的html页面,并把这一动作和此动作产生的页面之间的映射存入表actionmappinghtml中。
2、 之后,当用户在从客户端发出动作时,服力器则直接把其动作对应的页面返回给用户。
而方法,其功能是解决某个问题。