摘要:
前言
随着期末的到来,对于面向对象程序设计课程的学习也迎来了尾声。在最后一个月的从课程中,笔者对于面向对象程序规格实现层面的单元测试、正确性论证以及使用UML图描述程序的设计进行了深入的学习。通过对类和方法进行规格实现进行单元测试以及论证,检查并确认实现的正确性,使得相应代码拥有更高的可靠性。通过使用UML类图、... 阅读原文
2018-06-26 06:00:02 阅读(740) 评论(0)
摘要:
控制反转 ioc 是框架的重要特征,并非面向对象编程的专用术语。它与依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)并没有关系。
IoC最大的好处是什么?
因为把对象生成放在了XML里定义,所以当我们需要换一个实现子类将会变成很简单(一般这样的对象都是... 阅读原文
2018-06-25 23:21:02 阅读(682) 评论(0)
摘要:
工作中当一个业务系统被开发出来之后,经过多次迭代业务的发展处理逻辑会越来越复杂,同时访问量以及处理的数据也会相应的增多,系统的响应时间就会开始得逐渐加长。终于有一天用户忍受不了抱怨你的app或者页面要等好几十秒或者好几分钟才响应时你就迫切需要对你的系统进行一个性能的优化。
下面谈一下我对性能... 阅读原文
2018-06-25 21:29:03 阅读(1190) 评论(0)
摘要:
最早对象的创建是有new关键字,但是如果产生的类比较繁多或者复杂,就用工厂代替new关键字,但是工厂的控制能力有限,譬如对产生对象的生命周期,作用域都不能控制,后来就出现了Spring,Spring简单来说就是一个容器,核心就是:IOC和AOP
1.1、控制反转(Inversion of C... 阅读原文
2018-06-25 19:41:06 阅读(1217) 评论(0)
摘要:
Spring AOP 又称 面向切面编程,要实现AOP就要有切点,增强,织入,连接点,切面...
增强又分为:前置增强,后置增强,异常抛出增强,环绕增强,后置增强,最终增强
编写配置文件中的增强代码之前我们先创建一个增强类,用于存放增强的代码:
import org.apache.log4j.Logge... 阅读原文
2018-06-25 18:23:01 阅读(699) 评论(0)
摘要:
IOC(Inverse of Control):控制反转也叫依赖注入,利用了工厂模式
所谓的依赖,从程序上的角度,比如A要调用B的方法,那么A就依赖于B,反正A要用到B,则A依赖于B。所谓倒置,你必须理解如果不倒置,会怎么着,因为A必须要有B,才可以调用B,如果不倒置,意思就是A主动获取B的实例:B b = n... 阅读原文
2018-06-25 17:25:03 阅读(1164) 评论(0)
摘要:
Java开源生鲜电商平台-OMS订单系统中并发问题和锁机制的探讨与解决方案(源码可下载)
说明:Java开源生鲜电商中OMS订单系统中并发问题和锁机制的探讨与解决方案:
问题由来
假设在一个订单系统中(以火车票订单系统为例),用户A,用户B都要预定从成都到北京的火车票,A、B在不同的售票窗口均同时查询... 阅读原文
2018-06-25 17:14:01 阅读(1316) 评论(0)
摘要:
场景描述:我们在项目中使用缓存通常都是先检查缓存中是否存在,如果存在直接返回缓存内容,如果不存在就直接查询数据库然后再缓存查询结果返回。这个时候如果我们查询的某一个数据在缓存中一直不存在,就会造成每一次请求都查询DB,这样缓存就失去了意义,在流量大时,可能DB就挂掉了。
穿透:频繁查询一个不存在的数据,由于缓存不命... 阅读原文
2018-06-25 16:50:07 阅读(734) 评论(0)
摘要:
背景
最近被一个问题难倒:问到Java的基本数据类型有8种,具体是哪几个?一起复习下:
Java数据类型概述
变量就是申请内存来存储值,即当创建变量的时候,需要在内存中申请空间。
内存管理系统根据变量的类型为变量分配存储空间,确定了变量的类型,即确定了数据需分配内存空间的大小,数据在内存的存储方式。
Java两大数据... 阅读原文
2018-06-25 15:00:02 阅读(668) 评论(0)
摘要:
一、进程和线程
(1)进程概念的引入
为了能使程序并发执行,并且可以对并发执行的程序加以描述和控制,人们引入了“进程”的概念。---摘之计算机操作系统(第四版)汤小丹编著
(2)进程概念
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。-... 阅读原文
2018-06-25 14:17:03 阅读(688) 评论(0)