前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JAVA面试锦囊(十一)

JAVA面试锦囊(十一)

作者头像
用户7386338
发布2020-05-29 11:46:03
3420
发布2020-05-29 11:46:03
举报
文章被收录于专栏:Java患者Java患者

● Oracle的基本数据类型

Oracle的基本数据类型(常用):

1、字符型

char 固定长度字符串 占2000个字节

varchar2 可变长度字符串 占4000个字节

nvarchar2 占2000个字符(最多能存2000个字母/中文)

2、大对象型(lob)

Blob :二进制数据 最大长度4G

Blob 用于存一些图片,视频,文件。

Clob :字符数据 最大长度4G,可以存大字符串 varchar2和nvarchar2都具有一定的局限性,它们长度有限,但数据库中无论用varchar2或nvarchar2类型,还是用clob,在java端都使用String接收。

3、数值型

Integer 整数类型,小的整数。

Float 浮点数类型。

Real 实数类型。

Number(p,s)包含小数位的数值类型。P表示精度,s表示小数后的位数。

Eg: number(10,2) 表示小数点之前可有8位数字,小数点后有2位。

4、日期类型

Date 日期(日-月-年) DD-MM-YY(HH-MI-SS)

Timestamp 跟date比 它可以精确到微秒。精确范围0~9 默认为6.

● sleep()和wait()方法有什么区别?

1、sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,把执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。

wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。

2、sleep()和yield()有什么区别?

1)sleep()方法给其他线程运行机会时不考虑线程的优先级,因此会给低优先级的线程以运行的机会;yield()方法只会给相同优先级或更高优先级的线程以运行的机会;

2)线程执行sleep()方法后转入阻塞(blocked)状态,而执行yield()方法后转入就绪(ready)状态;

3)sleep()方法声明抛出InterruptedException,而yield()方法没有声明任何异常;

4)sleep()方法比yield()方法(跟操作系统相关)具有更好的可移植性。

● 说一下强引用、软引用、弱引用、虚引用以及他们之间和gc的关系?

强引用:new出的对象之类的引用,

只要强引用还在,永远不会回收

软引用:引用但非必须的对象,内存溢出异常之前,回收

弱引用:非必须的对象,对象能生存到下一次垃圾收集发生之前。

虚引用:对生存时间无影响,在垃圾回收时得到通知。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java患者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档