单例模式 适用于资源占用较多的类,保证一个类只有一个实例即单例。通用的做法就是构造器私有化,提供一个全局的访问点,返回类的实例。 1.饿汉式 public class Singleton { private…
分类:编程语言
JVM工作原理浅析
JVM(JavaVirtualMachine,Java虚拟机)是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有…
深入挖崛:mysql主从复制原理
一、基本原理 MySQL复制过程分成三步: 1)、master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events; 2)、slave将master的bina…
Java 诞生的趣事
Java 命名的由来 Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。Java语言中的许多库类名称,多与咖啡有关:如JavaBeans(咖啡豆)、NetBeans(网络豆)以及Ob…
十七:迭代器模式详解(foreach的精髓)
定义:提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。 从定义中可以看出,迭代器模式是为了在不暴露该对象内部表示的情况下,提供一种顺序访问聚合对象中元素的方法。这种思想在JAVA集合框架中已经体…
maven安装本地jar到本地仓库(引入第三方jar, maven打包提示程序包不存在)
有时使用的jar包没有被maven仓库收藏,但pom中却要用到,这个时候我们就需要将jar安装到本地仓库中了。本文以javailp为例进行说明。(曾在对接第三方支付的时候需要导入第三方的jar包, 本地运行的…
使用位图算法来优化签到历史存储空间占用,Base64 的那些事儿
前言 实际开发中有这样的场景,用户每日签到,可获取相对应的积分赠送,如果连续签到,则可获得额外的积分赠送。 本文主要讲解使用位图算法来优化签到历史记录的空间占用。当然如果业务中仅仅是获取连续签到的最大天数,…
JavaWeb中点赞功能的实现及完整实例
实现原理1、功能描述:一个用户对同一文章只能点赞一次,第二次就是取消赞2、建立一个点赞表great,字段有文章ID(aid),点赞用户ID(uid)3、当有用户进行点赞行为时,使用aid和uid搜索点赞表。 若有该记录,…
浅谈Java中的命名规范
现代软件架构的复杂性需要协同开发完成,如何高效地协同呢? 答案是:制定一整套统一的规范。 无规矩不成方圆,无规范难以协同,比如,制订交通法规表面上是要限制行车权,实际上是保障公众的人身安全,试想如果没有限速,没有红绿灯,…
介绍一种很好用的任务调度平台
1 总体设计 分布式任务调度平台是什么 XXL-JOB是一个轻量级分布式任务调度平台,和quartz相似,但是XXL-JOB将调度中心与执行器解耦,弥补了quartz的不足(使用API方式操作任务,不人性化;系统侵入性严…
笔记:类加载器
对于任意一个类,都需要由加载它的类加载器和这个类本身一同确立其在Java虚拟机中的唯一性,每一个类加载器,都拥有一个独立的类名称空间;这句话的意思是比较两个类是否“相等”,只有在这两个类是由同一个类加载器加载的前提下…
从此Redis是路人
从此Redis是路人 序言:Redis(Remote DIctionary Server)作为一个开源/C实现/高性能/基于内存的key-value存储系统,相信做Java的小伙伴都不会陌生。Redis常用于缓存、分布式…