we are family

我不是一个伟大的程序员,我只是一个具有良好习惯的程序员

《JAVA与模式》之策略模式

《JAVA与模式》之策略模式 在阎宏博士的《JAVA与模式》一书中开头是这样描述策略(Strategy)模式的:   策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 ...

2019-05-15 11:49:29

阅读数 17

评论数 0

并发编程的锁机制:synchronized和lock

1. 锁的种类 锁的种类挺多,包括:自旋锁、自旋锁的其他种类、阻塞锁、可重入锁、读写锁、互斥锁、悲观锁、乐观锁、公平锁、可重入锁等等,其余就不列出了。我们这边重点看如下几种:可重入锁、读写锁、可中断锁、公平锁。 1.1 可重入锁 如果锁具备可重入性,则称作为可重入锁。synchronized...

2019-05-05 14:52:39

阅读数 7

评论数 0

JAVA内存模型概述

为什么要有内存模型 在介绍Java内存模型之前,先来看一下到底什么是计算机内存模型,然后再来看Java内存模型在计算机内存模型的基础上做了哪些事情。要说计算机的内存模型,就要说一下一段古老的历史,看一下为什么要有内存模型。 内存模型,英文名Memory Model,他是一个很老的老古董了。他是...

2019-05-01 12:11:11

阅读数 12

评论数 0

idea git 版本回退

idea中git远程版本回退 2017年10月15日 15:25:36 gomeplus 阅读数:19830 工作中遇到git远程仓库需要回退到历史版本的问题,根据网上的搜索结果结合自己的实践,整理了如下步骤: 1. 在“Show History”中找到当前版本(取名:newVersion)...

2019-01-25 17:40:11

阅读数 69

评论数 0

Java8特性:Lambda表达式与Stream API

一、Labmda表达式 Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。 Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。 使用 Lambda 表达式可以使代码变的更加简洁紧凑。 1.1语法 lambda 表达式的语法格式如下: ...

2018-11-28 15:31:23

阅读数 43

评论数 1

Mac HomeBrew安装以及常用命令

一,安装brew 1,安装brew curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1 2,安装完成后执行 brew 提示:Please run...

2018-11-13 14:48:17

阅读数 84

评论数 0

git常用命令

git常用命令: git init //初始化本地git环境 git clone XXX//克隆一份代码到本地仓库 git pull //把远程库的代码更新到工作台 git pull --rebase origin master //强制把远程库的代码跟新到当前分支上面 git fet...

2018-11-05 19:39:23

阅读数 32

评论数 0

Java BigDecimal详解

1.引言   float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecima...

2018-11-02 14:13:25

阅读数 56

评论数 0

熟悉synchronized锁机制

由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。 需要明确的几个问题: synchronized关键字可以作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方...

2018-10-24 20:43:14

阅读数 42

评论数 0

Java并发编程volatile关键字详解

Java并发编程:volatile关键字解析    volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。   volatile关键字虽然...

2018-10-09 23:52:46

阅读数 30

评论数 0

Java中常用垃圾回收算法

Java中常用的垃圾收集算法: (1).标记-清除算法: 最基础的垃圾收集算法,算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成之后统一回收掉所有被标记的对象。 标记-清除算法的缺点有两个:首先,效率问题,标记和清除效率都不高。其次,标记清除之后会产生大量的不连续...

2018-10-05 22:30:32

阅读数 24

评论数 0

Java虚拟机判断对象存活的两种方案:引用计数法与可达性分析算法

java堆和方法区主要存放各种类型的对象(方法区中也存储一些静态变量和全局常量等信息),那么我们在使用GC对其进行回收的时候首先要考虑的就是如何判断一个对象是否应该被回收。也就是要判断一个对象是否还有其他的引用或关联使得这个对象处于存活的状态。我们需要将不在存活状态的所有对象标记出,以便于GC进行...

2018-10-05 20:03:19

阅读数 65

评论数 0

Java虚拟机方法区介绍

JAVA虚拟机方法区介绍 1、JVM内存模型     大多数JVM将内存分配为Method Area(方法区)、Heap(堆)、ProgramCounter Register(程序计数器)、JAVA MethodStack(JAVA方法栈)、Native MethodStack(本地方法栈)。...

2018-10-04 21:29:56

阅读数 36

评论数 0

java虚拟机内存区域的划分以及作用简介

一、运行时数据区        什么叫运行时数据区呢,看下图就知道了,今天的重点就围绕这张图讲。                        1、程序计数器(寄存器)                        当前线程所执行的字节码行号指示器             字节码解释器工...

2018-10-04 20:38:49

阅读数 46

评论数 0

了解RESTful接口设计风格

1、RESTful发展背景及简介 网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现"APIFirst&am...

2018-10-03 21:20:13

阅读数 755

评论数 0

MySQL数据类型详解

MySQL中数据类型介绍 一、MySQL的数据类型 主要包括以下五大类: 整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT 浮点数类型:FLOAT、DOUBLE、DECIMAL 字符串类型:CHAR、VARCHAR、TIN...

2018-09-27 19:13:27

阅读数 30

评论数 0

MySQL数据库设计总结

MySQL数据库设计总结 规则1:一般情况可以选择MyISAM存储引擎,如果需要事务支持必须使用InnoDB存储引擎。 注意:MyISAM存储引擎 B-tree索引有一个很大的限制:参与一个索引的所有字段的长度之和不能超过1000字节。另外MyISAM数据和索引是分开,而InnoDB的数据存储...

2018-09-27 18:24:27

阅读数 29

评论数 0

了解分布式事务

微服务–分布式事务的实现方法及替代方案 这两天正在研究微服务架构中分布式事务的处理方案, 做一个小小的总结, 作为备忘. 如有错误, 欢迎指正! 概念澄清 事务补偿机制: 在事务链中的任何一个正向事务操作, 都必须存在一个完全符合回滚规则的可逆事务. CAP理论: CAP(Consiste...

2018-09-27 12:06:13

阅读数 36

评论数 0

使用MyBatis-generator 自动生成MyBatis代码

Intellij IDEA  作为Java IDE 神器,接触后发现,非常好用,对它爱不释手,打算离开eclipse和myeclipse,投入Intellij IDEA的怀抱。      然而在使用的过程中会发现Intellij IDEA也有一些不尽如意的地方,难免会有些不爽:Intellij ...

2018-09-20 16:12:19

阅读数 49

评论数 0

Mybaits一级缓存

0.写在前面         MyBatis是一个简单,小巧但功能非常强大的ORM开源框架,它的功能强大也体现在它的缓存机制上。MyBatis提供了一级缓存、二级缓存 这两个缓存机制,能够很好地处理和维护缓存,以提高系统的性能。本文的目的则是向读者详细介绍MyBatis的一级缓存,深入源码,解析...

2018-09-20 15:54:13

阅读数 46

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭