java吧 关注:1,253,078贴子:12,739,955

回复:【职场-技能系列の作死和不作死的区别,纪念当年的新手路】

取消只看楼主收藏回复

8.迭代器和枚举之间的区别
如果面试官问这个问题,那么他的意图一定是让你区分Iterator不同于Enumeration的两个方面:
●Iterator允许移除从底层集合的元素。
●Iterator的方法名是标准化的。


119楼2014-12-26 17:07
回复
    9.Hashmap如何同步?
    当我们需要一个同步的HashMap时,有两种选择:
    ●使用Collections.synchronizedMap(..)来同步HashMap。
    ●使用ConcurrentHashMap的
    这两个选项之间的首选是使用ConcurrentHashMap,这是因为我们不需要锁定整个对象,以及通过ConcurrentHashMap分区地图来获得锁。


    122楼2014-12-26 17:17
    回复
      10.IdentityHashMap和HashMap的区别
      IdentityHashMap是Map接口的实现。不同于HashMap的,这里采用参考平等。
      ●在HashMap中如果两个元素是相等的,则key1.equals(key2)
      ●在IdentityHashMap中如果两个元素是相等的,则key1 == key2


      124楼2014-12-26 17:33
      收起回复
        Java新手看过来,基础概念送给你
        1:EJB、JSP、Serverlet、Applet和j2ee的关系


        132楼2014-12-26 21:51
        回复
          1. JSP:(Java Server Pages)它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
          2. Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者
          3. JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 属性。


          133楼2014-12-26 21:53
          回复
            4. EJB (Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。 在J2EE里,Enterprise Java Beans(EJB)称为Java 企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。
            5. IBATIS:最大的优点是可以有效的控制sql发送的数目,提高数据层的执行效率!好象阿里巴巴现在就用的是IBATIS;它需要程序员自己去写sql 语句,不想hibernate那样是完全面向对象的,自动化的,ibatis是半自动化的,通过表和对象的映射以及手工书写的sql语句,能够实现比 hibernate等更高的查询效率。
            6. DAO:了建立一个健壮的J2EE应用,应该将所有对数据源的访问操作抽象封装在一个公共API中。用程序设计的语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口在逻辑上对应这个特定的数据存储。


            134楼2014-12-26 21:59
            回复
              10 serverlet:web的基础有jsp和servlet两大部分。是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
              11. WEB容器:容器是一个Java 所编写的程序,原先必须自行编写程序以管理对象关系,现在容器都会自动帮您作好。 常用容器 jBoss,WebSphere,WebLogic,Resin,Tomcat。
              12、SSH关系:struts主要表现为显示层,有就是说你从数据库得到的数据,想把数据呈现给用户,那struts就用的上了
              hibernate是主要和数据库打交道,它轻量级的封装了一些JDBC方法,是开发更加的快速,当然hibernate还包括很多东西,
              spring我的理解就是个大箱子,里面装的东西就是JAVABEAN,而这些JAVABEAN统一由spring来管理,那spring是怎么管理的呢?是通过applicationContext.xml文件,将这些JAVABEAN都写到这个文件里,好让spring知道他需要管理哪些JAVABEAN,这些JAVABEAN是包括ACTION,DAO接口,DAOIMPL接口实现类.


              136楼2014-12-26 22:04
              回复
                笑傲程序界 迎娶帅气欧巴 走上人生巅峰!


                144楼2014-12-27 11:50
                收起回复
                  最近老是看到有人发错误信息的截图问怎么办。虽然在吧里面没有说不能问这样的问题。
                  以下是我的一些建议:
                  1.程序员需要学习英语,如果你连错误信息里面的英语的字面意思都不懂,要么洗洗睡了,要么去学学英语吧。
                  2.你需要学会从错误信息中找到最关键的信息:比如LUA ERROR… module ‘xxxxx’ not found或者undefined reference to ‘xxxxx’
                  3.找到这些关键后(比如,上面的这些’xxxx’就是你解决问题的关键,无非是运行时,或者编译时找不到xxxx。)进行对应的处理和解决
                  4.如果你不知道怎么处理,可以google和度娘,把关键错误信息贴到搜索引擎下去里面,搜索一下,多半就有答案了;不过尽量不要找度娘,切记切记~~你懂的。(我想说程序员用度娘搜索程序问题,只有两个原因:一是你英语很菜,二是你程序员能力很菜)


                  147楼2014-12-27 18:43
                  收起回复
                    5.就算是你要问这些问题,也请别截图,直接贴错误信息文本;就算别人愿意帮你google,你也得得让别人好拷贝粘贴啊,大家都这么忙不是吗?6,问问题的时候,大家希望看到的时候你做了那些分析和尝试,而不是:来吧,帮我看看这个图里面的错误信息,然后就没有然后了。你都懒得打字说明问题,为什么指望别人帮你分析帮你解决,然后打字告诉你该如何如何呢?8.一切技术问题都是纸老虎,搞定他,一个错误信息都搞不定,何以搞定天下?众所周知,许多新的技术(或者老的技术)英文资源更多,优秀的英文资源则更更多。让更懂中文的度娘来做这件不可能完成的任务,还不如仔细学一下怎么用简单的英文关键词得到自己想要的内容更不耽误事儿~不好好学英语 怎么找女朋友


                    149楼2014-12-27 18:51
                    回复
                      过儿你的龙儿在哪里???


                      150楼2014-12-27 20:19
                      回复


                        152楼2014-12-27 22:59
                        回复
                          Java 的值传递问题
                          code:
                          public static void main(String[] args) {
                          Set<Integer> aa = new HashSet<Integer>();
                          aa.add(2);
                          test(aa);
                          for(Integer b : aa){
                          System.out.println(b);
                          }
                          int aaa = 1;
                          tests(aaa);
                          System.out.println(aaa);
                          }
                          public static void test(Set<Integer> sss){
                          sss.add(1);
                          }
                          public static void tests(int sss){
                          sss = 2;
                          }
                          传入 Set 或者 Map 等,就可以改变里边的值,而传入 int、String 等不会改变?这是什么原因??


                          153楼2014-12-27 23:27
                          收起回复
                            1) 对于基本类型(primitive types)的变量,在函数里自然不能修改原来变量的值;int 就属于这类;函数调用的时候是把这个值复制了一份传进去;
                            2) 引用类型的变量,其“值”是一个具体对象的引用,所以函数可以通过这个引用找到对象,从而修改这个对象;Set 就属于这类;虽然 Set 的引用被复制了,但是这个新的引用依然是对原来那个对象的引用;
                            直接用等号这种方法就把变量变成另一个对象的引用了,原来对象的引用就丢失了。这里出现了区别是因为给 Set 用的是 add() 方法,而不是对变量直接赋值。如果用等号赋值的话,就算是 Set 和 Map 也不行的。基础 基础 基础............................


                            154楼2014-12-27 23:28
                            回复
                              等姐姐心情好了在继续更新


                              162楼2014-12-28 12:16
                              收起回复