java面试复习day01

在这我想说下我为什么会想到写博客,因为我也不知道,就是可能现在开始慢慢的复习,开始准备面试找工作,所以想找个地方去记录下我每天都看了什么,不然我感觉我看的每天都是重复的,我的复习思路是从java 基础–>java web–>项目,并且面试对于我们这种实习生来说,面试问的最多的还是基础,所以还是要把把java 理解的深刻一点,希望自己能坚持.
一:final, finally, finalize的区别
final—修饰符(关键字)
如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载
finally—
再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
finalize—方法名。
Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的

二Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作一个接口,由另一个内部类实现,这里记住匿名内部类和内部类是有区别的.

三 &和&&的区别
&是位运算符,”和的意思”。&&是布尔逻辑运算符,”并且”的意思

四,HashMap和Hashtable的区别。

都属于Map接口的类,实现了将惟一键映射到特定的值上。
HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值,HashMap允许将null作为一个entry的key或者value,而Hashtable不允许 还有就是,Hashtable的contains方法去掉了,改成containsvalue和 containsKey。因为contains方法容易让人引起误解。 最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在 多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外步。 Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异
五,Collection 和 Collections的区别
Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。
Collection是个java.util下的接口,它是各种集合结构的父接口,
注意:一个是类,一个是接口.
六,GC是什么? 为什么要有GC? (基础)。
GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:
System.gc()
Runtime.getRuntime().gc()
七,String s = new String(“xyz”);创建了几个String Object?
两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。
八.short s1 = 1; s1 = s1 + 1;有什么错?
short s1 = 1; s1 = s1 + 1;有错,s1是short型,s1+1是int型,不能显式转化为short型。可修改为s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正确。
九,sleep() 和 wait() 有什么区别?
sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级
(b)正在运行的线程因为其它原因而阻塞。
wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。
十,数组有没有length()这个方法? String有没有length()这个方法?
数组没有length()这个方法,有length的属性。
String有有length()这个方法。


sql 语句
注:user /products/orderitem/orders 为表名

1.update
基本用法:
列名和类型的值要相同
一般情况下,weere的条件是主键的数据
updata userSET state=1
update ‘user’ set telephone=”311331432”,introduce=’xxxx’ where id=8
– 更新的类的数据类型要对应
updata ‘user’
set registTime=’2018-10-11’
where id=8;
– 更新的类的数据类型要对应
updata ‘user’
set registTime=’2018-10-11’
where id=8;
– 批量修改图片地址的路径
– mysql 内置函数()

– delete
– delete from 表 [where条件]
/*
注意事项
删除表中的一行记录,不能删除某列值
如果没有条件删除表中所以的列
*/
– 带条件的删除数据
– 每删除一条 会生成一条日志记录(可通过日志恢复)
delete from notice
where n_id<3

– 无日志的删除(删除的效率比较高)
truncate table notice

– select语句
– select [distinct] *|列名 from 表 [where 条件];
– 这种写法只会出现在数据量小,开发中查看数据使用
– 通配符的写法只会导致表扫描 会在表上加独锁
select * from user;

– 推荐 查询明确列
select id,username,password,gender enmail,
telephone,introduce,activeCode,state,role,
regsitTime from user
where id<3;
– 给出列的别名
select CONCAT(id,username) as tt from user;

– 模糊查询
select * from products
where name like ‘java%’ or description like ‘%java%’
/*
% 代表任意字符
%java% java前后可以有任意字符
or 表示满足其中的一个条件都能筛选出了
and表示 要满足其中的所有条件才能筛选出来
*/
– 在查询中使用算数运算符(只能用在数值列)
select name,price+10 as price from products

– 去除重复列
select distinct order_id from orderitem

– 使用聚合函数
select COUNT(buynum) from orderitem

– 排序 asc 升序(默认) desc 降序
select * from products
order by price asc

– 组合排序
– 先按pnum降序排 ,在按price升序排
select * from products
order by pnum desc,price;

– 分组排序
select COUNT(order_id),product_id from orderitem
group by order_id

– 多表连接查询
– 左连接,右连接,自连接,交叉连接,全连接

– 内连接(等值连接)
– 连接两张表 然后其中那个 u o是设置别名
select o.id,u.username,o.money
from user u
inner join orders o
on u.id=o.user_id;

– 等值连接的另外一种写法
select o.id,u.username,o.money
from user u , orders o
on u.id=o.user_id;

– 左连接
select o.id,u.username,o.money
from user u
left join orders o
on u.id=o.user_id;

– 右连接
select o.id,u.username,o.money
from user u
right join orders o
on u.id=o.user_id;

– 交叉连接{两个表的笛卡尔积 两张表相连接}
select * from user cross join orders

– 自连接
select * from user u1 inner join user u2
on u1.id=u2.id

– 子查询
select o.id,u.username,o.money
from user u , orders o
where o.user_id in (select id from user where id<4);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值