`

几个java 面试题备忘

    博客分类:
  • java
 
阅读更多
java:
(1)希望so/dll文件只被某个特定的class调用,其他class不能调用,怎么办?
(2)如何防止用户反编译,有什么有效手段?
A)混淆编译
B)自己实现ClassLoader,同时实现一个DLL,DLL将原生成的class文件进行处理,然后程序启动的时候,只要入口Class(这个是原生态的)加载dll,dll解析相应的class,然后加载。这样如果想反编译,就需要DLL中分析了。
(3)soft reference,weak reference 会在什么场景下使用?
(4)有多个读线程,一个写线程,写线程定时需要写数据,读线程随机发生读取数据,读取的数据可以是脏数据(允许有延后),怎么实现?
读写锁(是否公平,确实需要考虑,我也不知道哪个最合适),或者ConcurrentHashMap
(5)实现一个登录对话框,对话框中有一个cancel,和一个进度条展示,如果点击canel,对话框消失,登陆过程终止且需要回滚;如果进度条满了,对话框消失。
 
这道题不错,难点挺多,我的想法是:
登录线程于当前主线程的同步,主线程cancel时,给登录线程设立一个标志位volatile boolean isCanceled,同时登录线程.interrupt(),退出对话框。
 
登录线程:
在每次反馈进度的时候,加一个类似Linux的cancel点,比如sleep(0),并且判断isCanceled(true时,回滚),因为sleep会触发InterruptException异常中处理回滚。
线程结束时,发送给主线程一个标识,safeExited。
 
这样做的问题是:主线程退出时,子线程其实并没有退出(除非设置成Daemon线程,但那样,回滚做不到)。给主线程safeExited有可能是不切实际的(主线程有可能已经退出),如果不发标志位,也不合适,有可能登录子线程处理失败,主线程不知道子线程实际处理结果。但如果,主线程 join子线程的话,又会使得主线程没有及时退出。

 (5)有两个集合A,B,每个集合元素无重复,且都为整形。如何求C=A∩B。A,B类的元素都超过1000个

将|A|,|B|中元素多的放到SET中,然后遍历查找。因此,算法复杂度为MlogN,这里的SET说的是RBTree,如果hash方式,则不好评估。M=min(|A|,|B|),N=max(|A|,|B|)

其实,本题等价于,数据库中,如何通过某个不重复字段,去关联2张表。显然,需要对该字段建立索引。建立索引的过程,即放入set过程。

分享到:
评论

相关推荐

    java面试题以及技巧

    │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+...

    Java高级面试题及答案真题(2021年Java面试题答案大汇总)

    Java高级面试题及答案真题(2021年Java面试题答案大汇总) Java高级面试题大全,涵盖了Java语言常见面试题、Java工程师高级面试题及一些大厂Java开发面试宝典,面试经验技巧等。该套面试题汇总大全,包含大量经典的...

    java面试题及技巧4

    │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+...

    java面试题及技巧3

    │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+...

    java面试题以及技巧6

    │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+...

    java面试题汇总

    **Java面试题汇总** 在Java领域,面试是评估求职者技术实力的重要环节。这份文档集成了常见的Java面试问题,涵盖了基础、进阶以及实战等多个层面,旨在帮助求职者准备面试,提升自己的竞争力。以下是其中的一些关键...

    java面试800题

    《java面试800题(包括java,数据库,前台等,绝对全面)》 Q0027 哪些SQL语句在执行时是自动提交的? 数据定义语言DDL是自动提交的。 Q0028 索引对数据库的影响? 提高查询速度 Q0029 主外键有什么关系? 外键是从...

    【面试资料】-(机构内训资料)java面试题_设计模式(26题).zip

    在这个【面试资料】-(机构内训资料)java面试题_设计模式(26题)的压缩包中,你将找到关于Java设计模式的26个面试题目,这些题目涵盖了多种类型的设计模式,可以帮助你准备Java相关的技术面试。 首先,设计模式可以...

    java面试题目与技巧1

    │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+...

    超级有影响力霸气的Java面试题大全文档

    超级有影响力的Java面试题大全文档 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。...

    【BAT必备】设计模式面试题

    ### BAT必备设计模式面试题详解 #### 一、引言 设计模式是在软件工程领域内被广泛采用的一种软件设计方法论。它可以帮助开发者解决在软件设计过程中遇到的一些常见问题,并提供了一种统一的方法来描述解决方案。...

    Java 66道面试题和答案.docx

    在Java中,学习设计模式有以下几个主要原因: 1. **理解复杂系统**:许多知名的开源框架如JDK、Spring、SpringMVC等在实现中大量运用了设计模式,掌握设计模式能帮助开发者更好地理解这些框架的内部机制。 2. **...

    JAVA基础面试大全.doc corejavanetbook.doc jsp技术大全.pdf

    压缩包中的"JAVA设计模式.chm"、"CoreJavaNoteBook.doc"和"java基础类型面试题大全.doc"都是进一步学习和准备面试的宝贵资源。通过这些资料,开发者可以深入理解Java的核心概念,掌握设计模式,并准备应对面试中的...

    CodeEggDailyInterview:解码个蛋每日面试题

    《CodeEggDailyInterview:解码个蛋每日面试题》是一个专门为IT专业人士,尤其是Android开发者、Java程序员以及算法和设计模式爱好者准备的资源库。它涵盖了广泛的面试问题,旨在帮助求职者提升技能,应对各种技术...

Global site tag (gtag.js) - Google Analytics