【基础篇】常问基础知识

  • 第一次在CSDN写博客,写的不好的可以在评论区吐槽,尽量给大家优化的通俗易懂~

冒泡排序,点我看详情,时间复杂度O(n²)

//外循环,直到循环完毕
for(int i = 0; i < arr.length; i++) {
	//(j<arr.Length-i),避免无用的循环,已排序过的不再重复排序
	for(int j = 0; j < arr.length-i; j++) {
		//比较大小并交换
		if (arr[j] < arr[j+1]) {
			//定义一个空杯子接收当前的水
			int temp = arr[j];
			//下一个水杯的水到给当前的水杯
			arr[j] = arr[j+1];
			//再把空杯子里面的水到给下一个水杯(完成位置交换动作)
			arr[j+1] = temp;
		}
	}
}

== 和 equals 的区别

  • 当 == 两边是对象时(String,Integer…),两边比的都是地址
  • 当 == 两边是基本类型时(int,float),两边比的都是
  • 默认equals比的是对象的地址,但是重写的话可以改变成比较值,String和Integer的equals就是重写过的

命名规范

  • 所有命名规则必须遵循以下规则:
    • 项目名、包名全部小写
    • 类名首字母大写保持驼峰命名
    • 常量统一全部大写下划线分割
    • 命名时不能数字开头
    • 在命名是绝对不能出现Java关键字
    • 绝对不允许在命名时出现中文拼音命名。

重载和重写,抽象类和接口

  • 重载(overload)

    • 方法的名相同,参数个数、类型不同
    • 不要求方法的访问范围,返回值类型
  • 重写(override)

    • 方法名、参数、返回值相同
    • 子类重写方法范围,不能比父类小

抽象类与接口的区别

  • 抽象类 : 构造方法,类中的方法不一定抽象方法,可以有普通变量,不允许多继承。

  • 接口 : 构造方法,接口中的所有方法均为抽象方法,接口里的都是常量,允许多继承

面向过程和面向对象

  • 面向过程:面向过程会让一个类越来越全能,就像一个管家一样做了所有的事,类代码日夜累积新增需求需要浏览无关代码,有可能影响已测试的功能

  • 面向对象:面向对象的编程方式使得每一个类只做一件事,通过新增对象类,应对新需求的时候改动不影响其他类,有很好的灵活性扩展性

String,StringBuilder和StringBuffer的区别

  • String:是内容不可变的,而StringBuffer、StringBuilder都是内容可变的。

  • StringBuffer:是同步的,数据安全的,但是效率低

  • StringBuilder:是不同步的,数据不安全,相比于来说,效率高

javaee和javase的区别(jdk不分javaSE,javaEE)

  • Java SE: 就是做电脑上的运行软件
  • Java EE:就是用来做网站的 (例如JSP、Html5、CSS3)

常见的运行异常

  • Throwable是Error和Exception的父类
  • 空指针,数组下标越界,运算异常,没有访问权限,类型不存在异常,类型强制转换异常

JDK和JRE的区别

  • JRE:可以支撑Java程序的运行,包括JVM虚拟机和基本的类库
  • JDK:可以支持Java程序的开发,包括编译器、开发工具

类修饰符的访问范围

  • public:本类,同包,子类可见

  • protected:本类,同包,子类可见

  • 默认:本类,同包可见,子类不可见

  • private:本类可见,同包不可见子类不可见

常见HTTP状态码

  • 200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页
  • 401 (未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
  • 403 (禁止) 服务器拒绝请求。
  • 404 (未找到) 服务器找不到请求的网页
  • 417 (未满足期望值) 服务器未满足"期望"请求标头字段的要求
  • 500 (服务器内部错误) 服务器遇到错误,无法完成请求。
  • 502 (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应

Linux常用命令

  • 查找文件:find
  • 查看端口是否占用:lsof -i
  • 终止线程 : kill -9(强制)
  • 创建目录 : mkdir
  • 移动文件: mv
  • 压缩文件:tar -czf
  • 解压文件:tar -xvzf
  • 启动Vi编辑器:vi

项目的并发如何处理的(这是一个坑!)

  • 应用服务器做负载均衡
  • 数据访问服务分布式部署
  • 数据库分布式部署
  • 在应用服务上或者数据访问服务上做缓存

ETL(Kettle spoon工具)

  • ETL是将业务系统的数据经过抽取、清洗、转换之后加载到数据仓库的过程
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值