牛客网-JAVA工程师面试

1.jvm是如何实现线程的?

线程是比进程更轻量级的调度执行单位。线程可以把一个进程的资源分配和执行调度分开。一个进程里可以启动多条线程,各个线程可共享该进程的资源(内存地址,文件IO等),又可以独立调度。线程是CPU调度的基本单位

主流OS都提供线程实现。Java语言提供对线程操作的同一API,每个已经执行start(),且还未结束的java.lang.Thread类的实例,代表了一个线程。

2.请问什么是JVM内存模型?

Java内存模型(简称JMM),JMM决定一个线程对共享变量的写入何时对另一个线程可见。从抽象的角度来看,JMM定义了线程和主内存之间的抽象关系:线程之间的共享变量存储在主内存(main memory)中,每个线程都有一个私有的本地内存(local memory),本地内存中存储了该线程以读/写共享变量的副本。

在这里插入图片描述
3.请你讲讲&和&&的区别?
在这里插入图片描述
4. int和Integer有什么区别?
在这里插入图片描述
5.web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,请你讲讲如何输出一个某种编码的字符串

Public String translate (String str) {
 	String tempStr = “”;
 		try {
 			tempStr = new String(str.getBytes(“ISO-8859-1), “GBK”);
 			tempStr = tempStr.trim();
 			}
 			catch (Exception e) {
 			System.err.println(e.getMessage());
           }
 			return tempStr;
 }

6.String 和StringBuffer的区别
这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。一个是不可修改,一个是可以修改。
7.int 和 Integer 有什么区别

Java 提供两种不同的类型:引用类型和原始类,这两点主要是速度和大小的不同差异。
Int是java的原始数据类型,(原始类)
Integer是java为int提供的封装类。(引用类型)

8基本数据类型有八个
基本数据类型包括byte、int、char、long、float、double、boolean和short。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值