读书笔记
记录阅读笔记
azi_csdn
小垃圾
展开
-
产品经理与众不同的思维方式与“职业病”
产品经理与众不同的思维方式与“职业病”做技术开发快三年了,最近总觉得自己思维不够发散,看问题的角度不够灵活,就尝试着看一些不同专业的书,帮助自己打破思维定势。作为ToB技术业务(wms系统)开发,工作中经常考虑的方面是技术实现上是否有难度,怎样才能使性能提高,系统怎样设计,代码风格怎样规范。中间换了一家公司之后,做相同的ToB业务,系统更加庞大,用户群体量增大了几十倍,研发要参与值班辅助用户更好地使用系统。在与系统用户直接接触了几个月之后我发现了自己作为技术研发上与用户沟通侧重点的不同。在排查问题时,技原创 2021-05-05 10:47:05 · 134 阅读 · 0 评论 -
锁——《MySQL技术内幕》读书笔记
1、使用锁的目的是什么?数据库系统使用锁是为了支持对共享资源进行并发访问,提供数据的完整性和一致性。2、InnoDB锁InnoDB使用了表锁和行锁。InnoDB存储引擎实现了如下两种标准的行级锁:□ 共享锁(S Lock),允许事务读一行数据。□ 排他锁(X Lock),允许事务删除或更新一行数据。共享锁和排他锁的兼容性:(兼容是指对同一条记录锁的兼容性情况)InnoDB存储引擎支持多粒度(granular)锁定,这种锁定允许事务在行级上的锁和表级上的锁同时存在。InnoDB支持意向锁,意原创 2020-06-16 16:57:08 · 210 阅读 · 0 评论 -
线程安全与锁优化-《深入理解java虚拟机》读书笔记
一、线程安全的实现方法?互斥同步synchronized关键字,块结构同步语法。被其修饰的同步块对同一个线程来讲是可重入的,所以同一线程反复进入同步块也不会出现自己把自己锁死的情况。被其修饰的同步块在持有锁的线程执行完毕并释放锁之前,会无条件阻塞后面线程的进入。synchronized是一种重量级锁JUC包提供了Lock接口,在类库层面实现同步,重入锁和读写重入锁是Lock最常见的一种实现,以重入锁ReentrantLock为例,相比于synchronized增加了一些高级功能。等待可中断:原创 2020-06-11 14:50:35 · 230 阅读 · 0 评论 -
Java内存模型——《深入理解java虚拟机》读书笔记
1、TPS是什么?Transactions Per Second,每秒事务处理数,代表着一秒内服务端平均能响应的请求总数。2、java内存模型内存模型可以理解为在特定的操作协议下,对特定的内存或高速缓存进行读写访问的抽象过程。java内存模型的主要目的是定义程序中各种变量的访问规则,即关注虚拟机把变量存储到内存和从内存中取出变量值这样的底层细节。java内存模型规定了所有变量(不包括局部变量和参数)都存储在主内存中,每条线程还有自己的工作内存,该线程的工作内存中保存了被该线程使用的变量的主内存副本原创 2020-06-10 14:53:28 · 166 阅读 · 0 评论 -
虚拟机类加载机制——《深入理解java虚拟机》读书笔记
1、什么是类加载机制?答:Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机使用的java类型,这个过程即被称作java的类加载机制。Java中类型的加载、连接和初始化过程都是在程序运行期间完成的。2、类加载经过几个生命周期?其中加载、验证、准备、初始化、卸载这五个阶段的顺序是确定的,类型的加载过程必须要按这种顺序按部就班的“开始”,但不是“进行”或者“完成”。因为这几个阶段都是互相交叉的进行,会在一个阶段执行过程中调用、激活另外一个阶原创 2020-06-08 14:41:26 · 192 阅读 · 0 评论 -
垃圾回收GC详解——《深入理解Java虚拟机》读书笔记
1、java程序员为什么要去了解垃圾收集和内存分配?答:当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就必须对这些”自动化“的技术实施必要的监控和调节——3.1概述2、哪些需要垃圾回收?答:前面的文章已经介绍了java虚拟机运行时数据区主要分为两大部分:程序计数器、java虚拟机栈和本地方法栈为线程隔离的数据区;java堆和方法区为所有线程共享的数据区。其中前者依赖用户线程的启动和结束而建立和销毁,因此不需要过多考虑如何回收的问题。后者则有着显著的不确定性,这部原创 2020-06-04 15:27:42 · 376 阅读 · 0 评论 -
HotSpot虚拟机对象——《深入理解Java虚拟机》读书笔记
进一步了解虚拟机内存中数据的其它细节,譬如它们是如何创建、如何布局以及如何访问的。对于这样涉及细节的问题,必须把讨论范围限定在具体的虚拟机和集中在某一个内存区域上才有意义以下介绍HotSpot虚拟机在java堆中对象分配、布局和访问的全过程。一、对象分配java虚拟机遇到一条字节码new指令时,1、检查指令参数能否在常量池中定位到一个类的符号饮用;2、检查符号饮用代表的类是否已执行过类加载过程;3、类加载检查通过后,分配内存。分配内存方式包括:1、指针碰撞2、空闲列表分配内存需要考虑线程原创 2020-06-03 15:09:32 · 240 阅读 · 0 评论 -
java内存区域——《深入理解java虚拟机》读书笔记
***对于java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出问题。***—— 2.1概述自动内存管理的优点:对应的开发人员不需要关注内存管理,通过自动的垃圾回收机制,在一定程度上可以防止内存泄漏,提高内存的使用率java虚拟机运行时数据区由所有线程共享的数据区:随着虚拟机进程的启动而一直存在;线程隔离的数据区:依赖用户线程的启动和结束而建立和销毁。java堆所有的对象实例以及数组都应当在堆上分配.原创 2020-06-03 11:43:23 · 203 阅读 · 0 评论