摘要: Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来 阅读全文
posted @ 2018-06-03 18:12 盛开的太阳 阅读(173) 评论(0) 推荐(0)
摘要: 开放--封闭原则: 一、概念 开放-封闭原则, 指的是软件实体(类, 模块, 函数等等)应该可以扩展, 但是不可修改。 这个原则其实有两个特征, 对于扩展是开放的, 对于更改是封闭的. 做法: 对变化点进行抽象 我们在做任何系统的时候, 都不要指望系统一开始时需求确定, 就再也不会变化, 这是不现实 阅读全文
posted @ 2018-05-30 17:37 盛开的太阳 阅读(235) 评论(0) 推荐(0)
摘要: 其实这里主要讲了写代码的一个原则,那就是本文的标题, 单一职责原则。 什么是单一职责原则呢? 书上是这么定义的: 就一个类而言, 应该仅有一个引起它变化的原因。 说实话: 这句话我并没有理解. 什么叫只有一个引起它变化的原因? 单一职责: 我的理解是, 一个类只有做一件事.(明白的大神, 请指点一下 阅读全文
posted @ 2018-05-28 14:55 盛开的太阳 阅读(206) 评论(0) 推荐(0)
摘要: JVM运行机制 JVM启动流程 JVM基本结构 内存模型 编译和解释运行的概念 一、JVM启动流程 阅读全文
posted @ 2018-05-23 07:59 盛开的太阳 阅读(157) 评论(0) 推荐(0)
摘要: 策略设计模式 现在有一个需求: 给商场做一个收银软件. 营业员根据客户购买的产品的单价和数量, 向客户打印小票。 这个实现很简单. 一个类就可以搞定: 但是: 用面向对象的角度思考. 这个类将前端输入和业务逻辑混合在一块了. 不利于维护, 扩展, 复用, 也不灵活. 假如: 现在商场搞活动, 所有商 阅读全文
posted @ 2018-05-22 18:11 盛开的太阳 阅读(1022) 评论(1) 推荐(2)
摘要: 在数据库中的时间是: 比如: 2018-04-06:12;23:34. 但是mybatis查询出来以后是下面的格式. {"updatedTime":{"date":16,"hours":22,"seconds":29,"month":4,"nanos":0,"timezoneOffset":-480 阅读全文
posted @ 2018-05-20 14:08 盛开的太阳 阅读(497) 评论(0) 推荐(0)
摘要: 简单工厂设计模式 案例: 写一个计算器, 实现加减乘除. 分析: 1. 有两个数, num1 和 num2. 2. 有一个操作符 3. 有一个业务逻辑运算 第一步: 拿到这个业务, 我们直观的思考, 可以想象到这个业务非常简单: 分析: 这里完全没有使用到面向对象的特征. 下面回顾面向对象的特征 从 阅读全文
posted @ 2018-05-04 19:21 盛开的太阳 阅读(420) 评论(0) 推荐(0)
摘要: 一、概述 如何学习java I/O 二、File类 File类是一个工具类, 帮我们处理文件目录的问题 File类,表示的不是一个文件, 而是一类文件。它既能代表一个特定文件的名称, 又能代表一个目录下的一组文件的名称。 如果File指的是一个文件集合, 可以调用list()方法, 这个方法返回的是 阅读全文
posted @ 2018-05-03 18:28 盛开的太阳 阅读(182) 评论(0) 推荐(0)
摘要: 一、最简单的正则表达式 String类的一个方法matches。 正则表达式是处理字符串的。 其实更确切的说,正则表达式是处理字符的。 就拿上面的例子来说, 每一个点代表一个字符。 那么abc是不是三个字符呀?是, 所以满足条件。 replaceAll : String一个非常好用的方法 简单认识p 阅读全文
posted @ 2018-04-04 18:37 盛开的太阳 阅读(466) 评论(0) 推荐(0)
摘要: 1. 抽象方法的使用 如果一个方法中大量出现if语句, 那么, 就应该考虑使用抽象来处理. 如下例: 在这个方法中, 我定义了一周七天. 如果我想知道明天是星期几, 那么我需要写一个if语句, 大量的 if语句来判断, 明天是星期几. 当程序中出现大量的if语句的时候, 就要想到这样的程序不完美, 阅读全文
posted @ 2018-04-04 16:00 盛开的太阳 阅读(289) 评论(0) 推荐(0)