自动内存管理
前言疫情期间看完了《深入理解Java虚拟机》一书,看完之后觉得有些囫囵吞枣,没有留下深刻印象,因此写点小小总结,把握一下重点知识,尽量形成认知框架中的一部分。
原书的内容十分详细,也肯定写得比我好。我这里只做简单的概括,详细的还是去书里看比较好。
Java内存区域Java虚拟机管理的内存包含以下几个 ...
设计模式
设计模式参考书目:《大话设计模式》、《软件工程原理》
面向对象
四大好处:可维护、可扩展、可复用、灵活性好
第一章 简单工厂模式
所有在用简单工厂的地方,都可以考虑用反射技术来去除switch或if,解除分支判断带来的耦合。
通过创建反射类,结合配置文件将具体要创建的类的选择过程从工厂类的代码中 ...
c++11/14-2
c++标准库右值引用为了解决不必要的复制,并且允许perfect forwarding;
当赋值操作(=号)的右边是一个右值rvalue,那么左边的对象可以从右边的对象“偷”resources,即允许move语义;
Lvalue: 可以出现在operator= 左侧者
Rvalue: 只能出现在o ...
c++11/14-1
变参模板变参模板(Variadic Templates),能够接受任意参数的模板123456789101112131415161718// example 1void print() {}template <typename T, typename... Types> ...
Spring-1
Bean 装配自动化装配
自动化装配 = 组件扫描 + 自动装配
组件扫描(component scanning): Spring会自动发现应用上下文中所创建的bean
自动装配(autowiring): Spring 自动满足bean之间的依赖
@Component注解作用在类上,表明该类作 ...
Makefile Record
Makefile
数据库基础-3
数据库基础知识(3)当前读与快照读
当前读:即加锁读,读取记录的最新版本,会加锁保证其他并发事务不能修改当前记录,直至获取了锁的事务释放锁;
使用当前读的操作主要包括:显式加锁的读操作与插入/更新/删除等写操作,如下所示:
12345select * from table where ? loc ...
数据库基础-2
数据库基础知识(2)Mysql超键 候选键 主键 外键超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键。超键一定包含主键。候选键(candidate key):不含多余属性的超键称为候选键。即若在候选键中删除一个属性,那么该属性集就不是键了。主键(primary key) ...
数据库基础-1
数据库基础知识(1)事务数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,是DBMS当中用户程序的任何一次执行,事务是DBMS能看到的基本修改单元。事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操 ...
c++ 基础(3)
C++ 基础知识(3)右值引用左值和右值根据《C++ Primer》的说法,左值和右值可以这样区分:
一个表达式是左值还是右值,取决于我们使用的是它的值还是它在内存中的位置(作为对象的身份)。也就是说一个表达式具体是左值还是右值,要根据实际在语句中的含义来确定。例如1234567int foo(4 ...