摘要:
序列化是一种对象持久化的手段。普遍应用在网络传输、RMI等场景中。本文通过分析ArrayList的序列化来介绍Java序列化的相关内容。主要涉及到以下几个问题:
怎么实现Java的序列化
为什么实现了java.io.Serializable接口才能被序列化
transient的作用是什么
怎么自定义序列化... 阅读原文
2019-02-22 09:45:01 阅读(1974) 评论(0)
摘要:
平时在浏览一些网站时,有些网站会显示出当前时间,如现在是xx年xx月xx日 xx时xx分xx秒,在实际的开发过程中,也会涉及到日期和时间的计算,Java中提供了一个专门的类Calendar来处理日期与时间。
接下来就讲解下Calendar类的使用场景及使用方法。
1.获取Calendar实例
首先,我们看下Calen... 阅读原文
2019-02-22 07:56:02 阅读(1865) 评论(0)
摘要:
Num1:单例模式
基本概念:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
常见写法:
饿汉式
public class Singleton{
private static Singleton singleton = new Singleton();
private Singleton()... 阅读原文
2019-02-22 06:00:09 阅读(1661) 评论(0)
摘要:
开发中经常碰到这样的场景,从数据库查询出来全部的字段,但是有些字段是不想给
客户端看到,这时就需要将属性从DAO复制到传给客户端的DTO对象,如果采用get/set,
那显得很麻烦。可使用反射实现。
Spring框架的 org.springframework.beans.BeanUtils 类帮我们实现... 阅读原文
2019-02-22 00:50:01 阅读(1821) 评论(0)
摘要:
activiti介绍:
activiti是一个业务流程管理(BPM)框架。它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。开发人员可以通过插件直接绘画出业务流程图。
ProcessEngine:
ProcessEngine对象是acti... 阅读原文
2019-02-21 23:46:02 阅读(2214) 评论(0)
摘要:
概念
JMM规范解决了线程安全的问题,主要三个方面:原子性、可见性、有序性,借助于synchronized关键字体现,可以有效地保障线程安全(前提是你正确运用)
之前说过,这三个特性并不一定需要全部同时达到,在有些场景,部分达成也能够做到线程安全。
volatile就是这样一个存在,对可见性和有序性进行保... 阅读原文
2019-02-21 23:28:04 阅读(1987) 评论(0)
摘要:
前言
之前已经介绍了RabbitMQ交换机模型的相关简单概念,都是作为此篇的基础铺垫,如果对此篇不懂的可以先看我上一篇的介绍认识RabbitMQ交换机模型,或者联系评论,分享《RabbitMQ实战指南》电子书给大家,里面虽然有些许错误,但总体还是很棒的一本书!
本文主要介绍RabbitMQ的消息是怎么产生和... 阅读原文
2019-02-21 22:03:03 阅读(1890) 评论(0)
摘要:
摘要
本篇随笔主要记录springBoot2集成activiti流程引擎,并且嵌入activiti的在线设计器,可以通过浏览器直接编辑出我们需要的流程,不需要通过eclipse或者IDEA的actiBpm插件设计流程再直接部署到项目下,页面保存流程后可直接发布、发起流程。
所需软件版本springBoot 2... 阅读原文
2019-02-21 20:09:16 阅读(2652) 评论(0)
摘要:
我一直都有一个疑问,丰巢业务服务的生产环境jvm参数设置是禁止system.gc的,也就是开启设置:-XX:+DisableExplicitGC,但是生产环境却从来没有出现过堆外内存溢出的情况。说明一下,丰巢使用了阿里开源的dubbo,而dubbo底层通信默认情况下使用了3.2.5.Final版本的netty,而我们... 阅读原文
2019-02-21 18:57:02 阅读(2380) 评论(0)
摘要:
前面说过,Java对象都有与之关联的一个内部锁和监视器
内部锁是一种排它锁,能够保障原子性、可见性、有序性
从Java语言层面上说,内部锁使用synchronized关键字实现
synchronized可以修饰方法,静态方法和实例方法都可以,也可以修饰一段代码({} 包裹)
synchronized修饰的... 阅读原文
2019-02-21 17:09:02 阅读(2074) 评论(0)