村官 举措 村级网站建设,怎么制作一个网站的二维码,影视广告,微信开放文档官网下面就一些java的一些基本问题进行解释。其中蓝色部分为handsomecui的主观看法 一.synchronized(obj)里面的参数怎么解释#xff1f; synchronized的参数代表的是“对象锁”代表的是不同的线程在synchronized块里#xff0c;同时只有一个线程能执行该代码块,而类的不同实例之…下面就一些java的一些基本问题进行解释。其中蓝色部分为handsomecui的主观看法 一.synchronized(obj)里面的参数怎么解释 synchronized的参数代表的是“对象锁”代表的是不同的线程在synchronized块里同时只有一个线程能执行该代码块,而类的不同实例之间是互不影响的。比如Person A new Person(),Person B new Person().A和B之间是不受synchronized制约的。 二.创建线程有哪几种方法 有三种方式可以用来创建线程 1.继承Thread类 2.实现Runnable接口 3.应用程序可以使用Executor框架来创建线程池 三. ”static”关键字是什么意思Java中是否可以覆盖(override)一个private或者是static的方法 “static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问。 Java中static方法不能被覆盖因为方法覆盖是基于运行时动态绑定的而static方法是编译时静态绑定的。 static方法跟类的任何实例都不相关所以概念上不适用。 四.是否可以在static环境中访问非static变量 static变量在Java中是属于类的它在所有的实例中的值是一样的。 当类被Java虚拟机载入的时候会对static变量进行初始化。 如果你的代码尝试不用实例来访问非static的变量编译器会报错因为这些变量还没有被创建出来还没有跟任何实例关联上。 (注意非static变量是实例化后才被创建而static变量是类创建时就被创建) 五.int与Integer的区别: int 是基本数据类型 Integer是其包装类注意是一个类。 为什么要提供包装类呢 1.为了在各种类型间转化通过各种方法的调用。否则 你无法直接通过变量转化。例如int x Integer.valueOf(66); 2.泛型 ListInteger nums; 这里需要类要用Integer 六.Java中intValue,parseInt,Valueof 这三个关键字的区别? int a Integer.parseInt(123);相当于把“123”转化为基本数据 Integer b Integer.valueOf(123);相当于把“123”转化为一个Integer对象 int c b.intValue();将123的对象表示形式转化为基本数据123 也就是 Integer.valueOf(123).intValue() 等价于 Integer.parseInt(123) 七.java不支持多继承,但可以实现多个接口。 八.synchronized用在方法上级别是粗粒度锁用在代码块上是细粒度锁。 九.Java集合类框架的基本接口有哪些 Collection代表一组对象每一个对象都是它的子元素。Set不包含重复元素的Collection。List有顺序的collection并且可以包含重复元素。Map可以把键(key)映射到值(value)的对象键不能重复。 ArrayList和 LinkedList 实现了List接口HashSet实现了Set接口这几个都比较常用 HashMap 和HashTable实现了Map接口并且HashTable是线程安全的但是HashMap性能更好 java.util.Collection [I] |—java.util.List [I]|—java.util.ArrayList [C]|—java.util.LinkedList [C]|—java.util.Vector [C]|—java.util.Stack [C]|—java.util.Set [I]|—java.util.HashSet [C]|—java.util.SortedSet [I]|—java.util.TreeSet [C]java.util.Map [I] |—java.util.SortedMap [I]|—java.util.TreeMap [C]|—java.util.Hashtable [C]|—java.util.HashMap [C]|—java.util.LinkedHashMap [C]|—java.util.WeakHashMap [C] 十.接口和抽象类的区别是什么 Java提供和支持创建抽象类和接口。它们的实现有共同点不同点在于 接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法。类可以实现很多个接口但是只能继承一个抽象类类如果要实现一个接口它必须要实现接口声明的所有方法。但是类可以不实现抽象类声明的所有方法当然在这种情况下类也必须得声明成是抽象的。抽象类可以在不提供接口方法实现的情况下实现接口。Java接口中声明的变量默认都是final的。抽象类可以包含非final的变量。Java接口中的成员函数默认是public的。抽象类的成员函数可以是privateprotected或者是public。接口是绝对抽象的不可以被实例化。抽象类也不可以被实例化但是如果它包含main方法的话是可以被调用的。