各大公司Java后端开发面试题总结
漫衍式Session框架
适配器模式:将一个接口适配到另一个接口,Java I/O中InputStreamReader将Reader类适配到InputStream,从而实现了字节约到字符流的准换。装饰者模式:保持原本的接口,加强原本有的成果。FileInputStream 实现了InputStream的全部接口,BufferedInputStreams担任自FileInputStream是详细的装饰器实现者,将InputStream读取的内容生涯在内存中,而进步读取的机能。 Spring事宜设置要领:1.切点信息,用于定位实验事物切面的营业类要领2.节制事宜举动的事宜属性,这些属性包罗事物断绝级别,事宜撒播举动,超时时刻,回滚法则。 Spring通过aop/tx Schema 定名空间和@Transaction注解技能来举办声明式事物设置。 Mybatis每一个Mybatis的应用措施都以一个SqlSessionFactory工具的实例为焦点。起首用字节畅通过Resource将设置文件读入,然后通过SqlSessionFactoryBuilder().build要领建设SqlSessionFactory,然后再通过SqlSessionFactory.openSession()要领建设一个SqlSession为每一个数据库事宜处事。经验了Mybatis初始化 –>建设SqlSession –>运行SQL语句,返回功效三个进程 Servlet和Filter的区别:整的流程是:Filter对用户哀求举办预处理赏罚,接着将哀求交给Servlet举办处理赏罚并天生相应,最后Filter再对处事器相应举办后处理赏罚。 Filter有如下几个用处:Filter可以举办对特定的url哀求和响应做预处理赏罚和后处理赏罚。在HttpServletRequest达到Servlet之前,拦截客户的HttpServletRequest。按照必要搜查HttpServletRequest,也可以修改HttpServletRequest头和数据。在HttpServletResponse达到客户端之前,拦截HttpServletResponse。按照必要搜查HttpServletResponse,也可以修改HttpServletResponse头和数据。 现实上Filter和Servlet极其相似,区别只是Filter不能直接对用户天生相应。现实上Filter里doFilter()要领里的代码就是从多个Servlet的service()要领里抽取的通用代码,通过行使Filter可以实现更好的复用。 Filter和Servlet的生命周期:1.Filter在web处事器启动时初始化2.假如某个Servlet设置了 1 ,该Servlet也是在Tomcat(Servlet容器)启动时初始化。3.假如Servlet没有设置1 ,该Servlet不会在Tomcat启动时初始化,而是在哀求到来时初始化。4.每次哀求, Request城市被初始化,相应哀求后,哀求被烧毁。5.Servlet初始化后,将不会跟着哀求的竣事而注销。6.封锁Tomcat时,Servlet、Filter依次被注销。 HashMap与HashTable的区别。1、HashMap长短线程安详的,HashTable是线程安详的。2、HashMap的键和值都应承有null值存在,而HashTable则不可。3、由于线程安详的题目,HashMap服从比HashTable的要高。 HashMap的实现机制:
HashMap和TreeMap区别交情链接: HashMap斗嘴交情链接:交情链接:交情链接:交情链接: HashMap,ConcurrentHashMap与LinkedHashMap的区别
ConcurrentHashMap应用场景1:ConcurrentHashMap的应用场景是高并发,可是并不能担保线程安详,而同步的HashMap和HashMap的是锁住整个容器,而加锁之后ConcurrentHashMap不必要锁住整个容器,只必要锁住对应的Segment就好了,以是可以担保高并发同步会见,晋升了服从。2:可以多线程写。ConcurrentHashMap把HashMap分成多少个Segmenet1.get时,不加锁,先定位到segment然后在找到头结点举办读取操纵。而value是volatile变量,以是可以担保在竞争前提时担保读取最新的值,假如读到的value是null,则也许正在修改,那么就挪用ReadValueUnderLock函数,加锁担保读到的数据是正确的。2.Put时会加锁,一致添加到hash链的头部。3.Remove时也会加锁,因为next是final范例不行改变,以是必需把删除的节点之前的节点都复制一遍。4.ConcurrentHashMap应承多个修改操纵并发举办,其要害在于行使了锁疏散技能。它行使了多个锁来节制对Hash表的差异Segment举办的修改。 ConcurrentHashMap的应用场景是高并发,可是并不能担保线程安详,而同步的HashMap和HashTable的是锁住整个容器,而加锁之后ConcurrentHashMap不必要锁住整个容器,只必要锁住对应的segment就好了,以是可以担保高并发同步会见,晋升了服从。 ConcurrentHashMap可以或许担保每一次挪用都是原子操纵,可是并不担保多次挪用之间也是原子操纵。交情链接: Vector和ArrayList的区别交情链接: ExecutorService service = Executors…. ExecutorService service = new ThreadPoolExecutor() ExecutorService service = new ScheduledThreadPoolExecutor(); ThreadPoolExecutor源码说明 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |