- 博客(10)
- 收藏
- 关注
原创 Java线程与内存模型
1.工作流程图2.内存之间的交互操作2.1 Lock (锁定): 把一变量标识为一条线程独占的状态2.2 unlock (解锁) : 把处于锁定状态的变量释放出来2.3 read (读取) : 把一个变量从主内存加载到工作内存2.4 load (载入) : 把工作内存中的变量值复制到变量副本当中2.5 use (使用) : 将值传递给工作引擎2.6 assign (赋值) : 把...
2019-04-30 17:47:42 221
原创 Java的GC和内存分配策略
1.概述学习GC需要搞懂以下三个问题:1.1 哪些内存需要回收1.2 什么时候回收1.3 如何回收问题1哪些内存需要回收,这个问题指向的就是堆空间当中存放着的对象实例,这一部分是可以动态变化的,所以GC的第一步就是需要判断在这个堆空间当中哪些对象还存活着解决方法1.引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用,则计数器+1,当引用失效则计数器-1,当...
2019-04-30 14:50:30 397
原创 浅谈产品体验优化
1.产品体验1.1 易懂(能用)场景化结构化易理解1.2 易操作(易用)简约不干扰一致性常规化1.3 超预期(好用)美感潮流2.常见问题2.1 企业应用复杂,功能重要,页面要怎么取舍场景化设计:面向场景,才能取舍沉浸于场景,才能感同身受对待用户,少即是多:不堆砌功能,功能服务于场景和整体体验好的解决方案都是优雅的,如果解决方案非常复杂,...
2019-04-28 17:35:42 975
原创 数据库MySQL-SQL优化
1.SQL优化1.1 sql只取所需字段不要 *1.2 非业务需求无法解决情况下,不在SQL当中使用函数1.3 删除时,务必记得删除相关表数据1.4 尽量不要使用FULLTEXT全文索引作为MySQL索引类型的创建1.5 做同一个记录修改时,尽量不要删掉再插入一个2.代码优化2.1 多个增,删,改时,一定要放到service中去2.2 for循环for循环下不要定义不必要...
2019-04-28 09:33:29 316
原创 Spring中的SpEL表达式概述
1.SpEL概述Spring表达式语言全称为“Spring Expression Language”,缩写为“SpEL”,类似于Struts2x中使用的OGNL表达式语言, 能在运行时构建复杂表达式、存取对象图属性、对象方法调用等等,并且能与Spring功能完美整合,如能用来配置Bean定义。 Spring表达式支持功能字符表达式布尔值和关系操作符正则表达式类表达式访问prop...
2019-04-26 17:02:29 435
原创 数据库MySQL-索引类型
1.索引类型1.1 普通索引 NORMAL:是最基本的索引,它没有任何限制。1.2 唯一索引 SPATIAL:与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。1.3 主键索引:是一种特殊的唯一索引,一个表只能有一个主键,不允许有空值。一般是在建表的时候同时创建主键索引:1.4 组合索引:指多个字段上创建的索引,只有在查询条...
2019-04-26 16:59:42 459
原创 学习单元测试,你必须要懂得的基础理论
1.定义1.1 单元测试是编写测试代码,用来检测特定的、明确的、细颗粒的功能1.2 单元测试并不一定保证程序功能正确性,更不保证整体业务正确性2.编写目的2.1 为了达到 尽早发现问题 和 尽量小的影响范围 以及 暴露错误2.2 提升代码质量,督促开发人员写出更加易于测试和维护的代码2.3 减少维护成本保证功能实现的长期稳定2.4 降低重构难度2.5 提升代码信心2.6 提...
2019-04-26 16:57:38 888
原创 Java设计模式-装饰模式
装饰模式:简单的来说就是动态的给一个对象增加额外的功能,就单纯的新增功能来说会比单一的给一个子类新增功能来的灵活,是跟代理模式中的静态代理模式和动态代理模式十分相近,但是静态代理会使得代码非常臃肿,维护性比较差,但是动态代理使用代理类,让代理类只是存在于内存当中运行,不需要产生具体的java文件,这样的模式会更加的优秀.接下来是本章的装饰模式【本文使用lombok依赖,如果不想使用的可以直接使用...
2019-04-08 15:29:29 241 1
原创 Java策略模式设计(简易收银台SpringBoot)
1.准备工作,创建一个SpringBoot项目2.用于判定使用哪个策略的类public class CashContext { private CashSupercs acceptCash; /** * 使用构造方法来进行选择具体的收费策略 * * @param cashSuper */ public CashContext(...
2019-04-08 15:23:18 1422
原创 Java工厂设计模式(简单计算器实现)
总体的目录结构如下1.基础工厂类public interface BaseFactory {}2.拓展工厂类public class OperationFactoryimplements BaseFactory{ /** * 工厂类的本质是帮助判断对应的实例,将这种判断放在工厂当中,那么就节省了让操作类自己来进行操作的性能判断,这是使用多态来解决父类和子类之间的...
2019-04-08 15:09:29 2201
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人