java 基础2

1 java内存泄漏的几种情景

内存泄漏
内存泄露是指无用对象(不再使用的对象)持续占有内存或无用对象的内存得不到及时释放,从而造成的内存空间的浪费称为内存泄露。
1、静态集合类引起内存泄露:
2、当集合里面的对象属性被修改后,再调用remove()方法时不起作用。
3、监听器
4 各种连接
比如数据库连接(dataSourse.getConnection()),网络连接(socket)和io连接,除非其显式的调用了其close()方法将其连接关闭,否则是不会自动被GC 回收的
5、内部类和外部模块等的引用
6、单例模式

2 乐观锁vs悲观锁

乐观锁vs悲观锁
1悲观锁指的是外界对数据修改持保守态度(悲观),因此,在整个数据处理过程中,将数据处于锁定状态。
2 相对悲观锁而言,乐观锁假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则回返回用户错误的信息,让用户决定如何去做。

3 Obect类中的常用方法

protected Object clone()//创建并返回此对象的一个副本。
boolean equals(Object obj)//指示其他某个对象是否与此对象“相等”。
String toString()//返回该对象的字符串表示。
void wait()//在其他线程调用此对象的 notify() 方法或 notifyAll() //方法前,导致当前线程等待。
void notify()//唤醒在此对象监视器上等待的单个线程。
void notifyAll()//唤醒在此对象监视器上等待的所有线程。
int hashCode()//返回该对象的哈希码值。
Class<> getClass()//返回此 Object 的运行时类。
protected void finalize()//当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。

1 基本数据类型 , 所占字节

整型: byte 1个字节8位bit short 2字节 int 4字节 (-21 47483648--2147483647) long 8字节
浮点型:float 4字节 32bit 1bit表示符号 9bit表示整数部分 特定算法非2pow9 ,其余小数部分
double 8字节 19bit表示整数部分
字符型:char 16bit 2 字节 0-65535
布尔型:boolean 1bit 1/8 字节
引用数据类型:
数组[] 类class(抽象类abstract class) 接口interface 枚举 enum 注解@interface

2 常量和变量

常量: 在程序运行过程中不能再次发生改变,存储在常量池,只有一份
1 基本类型的值都可以认为是常量 4 3.4 ‘a' true;
2 String类的值可以视为常量。
变量:变量是一个内存空间(小容器)
在栈内存中开辟的一块内存空间。
空间在开辟(变量声明)必须指定类型 名字(规则规约)
空间的内容可以改变 float x = 3.4F;
long y = 2147489999L ;//如果超过int的取值范围2147483647

3 数据类型的转化

1 同种数据类型之间是可以直接进行赋值操作
int a =1 ;int b = a; || float x=3.4;float y=x;
2 数据类型不同的空间之间的赋值 ----》转换问题
同种大数据类型之间才能发生转换
基本类型---基本类型 之间 可以直接转换(自动,强制)
引用类型--- 引用类型之间 可以直接转换(自动 强制--上转型 下转型)
基本类型-- 引用类型 不可以直接转换(间接--包装类/封装类)
大数值转小数值 强制转换 是可以的 但值会发生改变
每一个字符都对应一个Unicode码 a--97
char x ='a' ;int y = x ; //自动转化 y--97
布尔类型不能与其他类型转换。

4 一个字符型数字 转为 数字 Integer.parseInt()/和 Integer.valueOf的区别;

如果是char类型的单个字母, 可以直接把char类型变量减去char型的0然后赋值给int类型
Integer.parseInt()/和 Integer.valueOf 后面只能是字符串

5 如何保留小数点后两位

返回double型的
1.能四舍五入
1 double d = 114.145;
2 d = (double) Math.round(d * 100) / 100;
3 System.out.println(d)
返回String型的
1 double d = 114.145;
2 String.format("%.2f", d);

6 oop 的特性 , 封装,继承,多态,抽象 各自说一下 及为什么要这样做,比如封装的封闭性;

1.抽象:  抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节
2 继承
3 对多态的详细理解
子类向上转型为父类,会丢失特有的属性和方法,但通过重写父类方法可实现多态,实际调用方法由子类决定。

面向对象4大基本特征:抽象、封装、继承、多态。

抽象。将一些事物的共性抽离出来归为一个类。如对于动物,具有生命体征、活动能力等区别于其它事物的共同特征
封装。有选择地隐藏和暴露数据和方法。比如有U盘这个类,我希望隐藏内部组成和实现,只暴露USB接口以供使用

继承。子类可以直接使用父类的部分数据和方法,可以有选择的扩展。比如鸟是动物,但鸟扩展了飞行的能力。

多态。同一类的对象调用相同方法可以表现出不同的行为。比如动物实现了say()方法,猴子、马等动物重写了say()方法来表现不同的交流语言。

7 abstract 和 interface 的详细区别

abstract
interface

  1. 接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始接口方法可以有默认实现),抽象类可以有非抽象的方法
  2. 接口中的实例变量默认是 final 类型的,而抽象类中则不一定
  3. 一个类可以实现多个接口,但最多只能实现一个抽象类
  4. 一个类实现接口的话要实现接口的所有方法,而抽象类不一定
  5. 接口不能用 new 实例化,但可以声明,但是必须引用一个实现该接口的对象 从设计层面来说,抽象是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范。
8 String 和 Stringbuffer,Stringbuilder的区别。
9 String工具类, 反转,替换等常用方法
10 重载和重写
11 集合
12 final , finally, finalize
13 MVC详解
14 get 和 post 的区别,get 数据集 ascii
15 线程和进程的详细区别

1.进程是系统进行资源分配的基本单位,有独立的内存地址空间; 线程是CPU调度的基本单位,没有单独地址空间,有独立的栈,局部变量,寄存器, 程序计数器等。
2.创建进程的开销大,包括创建虚拟地址空间等需要大量系统资源; 创建线程开销小,基本上只有一个内核对象和一个堆栈。
3.一个进程无法直接访问另一个进程的资源;同一进程内的多个线程共享进程的资源。
4.进程切换开销大,线程切换开销小;进程间通信开销大,线程间通信开销小。
5.线程属于进程,不能独立执行。每个进程至少要有一个线程,成为主线程。
协程是一种用户态的轻量级线程,协程的调度完全由用户控制。协程拥有自己的寄存器上下文和栈。

16 进程之间有哪些通信方式

进程之间的8种通信方式

17 什么是死锁,解决方法

打个比方,假设有P1和P2两个进程,都需要A和B两个资源,现在P1持有A等待B资源,而P2持有B等待A资源,两个都等待另一个资源而不肯释放资源,就这样无限等待中,这就形成死锁,这也是死锁的一种情况。给死锁下个定义,如果一组进程中每一个进程都在等待仅由该组进程中的其他进程才能引发的事件,那么该组进程是死锁的。
解决方法:1、资源剥夺法;2、撤消进程法

18 最小堆的构成

最小堆 构建、插入、删除的过程图解

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,463评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,868评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,213评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,666评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,759评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,725评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,716评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,484评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,928评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,233评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,393评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,073评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,718评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,308评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,538评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,338评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,260评论 2 352