总结

1、String、StringBuffer和StringBuilder的区别

String是不可变对象,每次对其操作都等同于生成一个新的String对象,每次操作后指针指向新的对象,当内存中存在较多无用的对象后,GC就会开始工作,导致速度很慢,而StringBufferStringBuilder每次操作都是对自己本身进行操作,两个都是利用缓冲区,这样提升了速度,但是StringBuffer是线程安全的,而StringBuilder是非线程安全的,速度会快一些。创建String对象时一般是会先在字符串常量区创建一个对象然后赋值,这里在类加载的时候是涉及到两个对象,但是在程序执行过程中是创建了一个对象。

2、GC的概念。循环引用的对象能否被回收?

GC就是JVM中的内存进行标记,判断哪些内存需要回收,根据一定的回收策略自动回收相关内存,防止出现内存泄漏的情况。循环应用的对象也是可以被回收的,因为GC回收对象不仅仅考虑对象是否被引用,还要看对象是否被至少一个GC roots对象直接或间接引用。这里GC roots有:
a.每个线程当前的函数调用栈,从栈顶到栈底的每个函数里的局部变量
b.静态变量
c.被JNI引用的变量

3、Java中的内存溢出是如何造成的?

(1)首先要知道Java中的内存是如何管理的:在Java程序中,我们通常使用new为对象分配内存,而这些内存空间都在堆(Heap)上。java中对象之间的引用关系像一条链子,每分配一个新的对象,堆指针就会向后移动,当移动到内存的最终地址,内存就耗尽了,此时GC就会参与进来回收不再使用的内存,当然回收的策略有很多。
(2)java内存泄漏其实就是不再被使用的对象的内存不能被回收。比如一个类中维护了一个对象实例,而我们希望这个实例只作用于某个方法中,但是当这个方法运行完了之后此对象占用的内存是不会被释放的,只有在类创建的实例对象被释放后此对象才能被释放,严格来说这就是一种内存泄漏,解决方法就是将类中维护的实例放到方法中去维护,这样当方法执行完后此实例也会被释放。
(3)一般解决内存泄漏的方法就是尽量减小对象的作用域,对象不用后设置为null,还有各类close方法。如数据库连接、网络连接、IO连接,单例也会造成内存泄漏,可以使用同步解决。

4、高并发下线程安全的单例模式

一般单例模式有饿汉式与懒汉式,但是在多线程中极易出现线程冲突,解决方法有很多,如对单例模式进行同步,推荐的方式是双检查锁机制,其实就是首先判断是否不为空,不为空直接获取;否则就需要同步,同步之后再加一个判空来实现。当然还有维护静态实例(static和枚举都行)等方式。

5、异常机制

异常有很多,如文件找不到、网络连接失败等。异常Throwable分为Exception异常和Error错误。Erro是程序自己无法处理的,而Exception是程序本身可以处理的异常。Exception又分为IO异常和RuntimeException异常。而总的来说,异常分为可检查的异常,编译器要求必须处理;不可检查异常就是Error和运行时异常。运行时异常都是RuntimeException的子类。异常处理一般可以捕获和抛出,常见的运行时异常如NullPointerException UnknowTypeException、ClassNotFoundException等。

6、HashMap中的key。

jdk8key是可以为null的,但是不是所有对象都能作为key,比如可变对象,当使用可变对象作为key的时候很容易造成数据丢失,一般如果要将可变对象作为key,一定要保证在修改其中的某些字段的时候保证其hashcode值不变。

7、守护线程分为用户守护线程和Daemon守护线程。

只要当前JVM中存在任何一个非守护线程没有结束,那么守护线程就工作,守护线程最典型的应用就是GC。我们可以自己设置守护线程,但是必须在线程运行之前,我们不能将一个正在运行的线程设置为守护线程。

8、对SQL进行优化的原则

(1)使用索引来更快地遍历表
(2)不能用null作索引
(3)EXISTS要远比IN的效率高
(4)在海量查询时尽量少用格式转换
(5)循环中不要使用变量

9、数据库存储引擎,存储数据结构

ISAM读取操作快,占用资源少,但是不支持事务和容错;
MYISAM使用表格索引机制,来优化多个并发的读写操作
INNODB支持对事务的处理,支持外来键

10、乐观锁、悲观锁

悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性,但这使得数据库开销太大,特别是长事物。乐观锁大多是基于数据库版本记录机制实现的,即为数据增加一个版本标识,读取数据时将版本号一同读出,对此版本号加一,然后当前版本数据进行对比,如果版本号大于当前的版本号,则更新,否则认为是过期数据。

java中的悲观锁和数据库中的悲观锁类似,而乐观锁是假设完成某项操作不会产生冲突,当在完成过程中发生冲突则重试,直到成功为止。

11、Mybatis的工作原理

查看笔记中内容。

12、IO(BIO)与NIO、AIO(NIO2)的区别,阻塞与非阻塞的区别

IO是同步阻塞式,就是每次只能为一个请求服务,每个请求在处理过程中会阻塞其他请求,当并发量较高时不可用,于是有了伪异步IO,这是用线程池来解决的。当某个请求没有得到响应,则会一直阻塞。
NIO是同步非阻塞式。使用全双工通道Channel和多路复用器Selector实现,可以同时进行读写操作,Selector会不断轮询注册在其上 通道,如果哪个通道准备好了就为其服务。
AIO是异步非阻塞式,AIO提供了异步通道,并提供了异步文件通道和异步套接字的实现,异步套接字时真正的异步非阻塞IO。这种IO的读写都是异步的。

13、海量数据分析

14、多线程

Hibernate一级和二级缓存,其他缓存,事物传播行为种类,如何实现申明式事务
restful的好处,有几种请求,表单如何提交put请求
web中安全问题的考虑如何防止,web系统整体架构

一、
1、hashmap、concurrenthashmap的底层实现和区别;
2、spring框架的原理
3、如何写一个orm框架
4、hibernate一级和二级缓存,其他缓存
5、hibernate事务传播行为种类
6、springmvc原理
7、restful的好处
8、restful有几种请求,表单如何提交put请求
9、web中安全问题的考虑,如何防止
10、web系统整体架构
11、hibernate如何实现声明式事务
12、java并发包
13、volatile
14、spring底层数据 结构
15、如何进行反射,如何提高反射的性能
16、如何实现java的代理,为什么需要实现接口
18、三次握手
19、springmvc有哪些注解

二、
1、什么是restful web service
2、并发集合
3、项目中使用的数据结构
4、TCP中断连接四次挥手
5、http和https
6、知道哪些锁
7、JVM内存
8、springcloud相关

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 141,232评论 1 296
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 60,610评论 1 254
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 93,049评论 0 210
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 40,691评论 0 171
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 48,375评论 1 250
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 38,571评论 1 169
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 30,262评论 2 266
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 29,036评论 0 163
  • 想象着我的养父在大火中拼命挣扎,窒息,最后皮肤化为焦炭。我心中就已经是抑制不住地欢快,这就叫做以其人之道,还治其人...
    爱写小说的胖达阅读 28,781评论 6 225
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 32,394评论 0 211
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 29,154评论 2 212
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 30,470评论 1 222
  • 白月光回国,霸总把我这个替身辞退。还一脸阴沉的警告我。[不要出现在思思面前, 不然我有一百种方法让你生不如死。]我...
    爱写小说的胖达阅读 24,151评论 0 31
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 27,023评论 2 210
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 31,376评论 3 201
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,579评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 25,926评论 0 163
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 33,342评论 2 227
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 33,466评论 2 229

推荐阅读更多精彩内容