随笔分类 -  java

摘要:1. MySQL的事务和锁 1.1. 事务的四大特性ACID https://blog.csdn.net/dengjili/article/details/82468576 原子性(Atomicity) 原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。 一致性(Cons 阅读全文
posted @ 2020-03-01 22:06 傲衣华少 阅读(197) 评论(0) 推荐(0)
摘要:1 容器体系图 简图: 详图: 2 基础 2.1 Iterator接口 迭代器。 具有的能力:后向迭代、删除。 2.2 Iterable接口 表示一个类具有迭代能力。 提供能力:通过iterator()方法,返回iterator。 2.3 Collection接口 集合接口 继承Iterable,具 阅读全文
posted @ 2019-04-02 21:06 傲衣华少 阅读(198) 评论(0) 推荐(0)
摘要:Java代理 1、代理模式 定义:给某个对象提供一个代理对象,并由代理对象控制对于原对象的访问,即客户不直接操控原对象,而是通过代理对象间接地操控原对象。 其实就是委托、聚合、中间人。 为了保持行为的一致性,代理类和委托类通常会实现相同的接口,所以在访问者看来两者没有丝毫的区别。 代理模式UML图: 阅读全文
posted @ 2019-02-19 14:51 傲衣华少 阅读(218) 评论(0) 推荐(0)
摘要:收获颇多的一本书,非常值得细细品味。 1、所谓万变不离其宗,此书便是宗。读过此书后,发现以前看过的网上好多五花八门的文章,都是源自此书。 2、举一反三。此书中讲到的jvm用到的各种思想,在工作中其实经常用到,在C++及各种公共组件中也经常看到,在此处系统的看到系统的归纳,还是会对理解多有帮助。 3、 阅读全文
posted @ 2019-02-13 22:21 傲衣华少 阅读(333) 评论(0) 推荐(0)
摘要:1 概述 对于这部分的主题“高效并发”来讲,首先需要保证并发的正确性,然后在此基础上实现高效。 2 线程安全 《Java Concurrency In Practice》 的作者Brian Goetz对“线程安全”有一个比较恰当的定义: “当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下 阅读全文
posted @ 2019-02-13 18:44 傲衣华少 阅读(257) 评论(0) 推荐(0)
摘要:1、概述 摩尔定律:描述处理器晶体管数量与运行效率之间的发展关系。Amdahl定律:通过系统中并行化与串行化的比重来描述多处理器系统能获得的运算加速能力。 从摩尔定律到Amdahl定律的转变,代表了近年来硬件发展从追求处理器频率到追求多核心并行处理的发展过程。 并发的好处: 1、计算机的运算速度与它 阅读全文
posted @ 2019-02-13 18:21 傲衣华少 阅读(283) 评论(0) 推荐(0)
摘要:1、概述 Java程序最初是通过解释器(Interpreter)进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这些代码认定为“热点代码”(Hot Spot Code)。 为了提高热点代码的执行效率,在运行时,虚拟机将会把这些代码编译成与本地平台相关的机器码,并进行各种层次的优化 阅读全文
posted @ 2019-02-12 16:40 傲衣华少 阅读(320) 评论(0) 推荐(0)
摘要:1、概述 1.1、编译器的分类 前端编译器:Sun的Javac、 Eclipse JDT中的增量式编译器(ECJ)[1]。 把*.java文件转变成*.class文件 JIT编译器:HotSpot VM的C1、 C2编译器。是指虚拟机的后端运行期编译器 ,把字节码转变成机器码 AOT编译器:GNU 阅读全文
posted @ 2019-02-12 15:45 傲衣华少 阅读(200) 评论(0) 推荐(0)
摘要:1、概述 在Class文件格式与执行引擎这部分中 : 用户不能控制的:Class文件以何种格式存储,类型何时加载、 如何连接,以及虚拟机如何执行字节码指令等都是由虚拟机直接控制的行为 用户能控制的:字节码生成与类加载器 2、Tomcat:正统的类加载器架构 还是双亲委托模型,继承关系如下图: 灰色背 阅读全文
posted @ 2019-02-12 15:14 傲衣华少 阅读(295) 评论(0) 推荐(0)
摘要:这章原名叫“虚拟机字节码执行引擎”,实际就是讲的函数如何调用和执行的。 1、概述 “虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力, 其区别是物理机的执行引擎是直接建立在处理器、 硬件、 指令集和操作系统层面上的, 而虚拟机的执行引擎则是由自己实现的,因此可以自行制定指令集与执行引 阅读全文
posted @ 2019-02-11 17:25 傲衣华少 阅读(307) 评论(0) 推荐(0)
摘要:1、概述 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、 转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 2、类加载顺序 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、 验证(Verific 阅读全文
posted @ 2019-02-11 14:19 傲衣华少 阅读(128) 评论(0) 推荐(0)
摘要:无关性 无关性的体现有两个方面: 1、平台无关性:可在不同的操作系统和机器指令集上执行,可在不同厂商的虚拟机平台上执行。 2、语言无关性:用不同编程语言写出的代码编译生成的文件都可以运行。 实现思想: 面向接口,定义虚拟机和编译器之间的接口规范。也就是编译后文件的存储格式——字节码(ByteCode 阅读全文
posted @ 2019-02-02 17:01 傲衣华少 阅读(226) 评论(0) 推荐(0)
摘要:高性能硬件上的程序部署策略 在高性能硬件上部署程序,目前主要有两种方式: 通过64位JDK来使用大内存。 -- 缺点:GC停顿时间长 使用若干个32位虚拟机建立逻辑集群来利用硬件资源。 -- 思想: 分治,汇总。 缺点:分布式/多实例的缺点,如数据共享,数据一致性,一致性hash等。 堆外内存导致的 阅读全文
posted @ 2019-02-02 11:53 傲衣华少 阅读(151) 评论(0) 推荐(0)
摘要:1、概述 工具作用:性能监控与故障处理 工作原理:分析数据 数据包含:运行日志、 异常堆栈、 GC日志、 线程快照(threaddump/javacore文件)、 堆转储快照(heapdump/hprof文件)等。 2、JDK命令行工具 JDK命令行是jdk/lib/tools.jar 的封装,所以 阅读全文
posted @ 2019-02-01 11:32 傲衣华少 阅读(205) 评论(0) 推荐(0)
摘要:1、学习目的 当需要排查各种内存溢出、 内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就需要对这些“自动化”的技术实施必要的监控和调节。 Java内存运行时区域的各个部分,其中程序计数器、 虚拟机栈、 本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊 阅读全文
posted @ 2019-02-01 08:59 傲衣华少 阅读(132) 评论(0) 推荐(0)
摘要:对象的创建过程 1、加载类 虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、 解析和初始化过。 如果没有,那必须先执行相应的类加载过程。 2、分配内存 在类加载检查通过后,接下来虚拟机将为新生对象分配内存。 对象 阅读全文
posted @ 2019-02-01 08:58 傲衣华少 阅读(172) 评论(0) 推荐(0)
摘要:1、内存区域 根据《Java虚拟机规范(Java SE 7版)》 的规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域,如图所示。 程序计数器 当前线程所执行的字节码的行号指示器 属于线程 唯一不会OutOfMemoryError的区域 Java虚拟机栈 描述的是Java方法执行的内存模 阅读全文
posted @ 2019-02-01 08:55 傲衣华少 阅读(158) 评论(0) 推荐(0)
摘要:Java技术体系 如果仅从传统意义上来看,Sun官方所定义的Java技术体系包括以下几个组成部分:Java程序设计语言各种硬件平台上的Java虚拟机Class文件格式Java API类库来自商业机构和开源社区的第三方Java类库 我们可以把Java程序设计语言、 Java虚拟机、 Java API类 阅读全文
posted @ 2019-01-31 16:30 傲衣华少 阅读(206) 评论(0) 推荐(0)
摘要:什么的Spring Data JPA Spring Data JPA为Java Persistence API(JPA)提供了存储库支持。它简化了需要访问JPA数据源的应用程序的开发。 maven依赖 <dependency> <groupId>org.springframework.boot</g 阅读全文
posted @ 2018-12-29 09:15 傲衣华少 阅读(699) 评论(0) 推荐(0)
摘要:https://docs.spring.io/spring/docs/5.1.3.RELEASE/spring-framework-reference/core.html#beans 阅读全文
posted @ 2018-12-28 14:53 傲衣华少 阅读(136) 评论(0) 推荐(0)