Java语言8种基本数据类型是哪些?
是:byte,short,int,long,float,double,boolean,char。
Java类型转化
1字节(byte)(读音:拜)=8位(bit)(读音:屁)
什么是类?什么是对象?
类是对象的一个模板,对象是类的一个实例,简单来说就是一个月饼的模型,盖出来的就是一个月饼。
模型就是一个类,实例就是月饼。生活中的人类、狗类、猫类都可以是一个类,而具体的一只猫或者狗就是这个类的实例。
猫会叫,猫有毛发,狗会吠,狗也有毛发,会叫就是这个类中的一个方法,毛发就是他们的属性,这里说到了毛发,猫和狗都有
毛发,这里可以延伸到面向对象的继承和多态,【继承>>】定义猫和狗是一个动物类,都继承了动物类后就有了动物类里面的属性,都有了毛发。【多态>>】猫和狗都会叫,但是猫和狗的叫声不同,当调用了动物类叫的那个方法后,猫叫猫的声音,狗吠出狗的声音,这就体现了面向对象的多态。
注:面向对象的三大特性(封装、继承、多态)
如何简单描述ssm框架?
Ssm框架由Spring+springMVC+mybatis三个开源框架整合而成,常作为数据源较简单的web项目框架。其中spring是一个轻量级的控制反转(Ioc inversion of controller)和面向切面(AOP:Aspect Oriented Programming)的容器框架。SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。Mybatis是一个支持普通的sql查询,存储过程和高级映射的优秀持久层框架。
关于IOC 和 DI
IOC(Inversion of Control):其思想是反转资源获取的方向. 传统的资源查找方式要求组件向容器发起请求查找资源. 作为回应, 容器适时的返回资源. 而应用了 IOC 之后, 则是容器主动地将资源推送给它所管理的组件, 组件所要做的仅是选择一种合适的方式来接受资源. 这种行为也被称为查找的被动形式
nDI(Dependency Injection) — IOC 的另一种表述方式:即组件以一些预先定义好的方式(例如: setter 方法)接受来自如容器的资源注入. 相对于 IOC 而言,这种表述更直接一点。
Java中的泛型集合有哪些?不同之处在哪里?怎么遍历?
List是接口,List特性就是有序,会确保一定的顺序保存元素。
ArrayList是它的实现类,是一个用数组实现的List。
例如:List list = new ArrayList();
Map是接口,Map特性就是根据一个对象查找对象.
HashMap是它的实现类,HashMap用hash表实现的Map,就是利用对象的hashcode(hashcode()是Object的方法)进行快速散列查找. 一般情况下,如果没有必要,推荐代码只同List,Map接口打交道
HashSet、HashTable实质使用HashMap实现的;
HashSet是set的一个实现类,hashMap是Map的一个实现类,同时hashMap是hashTable的替代品。
接下来看遍历各种集合。
public class MapTest {
public static void main(String[] args) {
//创建map对象,并赋值
Map<String,String> treeMap = new TreeMap<String,String>(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2);
}
});
treeMap.put("sufow1", "彭豪1");
treeMap.put("sufow2", "彭豪2");
treeMap.put("sufow3", "彭豪3");
treeMap.put("sufow4", "彭豪4");
System.out.println("TreeMap");
//遍历map 方式一,根据keyset方法获取所有的key,再根据key获取值
for(String str :treeMap.keySet()){
String val = treeMap.get(str);
System.out.println(val);
}
Map<String,String> hashMap = new HashMap<String ,String>();
hashMap.put("sufow1", "彭豪1");//可以写入null值
hashMap.put("sufow2", "彭豪2");
hashMap.put("sufow3", "彭豪3");
hashMap.put("sufow4", "彭豪4");
System.out.println("HashMap");
//先排序
List<Map.Entry<String, String>> list = new ArrayList<Map.Entry<String, String>>(hashMap.entrySet());
//通过比较器来排序
Collections.sort(list, new Comparator<Map.Entry<String, String>>() {
@Override
public int compare(Entry<String, String> o1,
Entry<String, String> o2) {
return o1.getValue().compareTo(o2.getValue());
}
});
//遍历List,第二种通过Map.Entry
for(Map.Entry<String, String> m :list){
String val = m.getValue();
System.out.println(val);
}
//第二种遍历map的方式,根据迭代器Iterator
Iterator<Map.Entry<String, String>> iterator = hashMap.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry<String, String> map = iterator.next();
System.out.println(map.getKey());
System.out.println(map.getValue());
}
//第三种通过values,只能遍历value
for(String str:hashMap.values()){
System.out.println(str);
}
//第四种,通过Map.Entry
for(Map.Entry<String, String> map:hashMap.entrySet()){
System.out.println(map.getKey());
System.out.println(map.getValue());
}
}
------------------------------------------------------------------------------