摘要:
答:Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java中,每个异常都是一个对象,它是Throwable类或其子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并可以对其进行处理。Java的异常
阅读全文
posted @ 2020-05-16 11:50
咔啡
阅读(663)
推荐(0)
摘要:
答:是值传递。Java语言的方法调用只支持参数的值传递。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的属性可以在被调用过程中被改变,但对对象引用的改变是不会影响到调用者的。C++和C#中可以通过传引用或传输出参数来改变传入的参数的值。在C#中可以编写如下所示的代码,但
阅读全文
posted @ 2020-05-15 01:26
咔啡
阅读(1090)
推荐(0)
摘要:
答:在最外层循环前加一个标记如A,然后用break A;可以跳出多重循环。(Java中支持带标签的break和continue语句,作用有点类似于C和C++中的goto语句,但是就像要避免使用goto一样,应该避免使用带标签的break和continue,因为它不会让你的程序变得更优雅,很多时候甚至
阅读全文
posted @ 2020-05-15 01:25
咔啡
阅读(686)
推荐(0)
摘要:
答:在Java 5以前,switch(expr)中,expr只能是byte、short、char、int。从Java 5开始,Java中引入了枚举类型,expr也可以是enum类型,从Java 7开始,expr还可以是字符串(String),但是长整型(long)在目前所有的版本中都是不可以的。
阅读全文
posted @ 2020-05-15 01:24
咔啡
阅读(249)
推荐(0)
摘要:
答:Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从Java 5开始引入了自动装箱/拆箱机制,使得二者
阅读全文
posted @ 2020-05-15 01:23
咔啡
阅读(215)
推荐(0)
摘要:
类的成员不写访问修饰时默认为default。默认对于同一个包中的其他类相当于公开(public),对于不是同一个包中的其他类相当于私有(private)。受保护(protected)对子类相当于公开,对不是同一包中的没有父子关系的类相当于私有。Java中,外部类的修饰符只能是public或默认,类的
阅读全文
posted @ 2020-05-15 01:22
咔啡
阅读(377)
推荐(0)
摘要:
当我们需要一个同步的HashMap时,有两种选择: ●使用Collections.synchronizedMap(..)来同步HashMap。 ●使用ConcurrentHashMap的 这两个选项之间的首选是使用ConcurrentHashMap,这是因为我们不需要锁定整个对象,以及通过Concu
阅读全文
posted @ 2020-05-15 01:20
咔啡
阅读(692)
推荐(0)
摘要:
●ListIterator有add()方法,可以向List中添加对象,而Iterator不能。 ●ListIterator和Iterator都有hasNext()和next()方法,可以实现顺序向后遍历,但是ListIterator有hasPrevious()和previous()方法,可以实现逆向
阅读全文
posted @ 2020-05-15 01:19
咔啡
阅读(117)
推荐(0)
摘要:
HashMap是一个针对数据结构的键值,每个键都会有相应的值,关键是识别这样的值。 HashMap 基于 hashing 原理,我们通过 put ()和 get ()方法储存和获取对象。当我们将键值对传递给 put ()方法时,它调用键对象的 hashCode ()方法来计算 hashcode,让后
阅读全文
posted @ 2020-05-15 01:18
咔啡
阅读(849)
推荐(0)
摘要:
(1)Mybatis和hibernate不同,它不完全是一个ORM框架,因为MyBatis需要程序员自己编写Sql语句。 (2)Mybatis直接编写原生态sql,可以严格控制sql执行性能,灵活度高,非常适合对关系数据模型要求不高的软件开发,因为这类软件需求变化频繁,一但需求变化要求迅速输出成果。
阅读全文
posted @ 2020-05-14 01:00
咔啡
阅读(490)
推荐(0)
摘要:
Spring 提供了以下5种标准的事件: (1)上下文更新事件(ContextRefreshedEvent):在调用ConfigurableApplicationContext 接口中的refresh()方法时被触发。 (2)上下文开始事件(ContextStartedEvent):当容器调用Con
阅读全文
posted @ 2020-05-14 00:59
咔啡
阅读(1411)
推荐(0)
摘要:
在spring中,对象无需自己查找或创建与其关联的其他对象,由容器负责把需要相互协作的对象引用赋予各个对象,使用autowire来配置自动装载模式。 在Spring框架xml配置中共有5种自动装配: (1)no:默认的方式是不进行自动装配的,通过手工设置ref属性来进行装配bean。 (2)byNa
阅读全文
posted @ 2020-05-14 00:58
咔啡
阅读(248)
推荐(0)
摘要:
在一般情况下,只有无状态的Bean才可以在多线程环境下共享,在Spring中,绝大部分Bean都可以声明为singleton作用域,因为Spring对一些Bean中非线程安全状态采用ThreadLocal进行处理,解决线程安全问题。 ThreadLocal和线程同步机制都是为了解决多线程中相同变量的
阅读全文
posted @ 2020-05-14 00:57
咔啡
阅读(745)
推荐(0)
摘要:
首先说一下Servlet的生命周期:实例化,初始init,接收请求service,销毁destroy; Spring上下文中的Bean生命周期也类似,如下: (1)实例化Bean: 对于BeanFactory容器,当客户向容器请求一个尚未初始化的bean时,或初始化bean的时候需要注入另一个尚未初
阅读全文
posted @ 2020-05-14 00:56
咔啡
阅读(1382)
推荐(0)
摘要:
答:可以在类上面加上@SessionAttributes注解,里面包含的字符串就是要放入session里面的key。
阅读全文
posted @ 2020-05-14 00:55
咔啡
阅读(1631)
推荐(0)
摘要:
答:直接在形参里面声明这个参数就可以,但必须名字和传过来的参数一样。
阅读全文
posted @ 2020-05-14 00:54
咔啡
阅读(942)
推荐(0)
摘要:
答:一般用@Controller注解,也可以使用@RestController,@RestController注解相当于@ResponseBody + @Controller,表示是表现层,除此之外,一般不用别的注解代替。
阅读全文
posted @ 2020-05-14 00:53
咔啡
阅读(1249)
推荐(0)
摘要:
(1)springmvc的入口是一个servlet即前端控制器(DispatchServlet),而struts2入口是一个filter过虑器(StrutsPrepareAndExecuteFilter)。 (2)springmvc是基于方法开发(一个url对应一个方法),请求参数传递到方法的形参,
阅读全文
posted @ 2020-05-14 00:52
咔啡
阅读(926)
推荐(0)
摘要:
GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。
阅读全文
posted @ 2020-05-13 15:58
咔啡
阅读(548)
推荐(0)
摘要:
我们有时候将一个java对象变成字节流的形式传出去或者从一个字节流中恢复成一个java对象,例如,要将java对象存储到硬盘或者传送给网络上的其他计算机,这个过程我们可以自己写代码去把一个java对象变成某个格式的字节流再传输,但是,jre本身就提供了这种支持,我们可以调用OutputStream的
阅读全文
posted @ 2020-05-13 15:57
咔啡
阅读(285)
推荐(0)
摘要:
要让人家感觉你对java ee开发很熟,所以,不能仅仅只列core java中的那些东西,要多列你在做ssh项目中涉及的那些东西。就写你最近写的那些程序中涉及的那些类。常用的类:BufferedReader BufferedWriter FileReader FileWirter String In
阅读全文
posted @ 2020-05-13 15:56
咔啡
阅读(293)
推荐(0)
摘要:
对。如果对象要保存在HashSet或HashMap中,它们的equals相等,那么,它们的hashcode值就必须相等。如果不是要保存在HashSet或HashMap,则与hashcode没有什么关系了,这时候hashcode不等是可以的,例如arrayList存储的对象就不用实现hashcode,
阅读全文
posted @ 2020-05-13 15:55
咔啡
阅读(290)
推荐(0)
摘要:
Vector newVector = new Vector();For (int i=0;i<vector.size();i++){Object obj = vector.get(i); if(!newVector.contains(obj); newVector.add(obj);}还有一种简单的
阅读全文
posted @ 2020-05-13 15:54
咔啡
阅读(390)
推荐(0)
posted @ 2020-05-13 15:53
咔啡
阅读(518)
推荐(0)
摘要:
(条理上还需要整理,也是先说相同点,再说不同点)HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,在只有一个线程访问的情况下,效率要高于Hashtable。HashMap允许将nul
阅读全文
posted @ 2020-05-13 15:52
咔啡
阅读(165)
推荐(0)
摘要:
主要相同点:Lock能完成synchronized所实现的所有功能主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁,而Lock一定要求程序员手工释放,并且必须在finally从句中释放。Lock还有更强大的功能,例如,它的tryLoc
阅读全文
posted @ 2020-05-13 15:51
咔啡
阅读(251)
推荐(0)
摘要:
启动一个线程是调用start()方法,使线程就绪状态,以后可以被调度为运行状态,一个线程必须关联一些具体的执行代码,run()方法是该线程所关联的执行代码。
阅读全文
posted @ 2020-05-13 08:44
咔啡
阅读(733)
推荐(0)
摘要:
(网上的答案:sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。 wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发
阅读全文
posted @ 2020-05-12 22:43
咔啡
阅读(227)
推荐(0)
摘要:
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。内部类要访问局部变量,局部变量必须定义成final类型。finally是异常处理语句结构的一部分,表示总是执行。finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法
阅读全文
posted @ 2020-05-12 22:41
咔啡
阅读(149)
推荐(0)
摘要:
答:对于如下代码:String s1 = "a";String s2 = s1 + "b";String s3 = "a" + "b";System.out.println(s2 == "ab");System.out.println(s3 == "ab");第一条语句打印的结果为false,第二条
阅读全文
posted @ 2020-05-12 22:40
咔啡
阅读(405)
推荐(0)
摘要:
两个或一个,”xyz”对应一个对象,这个对象放在字符串常量缓冲区,常量”xyz”不管出现多少遍,都是缓冲区中的那一个。New String每写一遍,就创建一个新的对象,它一句那个常量”xyz”对象的内容来创建出一个新String对象。如果以前就用过’xyz’,这句代表就不会创建”xyz”自己了,直接
阅读全文
posted @ 2020-05-12 22:39
咔啡
阅读(384)
推荐(0)
摘要:
没有。因为String被设计成不可变(immutable)类,所以它的所有对象都是不可变对象。在这段代码中,s原先指向一个String对象,内容是 "Hello",然后我们对s进行了+操作,那么s所指向的那个对象是否发生了改变呢?答案是没有。这时,s不指向原来那个对象了,而指向了另一个 String
阅读全文
posted @ 2020-05-12 22:38
咔啡
阅读(264)
推荐(0)
摘要:
abstract的method不可以是static的,因为抽象的方法是要被子类实现的,而static与子类扯不上关系!native方法表示该方法要用另外一种依赖平台的编程语言实现的,不存在着被子类实现的问题,所以,它也不能是抽象的,不能与abstract混用。关于synchronized与abstr
阅读全文
posted @ 2020-05-12 22:37
咔啡
阅读(232)
推荐(0)
摘要:
clone 有缺省行为,super.clone();因为首先要把父类中的成员复制到位,然后才是复制自己的成员。
阅读全文
posted @ 2020-05-12 22:35
咔啡
阅读(367)
推荐(0)
摘要:
重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。重写Override表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆
阅读全文
posted @ 2020-05-12 22:34
咔啡
阅读(199)
推荐(0)
摘要:
Math类中提供了三个与取整有关的方法:ceil、floor、round,这些方法的作用与它们的英文名称的含义相对应,例如,ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(11.3)的结果为12,Math.ceil(-11.3)的结果是-11;floor的英文意义是地板,该方法
阅读全文
posted @ 2020-05-12 22:33
咔啡
阅读(183)
推荐(0)
摘要:
==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存,对象本身占用一块内存(堆内存),变量也占用一块内存,例如Objet ob
阅读全文
posted @ 2020-05-12 22:32
咔啡
阅读(388)
推荐(0)
摘要:
char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字啦。不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字。补充说明:unicode编码占用两个字节,所以,cha
阅读全文
posted @ 2020-05-12 22:31
咔啡
阅读(219)
推荐(0)
摘要:
在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break语句,即可跳出外层循环。
阅读全文
posted @ 2020-05-12 22:30
咔啡
阅读(304)
推荐(0)
摘要:
可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。
阅读全文
posted @ 2020-05-12 22:29
咔啡
阅读(181)
推荐(0)