2020年6月19日

MyBatis理解

摘要: 采用情景对话的方式虚构面试场景,旨在帮助大家梳理常用 Java 技术栈的知识点。面试环节面试官:你先说下你对mybatis的整体理解。我:MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。它避免了几乎所有JDBC代码和手动设置参数以及获取结果集。MyBatis可以对配置和原生Map使用简单的XML或注解,将接口和Java的POJO映射成数据库中的记录。面试官:那你们公司为什... 阅读全文

posted @ 2020-06-19 21:11 努力做一个伪程序员 阅读(343) 评论(0) 推荐(0) 编辑

Java 并发编程篇

摘要: 面试中问的频率很高的一个是分布式,一个就是并发。而JUC(java.util.concurrent)里的东西是并发编程的基石。本文采用情景对话的方式还原面试场景,帮助大家梳理常用 Java 技术栈的知识点。面试官:你先说下你对synchronized的了解。我:synchronized可以保证方法或者代码在运行时,同一时刻只有一个方法可以进入到临界区,同时还可以保证共享变量的内存可见性。我:Jav... 阅读全文

posted @ 2020-06-19 21:04 努力做一个伪程序员 阅读(151) 评论(0) 推荐(0) 编辑

JAVA多线程之volatile 与 synchronized 的比较

摘要: 一,volatile关键字的可见性要想理解volatile关键字,得先了解下JAVA的内存模型,Java内存模型的抽象示意图如下:从图中可以看出:①每个线程都有一个自己的本地内存空间--线程栈空间???线程执行时,先把变量从主内存读取到线程自己的本地内存空间,然后再对该变量进行操作②对该变量操作完后,在某个时间再把变量刷新回主内存因此,就存在内存可见性问题,看一个示例程序:(摘自书上)public... 阅读全文

posted @ 2020-06-19 20:59 努力做一个伪程序员 阅读(175) 评论(0) 推荐(0) 编辑

导航