- 博客(6)
- 收藏
- 关注
原创 Java虚拟机学习日记——JAVA内存模型
Java内存模型Java的内存模型从简单的划分上可以称为堆栈,当然堆(heap)和栈(stack)两者是不同的概念,堆的作用是用于保存Java 对象,对象的创建、销毁都是在堆中完成的;栈的作用是来执行程序的,栈中存放的是栈帧,Java中方法被调用时就会生成一个栈帧,方法的调用、执行结束在栈中的表现就是栈帧在栈中的入栈、出栈的操作。实际的Java内存模型要更复杂一下,包括:程序计数器、虚拟机栈,本地...
2018-06-04 19:02:50
177
原创 Logback日志框架配置学习
使用logback的原因项目中使用的最多的日志记录框架,有log4j、logback,logback是log4j的创始人对log4j的一个优化,logback对于log4j的优势不就不记录了logback基础logback分成了三个模块:logback_core,logback_classic,lgoback_access三个模块组成。logback_core是其他两个模块的基...
2018-06-04 17:20:29
315
原创 部分问题日记
1、sql中in和exist两者的区别1. in和exists一般搭配子查询来使用,in的话也可以单独的使用in(a,b,c...)这种方式来使用;2. in关键字会先执行子查询即对内表的查询,再与外表做笛卡尔积(即若外表有1000条记录,内表有100,则会生成1000*100条记录),再根据条件筛选数据,而exists会先执行外表查询,再进行内外的条件判断筛选结果(外表结果集为100,则内表的子...
2018-03-20 00:34:32
262
原创 Mybatis+Spring配置学习日记
数据库:My SQL 配置文件:applicationContext.xml,jdbc.properties,mybatis-config.xml首先jdbc.properties中配置对应的基础数据库的属性,如下jdbc.type=mysqljdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://127.0.0.1:3306/ocdb?u...
2018-03-09 21:36:36
199
原创 GC垃圾回收机制学习日记一
聊到Java中的GC垃圾回收机制,必定离不开Java JVM中的内存模型及Java对象的生命周期,学习GC机制前我先简单了解了一下Java的内存模型。一、Java内存模型 将Java内存简化后,大致分为三个分区:虚拟机栈(线程栈)、Java堆、方法区。 一、虚拟机栈(VM stack),线程私有,在线程在同一时间创建,管理Java方法执行的内存模型,每个方法执行时都会在对应的线程中的线...
2018-03-09 14:43:28
225
原创 面试随笔——记录一些面试中碰到的问题(初级/中级Java开发)
Q:为什么HashMap是非线程安全的?在什么情况下会发生非线程安全问题?A:HashMap是非同步的,一个线程中的写操作或者扩容操作对其他线程并不可见(线程内进行修改,只会修改线程内存中的数据,线程结束后才会将数据写入到主内存中),就导致多个线程操作同一个HashMap,产生碰撞后,线程结束后,最后结果为最后提交的线程数据,前面线程提交的数据全部被覆盖,HashMap的修改操作、扩容操作(由于进...
2018-03-08 23:00:49
4234
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人