小小默:进无止境

QQ:1274654983 欢迎交流~~

深入学习Java内存模型JMM

【1】JMM简介 ① JMM Java内存模型简称JMM(Java Memory Model),是Java虚拟机所定义的一种抽象规范,用来屏蔽不同硬件和操作系统的内存访问差异,让java程序在各种平台下都能达到一致的内存访问效果。 ② 主内存(Main Memory) 主内存可以简单理解为计算机...

2018-12-28 12:22:10

阅读数 161

评论数 0

查看java文件汇编代码与字节码

【1】命令与虚拟机参数 ThreadDemo源码如下: class ThreadDemo implements Runnable{ // 这里,使用volatile修饰flag private volatile boolean flag = false; @Overri...

2018-12-28 11:07:07

阅读数 394

评论数 0

多线程并发之volatile的底层实现原理

上篇博文从内存可见性看Volatile、原子变量和CAS算法提到了volatile保证内存可见性和CAS算法。本篇博文着重学习volatile的底层实现原理。 【1】回顾volatile volatile相当于是轻量级的synchronized。如果一个变量使用volatile,则它比使用sync...

2018-12-28 10:29:53

阅读数 299

评论数 0

多线程并发之CyclicBarrier(栅栏)使用详解

【1】CyclicBarrier简介 CyclicBarrier,是JDK1.5的java.util.concurrent并发包中提供的一个并发工具类。翻译为中文为“篱栅”意思,也就是栅栏。 ① Javadoc CyclicBarrier是一个同步辅助类,它允许一组线程相互等待直到所有线程都到达一...

2018-12-26 14:44:09

阅读数 551

评论数 0

JDK各个版本发布时间和版本名称

版本 名称 发行日期 JDK 1.0 Oak(橡树) 1996-01-23 JDK 1.1 1997-02-19 JDK 1.1.4 Sparkler(宝石) 1997-09-12 JDK 1.1.5 Pumpkin(南瓜) 1997-12-13 JDK 1.1....

2018-12-26 11:12:38

阅读数 5829

评论数 2

JavaSE中注解(Annotation)详细介绍与实例

【1】注解相关概念 ① 基本概念 Java 注解用于为 Java 代码提供元数据。作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的。Java 注解是从 Java5 开始添加到 Java 的。 那么什么是元数据? 元数据(Metadata),又称中介数据、中继数据,...

2018-12-20 16:49:32

阅读数 104

评论数 0

JDK1.8新特性(三)

继JDK1.8新特性(一),JDK1.8新特性(二)后继续学习JDK1.8新特性。 【7】Optional 类 final修饰的Optional<T> 类(j...

2018-12-19 17:36:47

阅读数 134

评论数 0

JDK1.5,1.6,1.7,1.8,1.9,1.10,1.11的新特性整理

JDK1.5,1.6,1.7,1.8,1.9,1.10,1.11的新特性整理

2018-12-19 11:50:45

阅读数 1896

评论数 0

JDK1.8新特性(二)

继上篇博文JDK1.8新特性(一)后,继续学习。 Java8中有两大最为重要的改变。第一个是Lambda 表达式;另外一个则是Stream API(java.util.stream.*)。 Stream 是Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查...

2018-12-18 10:17:33

阅读数 113

评论数 0

MySQL调优-为什么老司机建议MySQL列属性尽量用 NOT NULL

本文测试环境:MySQL5.7,Engine=InnoDB,charset=utf8。 【1】简解 先看一段官方的话:很多表都包含可为null(空值)的列,即使应用程序并不需要保存null也是如此,这是因为可为null是列的默认属性。通常情况下最好指定为Not null,除非真的需要存储null值...

2018-12-12 21:03:29

阅读数 600

评论数 0

JDK1.8新特性(一)

【1】底层数据结构改变 jdk1.8 中对集合的底层结构做了调整。 如HashMap从1.7的数据+链表的形式调整为数据+链表+红黑树。 ConcurrentHashMap从分段机制+数组+链表+红黑树到CAS+数组+链表+红黑树。 这里先简要记录,后续会详解Map的原理与区别。 【2】JVM内存...

2018-12-12 17:11:50

阅读数 204

评论数 0

数据库事务中调度串行化、冲突可串行化、前趋图(优先图)

延续上篇博文一文读懂Spring事务和MySQL事务与锁我们继续学习。 通常数据库事务是并发执行的(如果你的数据库隔离级别非serializable)),但是这里需要注意两点: 必须保证事务并发执行的正确性; 必须用正确的方法调度执行事务的并发操作; 这里就引入了一个概念:调度。 【1】调度 ...

2018-12-10 21:35:49

阅读数 4550

评论数 0

Java面向对象设计七大原则

【1】概述 ① 单一职责原则(Single Responsibility Principle) 每一个类应该专注于做一件事情。 ② 里氏替换原则(Liskov Substitution Principle) 超类存在的地方,子类是可以替换的。 ③ 依赖倒置原则(Dependence Inversi...

2018-12-09 18:29:21

阅读数 113

评论数 0

解决stackoverflow打开慢不能注册登录

这里使用的时火狐浏览器(Firefox),chrome暂未找到解决办法。 ① 安装Firefox浏览器 ② Firefox浏览器访问https://addons.mozilla.org/zh-CN/firefox/addon/decentraleyes/ ③ 添加插件Decentraleyes ...

2018-12-07 10:45:57

阅读数 127

评论数 0

队列同步器AQS-AbstractQueuedSynchronizer 原理分析

【1】AQS 简单介绍 AQS的全称为(AbstractQueuedSynchronizer),这个类在java.util.concurrent.locks包下面。 其是AbstractOwnableSynchronizer的子类: AQS是一个用来构建锁和同步器的框架,使用AQS能简单且高效...

2018-12-06 11:12:15

阅读数 289

评论数 0

JUC 中的 Atomic 原子类总结

继该篇博文从内存可见性看Volatile、原子变量和CAS算法后继续学习JUC中的原子类。 【1】原子类概述 Atomic 翻译成中文是原子的意思。在化学上,我们知道原子是构成一般物质的最小单位,在化学反应中是不可分割的。在我们这里 Atomic 是指一个操作是不可中断的。即使是在多个线程一起执行...

2018-12-05 16:42:57

阅读数 251

评论数 0

细究Java类加载机制和Tomcat类加载机制

【1】概述与分类 类加载器主要分为两类,一类是 JDK 默认提供的,一类是用户自定义的。 ① JDK 默认提供三种类加载器 Bootstrap ClassLoader 启动类加载器:每次执行 java 命令时都会使用该加载器为虚拟机加载核心类。该加载器是由 native code 实现,而不...

2018-12-05 14:34:06

阅读数 156

评论数 0

Hibernate5中实体映射命名策略

对象模型到关系数据库的映射的一部分是将对象模型中的名称映射到相应的数据库名称。 Hibernate将此视为2阶段过程: 第一阶段是从域模型映射中确定正确的逻辑名称。逻辑名可以由用户显式指定(使用@Column或 @Table例如),也可以由Hibernate通过ImplicitNamingStr...

2018-12-04 16:11:38

阅读数 999

评论数 0

细琢磨,try catch finally 执行顺序与返回值

try catch finally 常见格式如下: try{ //应用代码 }catch(Exception e){ //异常捕捉处理 }finally{ //资源释放、流关闭等等 } 通常执行顺序: try有异常时,try-catcy-finally try无异常时,try-fi...

2018-12-01 09:58:34

阅读数 112

评论数 0

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