- maven私有仓库的好处?
答:搭建Maven私有仓库的主要目的,是为了在团队多人开发时,只要内网的私有仓库有下载过依赖的jar包,就直接从私有仓库获取,不再通过外网的中央仓库,毕竟外网的下载速度实在是太慢了。 - 如何在linux系统下更改mysql的数据库编码?例如一开始UTF-8,现在要求更改为GBK编码?
答:在my.ini 文件中 可以配置。还可以配置用户名以及密码。linux 中启动mysql 命令(centeroS7):service mysql start/status/stop ,启动之后 输入 mysql -uroot -p,输入密码 即可sql 命令界面。
default-character-set=gb2312
- 如何浏览器不缓存界面?
在标签下添加如下内容
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=8">
<meta http-equiv="Expires" content="0">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-control" content="no-cache">
<meta http-equiv="Cache" content="no-cache">
- mybaties的入参对象和出参对象是什么?
答:parameterType ,resultType
resultType:
1、基本类型 :resultType=基本类型
2、List类型: resultType=List中元素的类型
3、Map类型 单条记录:resultType =map
多条记录:resultType =Map中value的类型
- 请写出mysql 以及oracle 链接的驱动类?
com.mysql.jdbc.Driver
com.mysql.cj.jdbc.Driver //默认端口是3306
oracle.jdbc.driver.OracleDriver //默认端口是1521
redis 默认端口是6379
xsheel 默认链接端口 22
nginx 默认端口是80 ,tomcat 8080
elasticsearch java链接端口 9300 ,浏览器默认访问是9200
- Compator/Comparable的比较
答:Comparable主要用于对象内部的比较方式,例如实现按年龄排序,实现接口Comparable,重写public int compareTo(Object obj)方法:
示例:import org.junit.Test;
Comparator 用作自定义的比较方式,当默认的比较方式不适用时或者没有提供默认的比较方式,使用Comparator就非常有用。 实现接口 public int cmparar(Object o1,Object o2):
package com.example.demo;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class TestClass {
public class Perosn implements Comparable,Comparator{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Perosn(){
//空参构造
}
public Perosn(String name, int age) {
this.name = name;
this.age = age;
}
/**
* @param o
* @return /**
* 该对象小于、等于或大于指定对象o,分别返回负整数、零或正整数。
**/
@Override
public int compareTo(Object o) {
return this.age - ((Perosn) o).getAge();
}
/**
* @return o1小于、等于或大于o2,分别返回负整数、零或正整数。
* @param o1
* @param o2
*/
@Override
public int compare(Object o1, Object o2) {
// return -(((Perosn)o1).getAge() - ((Perosn)o2).getAge());//从大到小
return ((Perosn)o1).getAge() - ((Perosn)o2).getAge(); //从小到大
}
}
@Test
public void testPerson(){
Perosn[] perosns = new Perosn[]{new Perosn("li",20),new Perosn("ning",21),new Perosn("yang",19)};
Perosn max=null;
for(int i= 0;i<perosns.length-1;i++){
if(perosns[i].compareTo(perosns[i+1]) > 0){
max=perosns[i];
}
}
System.out.println(max.name+".."+max.getAge());
}
@Test
public void testListp(){
List<Perosn> lis = new ArrayList<>();
lis.add(new Perosn("li",20));
lis.add(new Perosn("ning",21));
lis.add(new Perosn("yang",19));
//lis.sort(new Perosn());
Collections.sort(lis,new Perosn()); //底层调用的是List的sort(Comparator<T>) 方法.如上
for (Perosn p : lis) {
System.out.println(p.getName()+"..."+p.getAge());
}
}
}
- 2.什么自动拆箱 装箱操作?
import org.junit.Test;
public class TestDataType {
@Test
public void intAndInteger(){
Integer num = new Integer(3);;
// 等同于 new Integer(3);
int b=num;//拆箱
int a = 4;
Integer count = a; //自动装箱
Integer coun1 = 129; //自动装箱
Integer c = Integer.valueOf(a);
Integer d = Integer.valueOf(129);
System.out.println(num instanceof Integer); //true
System.out.println("-127 与 128 之间:"+(coun1 == d)); // false
System.out.println("-127 与 128 之间:"+(count == a)); //true
}
}
解析:因为自动装箱,自动调用valueOf方法.底层源码
public static Integer valueOf(int i) {
if (i >= IntegerCache.low && i <= IntegerCache.high)
//如果数值在-128和127之间,就直接调用IntegerCache类,返回缓存中的数据,自然是同一个对象.
否则新建一个Integer对象
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i);
}
- 3.maven的主要作用?
答:maven主要是用来解决导入java类依赖的jar,编译java项目主要问题,以及解决jar包冲突,项目版本管理等。 - 4.try catch finally 的题目。
答:首先所有异常类的都有一个共同的父类–Throwable,它有两个子类 Error 和 Exception。
出现异常执行的情况:
1.如果没有异常发生,则在try内的代码执行结束后执行;
2.如果异常有发生且被catch捕捉,则在catch内的代码执行结束后再执行。
3.如果异常发生但没有捕获,则再异常被抛给上层之前执行。
4.如果在try 或者是catch 语句内有retrurn语句,则return语句在finally语句执行结束后才执行,但finally并不能改变返回值。
public int testException(){
int num = 0;
try {
return num;
}catch (Exception e){
return num;
}finally {
num = 2;
}
}
@Test
public void testReturnTry(){
int count = testException();
System.out.println("count="+count); // 0
}
5.如果 findlly语句中 也有return 语句呢?则try 或者是catch 内的return 会丢失,实际返回为findlly语句的返回值。
public int testException(){
int num = 0;
try {
return num;
}catch (Exception e){
return num;
}finally {
return 2;
}
}
@Test
public void testReturnTry(){
int count = testException();
System.out.println("count="+count);//2
}