摘要: 准备:   一个谷歌二步验证APP,  我用的是ios 身份宝 资料:   1.Google Authenticator 原理及Java实现   //主要参考     https://blog.csdn.net/lizhengjava/article/details/76947962#   2.谷歌验证 (Goog... 阅读原文
2018-08-28 08:06:02 阅读(977) 评论(0)
摘要: volatile关键字修饰的共享变量主要有两个特点:1.保证了不同线程访问的内存可见性    2.禁止重排序 在说内存可见性和有序性之前,我们有必要看一下Java的内存模型(注意和JVM内存模型的区分) 为什么要有java内存模型? 首先我们知道内存访问和CPU指令在执行速度上相差非常大,完全不是一个数量级,为了使得... 阅读原文
2018-08-28 07:59:04 阅读(1080) 评论(0)
摘要: 一、简介 1、对于不需要任何准确计算精度的数字可以直接使用浮点型,但是如果需要精确计算的结果,则必须使用定点型(BigDecimal类) 浮点型:float,double 定点型:BigDecimal 2、BigDecimal是Java中用来表示任意精确浮点数运算的类,在BigDecimal中,使用unscaledV... 阅读原文
2018-08-28 06:00:14 阅读(1483) 评论(0)
摘要: ■ 并发原理 单核系统:线程交替执行,由于交替又快又多,给人一种同时执行的感觉多核系统:不仅可以交替执行线程,而且可以重叠执行线程补充: 本章指的并发主要指的是线程间的并发   ■ 常见的并发机制   ■ 不同系统的并发机制 UNIX:管道、消息、共享内存、信号量、信号 Linux内核:原子操作、自旋锁、信号量、... 阅读原文
2018-08-28 00:27:05 阅读(1198) 评论(0)
摘要: 什么是进程和什么是线程?   进程:操作系统进行资源分配的最小单位。其中资源包括:CPU、内存空间、磁盘IO等。      同一进程中的多条线程共享该进程中的全部系统资源,而进程与进程之间相互独立。   线程:CPU调度的最小单位,必须依赖进程而存在。   进程和线程的区别:   定义:进程是程序运行的一个实体的运行... 阅读原文
2018-08-27 23:41:02 阅读(1152) 评论(0)
摘要: 前言概述  本文旨在讲解class文件的整体结构信息,阅读本文后应该可以完整的了解class文件的格式以及各个部分的逻辑组成含义   class文件包含了java虚拟机指令集 和  符号表   以及若干其他辅助信息.   class文件是一组以8位字节为基础单位的二进制字节流 各个数据项... 阅读原文
2018-08-27 22:52:17 阅读(969) 评论(0)
摘要: 今日内容介绍 1、final 关键字 2、static 关键字 3、匿名对象 4、内部类 5、包的声明与访问 6、访问修饰符 7、代码块 01final关键字概念 A: 概述 继承的出现提高了代码的复用性,并方便开发。但随之也有问题,有些类在描述完之后,不想被继承, 或者有些类中的部分方法功能是固定的,... 阅读原文
2018-08-27 22:38:05 阅读(2235) 评论(0)
摘要: 一.概述 相比起C和C++的自己回收内存,JAVA要方便得多,因为JVM会为我们自动分配内存以及回收内存。 在之前的JVM 之内存管理 中,我们介绍了JVM内存管理的几个区域,其中程序计数器以及虚拟机栈是线程私有的,随线程而灭,故而它是不用考虑垃圾回收的,因为线程结束其内存空间即释放。 而JAVA堆和方法区则不一样,... 阅读原文
2018-08-27 22:02:03 阅读(1051) 评论(0)
摘要: 前面给大家介绍了IDEA的安装和基本配置,睡觉前Alan再给大家分享一下使用IDEA创建Java Web并部署访问。   打开IDEA,File>New>Project,进入Java Enterprise创建一个Web Application项目,选择使用的JDK 点击Next 修改一下项目的名称点击... 阅读原文
2018-08-27 20:21:18 阅读(2423) 评论(0)
摘要: 一.构建工程   1.引入依赖 <!--SpringBoot2.0以上版本需引入该依赖--> <dependency> <groupId>org.springframework.cloud</groupId> ... 阅读原文
2018-08-27 18:26:02 阅读(839) 评论(0)