
计算机专业面试或笔试中常见的技术问题.docx
4页NO1JAMA和C++在处逐内有上有什么区利由吃的庄存管客.质上就是州的内存菅至洲的内存分为两部分:g和heap (雄和栈儿Stack〔栈}是内存指令区°基辕零 矣型,血日指斜弋码,常量都存右sta山中.heap :堆)是内存数据区.hea传门用来翻对象的实洌r实毓上也朝存对象实例的房性佰r 属性苗美型和对惫本身的类型标携,芦不惧荐对象依方法(方法是指令,^SStackQ),对象实例在heap畅闱好后需要右S/k中保存1 个悖漩h唧内制t,甲来定位读对象在11浏畔的障r以便拢勘翘象卖佻迥怀存在内存管理间题|系鸵自动管理| heap中的对独由GC负责垃圾回收.GC娜惟的赡:GC迁崩再脚heap .傩白ta虫中儡那岳5对衲扫捕heap ,奇Sheap中俄这野寸象,临一纶化,并 且假设hea酷的没有扫描到区皤是空闲的f獭「efresti (实际上是把stac时丢失对象地址也无用对象侑除了) ,这就是垣圾回收的过程在C-+牝内存分为5个区,他门分别是堆、根自由存储区 全渴/懿存储区和常星存偌区楼:装样器自动管理,里面酸既局部查星、囹数参数芸:可以用日1成函教分配)堆:由new分配的内存块,用姓踌放自由存储区:由malb(汾国,用free释放和埃很相g笔膏挪区:全司涌]够趣常勤储区:常量NO2stmts工作睫:在St「uts工作流程中担任剧器角色的是acrionServelt r虞承自httpSewt廊有喜户的请求都必戳送查控制器r对于 日ctonServlet来诣,doget0会调用dopost。
然后ActionSe「vetii过配散件struts- config.xml知道特请求发送到邸一个物牛[沮加n ;遂行处 S,邸-彳牌听卯山⑰!)®行显示与回应,血芯<吨.xm是整个Struts运作的重心>咨罚onSen/le致到一^户禽时r将执行如蒲.程:1,橙柬和用户清求柜匹宜的心onM#Nig实例r如果不存在,就返回用户请求踣径无效信息.2 .如ActionFo「m实例不存在r勰建TActionFoiTn赡T把客户提交的表单散插煤#到ActionFo「nn对象中.3 .根委配置信息决定是否需要表单谿1L如果需要验证,.就调用ActionFornn的财date〔)方法>4 .如臭Action Form的财idate方法返回nul成返回T'不包含ActknMessagsffiActionEg愤壕,就表示表单验1诚功.5 . ActionServIe做ActisM叩ptig实例包含的映射信息决定将请求转发给邸个Action如果相应的Actio谟例不存在,就先创建这个究阳然 后遍用Actiori的execute :)方法6 . Actbn的execute (;方法返回一^ActonFonvard对象r *1前56「¥|6曜把客户请求转发给心肺印的而嫁指向倦]SPS件*1. ActmEorward对象指向的JS嘲件生成滥网页,返回给客户。
皿摇工作原理:Struts定HV浦]—井实札 它将洞仕成」5P标申扈二立EE规艾〕日尽班的一邑土 Stru母略了MVC的亏项峙性, 并根据毋曲牝,做了相应核化与扩展■:职模式与J2EE〔祯昨平台企业版)架构的对应关系:顺(nodel; view^ ctm-tioLlei)与J波架构损f应关系呈:&面于阮b Tier旗常 卸FP (java seiirer ram) /SerrlEt承担n Ctmtmllertil处于性b Tiei^ il常用Seznrlet来实现,现在—船用stiuts^Klo IflodelJjb于Middle Tier .,通常用损癸端炎追五"善乖实外设计模式珅类:没计槟翠为了代玛复用,塔加可却由比较常酣没i推圭工一模二隼冽模北啊模式建造嗔丸用H式.‘七 理模式等"NO3简期/sinc/s结构的圈I时源构:浏览新甥器结构,我神结构下用户工作界面是戛于WWW噩器实现虬极少部雅事务逻宣岳瞬实现,.主妥事务逻辑 实现在服务器端,它大大蹦少了客户端顷酸荷虚于后期耕和升繇时潞格的最大优点在于可^在任何地方酣操作而不用安装任何专I 的绸牛教点在开膀器端数骰砖重r数挡善一旦崩演后果将不隹设恩r厝以溜单位部备有数据库存建E翳器,a漏构:客户札■服务髻结构r喜户机具有一定的数据处理和数据存曜力r it过把应用软件的计聚魂段理剧渣在客户机和旺务器 两端,.可以有姓峰低网洛通信量称睽器霹毫B倒05结构I:戚:前能履金蟆高,觐B剖厕r麒浏性戟? r j瓣I顺和及曙更瓯rNO4hibernate ORM的原瞠及设计思憩:ORM (Object/Re毗n附叩ng)即赡关系映驻它的实现思想就是希探数据库中表的数据娜成为对象,以用■象的形式展现,这样开 发人员就可炳我准库芝操作转化为对这些对盆3摭怛因鹰它的目的是为了方便开发人员以面向对念的思想来实环掇据库的操作,Hibernate是T无用DAO (Data Access Objedt)设计橙式来卖购彖知关系雕库之间蝴(W Mapping )的开源I暖。
它泣IDBC进行 了遂的触朝荽.-使君由屹程序员可以竞全便用面向对豪踽程思锥来握柞关系数据庠.是持久层的一项实观支术orm^Wa:在使用hfce旅t濒HibematER阀]耽时候..主文f辑:聊美〔侦用)、嘘枝件〔Xhbm.xml) 逑福 走配置文件(*.properfE^t.tfg,xml),它们各巨的作用如丘1),蝴知它的柞用是曲缨座表的结构r表中的字段在美中坡1苗述成届性,腐来就■可以卖瞄醵中的霰映射成为该关的对象.母蝴项件:它的作用是指妾数据库麹澜琵之间的关系,包剧哄和数据库群对应关系、表字朝美属性类型的对应关系以及表字段 ^[3渠性S翩血^等1,耳数据摩蚤置丈件:它的作目是指定与数据原连揍时耘的龈信息r比如连接邸口数据匿登录用户色登录密码以及些韬串等NO5servlet工作原理:1).当WE暗户请求Servle加略或当WE醐眺启动时『容跚癫曦一个Java Servtet^n2\容跚境也将根据请求创建f Servlet对套实例「或者创建多个Servlet对蒙实例r并把适些室例加入到刹vlet实例软容器玲f调用Servlet的初始化力却ttpServletirftf)进行窕「栖实例化。
在遛用初始化时.要给hit()方法倩入―SeivleOnfig对氤倒漩匚(顷对蒙包含了胡财僵侦□霹环蟾的信鼠荆宜向制遍岗信息r如果曜规项会发生Seivlet&cfption. Servlet筋磷正常工伉4) 、容器环境利用一个HttpServletRequestfflHttpServletResponsEjHa r基装从Wsb客户割i囹的HTTPW翔:由5e*牲成的响应5) 、容器环境州宜[)86「¥|60倒昨翎]HttpServletRssponse时象恃递绐HttpSerwIet.Service方法,这样..的JavaServIe琦可以访问 这种HTTPW求和响应接口. Senlet方法可被务次厚用r各调用过程运行在不同的线程中,巨不干孤6) ,定制的知a Servlet从HttpSen/letRequest对象读弱HTW求数据r访问来自HttpSfesslon或Coo域T象的状态信息,进行持定应用的处理r 并且用HttpServletResponse对象生成HTTP的应数氤7) ,当WE喉舞甑容嚣禁闭时,会巨洲用HttpSavletdestroyO磁关眺何打开资源,并i蜡一蛭闭前龄理.NO6JDBC连接池在Java涪言中,JDBC (Java DataBase Connection)是应用程序与数据庠湾通的桥梁.即Java涪言通过DB很术访何数表庠.JDBC是一矽开放融的方案f它为数景庠应用开发人员、数括趟台工M开发人员提供了F标准 的应用程序设计接口,使开发人员可以用纯Java浴言编写完葬徼据庠应蒲序。
JDBCf是供两种API,分别是面向开发人员也AP珈面向底层的 JDB陵滩序API,底层主要iii通接的JDBC驱动和DBCODBC^驱动实现字竭舫涟安-股来说,Java应用程序访何数表庠的过程是:①装载数据庠驱动程序;②通过JDBC建立编库连接;③访问数瓣r执行SQL语句;④淅开数提庠连接.数据库连接池(connection pool)的工作原理 对亍共享资沉 有f 很著名的没计模式:资源池(Resource Poo!).该模式正是为了解决资游的糖分配 劄姗迨成的耳题,数据匡连爰 池为基本思想就是为数括走连接建立缓冲池I预先在缓冲池中放入一^1^连凄,当隼要建立涎度连接时,只需从'■祸仲取出一 个,使用完毕之后再放回云我们可以通过设定连接池最大缨院防上系统无尽的与数猖库连鼠 更为重整是我门可以通过连凄池的管理 机制监视数寮库依连接的数量、使用情况,为系统开发 涎试及性百藻窒是岫I2、服务B巨帝的连^池JDBC的API中没有提供连凄池的方法一些大型的WEB应用■渤:BEA的WebLogicfflIBM的WebSphere等喔供了连接泄的机削,田是 必须有卷三方的专用类方法支冷连接池的吊法.在使用JDBC连行与觥庠有关的应用开发中,数据库连麹管珪是一个淮点很多时候,连接的混乱管期理成的丢统资源开绡过大成 为制约大型企业级应用效率笛瓶氮对于众多用户访问的Web应用,采用数据庠连舞术的系统在效率和稳定性上比采目传统的M他方式的系 统期很灸。
