摘要: J.U.C并发包(1) AbstractQueuedSynchronizer AbstractQueuedSynchronizer是JUC并发包中锁的底层支持,AbstractQueuedSynchronizer是抽象同步队列,简称AQS,是实现同步器的基础组件,并发包中锁的实现底层就是使用AQS实 阅读全文
posted @ 2019-08-20 20:36 家铭 阅读(253) 评论(0) 推荐(0) 编辑
摘要: Java内存模型 1、Java内存模型定义 描述多线程环境中线程与内存的关系 Java内存模型定义了程序中各个变量的访问规则,即虚拟机将变量存储到内存和从内存取出变量的底层细节。 这里的变量可以理解为堆和方法区的,不包括线程私有的栈。 解决了多线程之间共享变量的可见性以及如何在需要的时候对共享变量进 阅读全文
posted @ 2019-08-11 10:58 家铭 阅读(160) 评论(0) 推荐(0) 编辑
摘要: JVM总结(3)Class文件,类加载机制、编译过程 Java编译器先把Java代码编译为存储字节码的Class文件,再通过Class文件进行类加载。 Class类文件的结构 Java编译器可以把Java代码编译为存储字节码的Class文件 Class文件格式采用一种类似C语言结构体的伪结构来存储数 阅读全文
posted @ 2019-08-11 10:27 家铭 阅读(166) 评论(0) 推荐(0) 编辑
摘要: JVM总结(2)java内存区域、字节码执行引擎 1、内存区域 程序计数器:知道线程执行位置,保证线程切换后能恢复到正确的执行位置。 虚拟机栈:存栈帧。栈帧里存局部变量表、操作栈、动态连接、方法返回地址。局部变量表又存了各种基本数据类型和对象引用(句柄)。 本地方法栈:为Native方法服务 堆:存 阅读全文
posted @ 2019-08-11 10:07 家铭 阅读(141) 评论(0) 推荐(0) 编辑
摘要: JVM总结(1) 1、JVM组成: JVM由类加载器子系统、运行时数据区、执行引擎以及本地方法接口组成。 2、JVM运行原理: Java源文件经编译器,编译成字节码程序,通过JVM将每一条指令翻译成不同平台机器码,通过特定平台运行。 3.Java垃圾回收区域 Java垃圾回收只针对堆和方法区的内存。 阅读全文
posted @ 2019-08-10 16:02 家铭 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 注意只有可运行(就绪态)和运行中(运行态)可以相互转换 阅读全文
posted @ 2019-07-30 09:23 家铭 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 报错详细信息:Cause: java.sql.SQLException: Incorrect string value: '\xE4\xBD\xA0\xE5\xA5\xBD' for column ... 报错原因:向数据库写入中文信息时,由于数据库编码的原因不支持中文写入 解决方法:修改数据库编码 阅读全文
posted @ 2019-07-29 10:37 家铭 阅读(317) 评论(0) 推荐(0) 编辑
摘要: Throwable是Error和Exception的基类 Exception(异常) :是程序本身可以处理的异常。 Error(错误): 是程序无法处理的错误。这些错误表示故障发生于虚拟机自身、或者发生在虚拟机试图执行应用时,一般不需要程序处理。 检查异常(编译器要求必须处置的异常) : 除了Err 阅读全文
posted @ 2019-07-28 20:13 家铭 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 值传递:(形式参数类型是基本数据类型):方法调用时,实际参数把它的值传递给对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形式参数值的改变不影响实际参数的值。 引用传递:(形式参数类型是引用数据类型参数):也称为传地址。方法调用时,实际参数是对 阅读全文
posted @ 2019-07-26 17:05 家铭 阅读(148) 评论(0) 推荐(0) 编辑
摘要: Servlet的生命周期一般可以用三个方法来表示: init():仅执行一次,负责在装载Servlet时初始化Servlet对象 service() :核心方法,一般HttpServlet中会有get,post两种处理方式。在调用doGet和doPost方法时会构造servletRequest和se 阅读全文
posted @ 2019-07-25 19:14 家铭 阅读(139) 评论(0) 推荐(0) 编辑