自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (2)
  • 收藏
  • 关注

翻译 JDK1.5 - JDK10各版本差异

版本

2021-06-03 16:23:49 235

原创 java8元注解解析

@Target该注解用来约束注解的作用域,ElementType为其作用域的枚举类。若未指定作用域,则默认可以用于任何元素上。也可以多个值使用,如@Target(value={CONSTRUCTOR, FIELDE})。Target注解如下:@Documented@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.ANNOTATI...

2020-04-30 18:24:00 436

原创 ArrayBlockingQueue源码解析,付出入队流程图

概述ArrayBlockingQueue是一个基于数组实现的有界阻塞队列。遵循先进先出FIFO原则对元素进行排序,元素都是从尾部入队,头部出队。1、数据结构基于数组的阻塞队列,必须设置长度,元素不允许为空,先进先出。2、原理ArrayBlockingQueue,读写用一把锁,也就意味着所有加锁操作都是互斥的。当队列已满时,put线程会阻塞,当队列为空时,take线程会阻塞。3、源码解读...

2020-02-26 14:01:19 464

原创 LinkedBlockingQueue源码解读,附出队入队详细流程图

概述LinkedBlockingQue是一个基于链表实现的可设置容量的无界(最大值Integer.MAX_VALUE)阻塞队列。队头的元素是插入时间最长的,队尾的元素是最新插入的。新的元素将会被插入到队列的尾部。1、数据结构基于链表,所以队列中至少有一个空元素,头结点不含元素。2、原理LinkedBlockingQueue中有两把锁,takeLock和putLock,即读写各一把锁。这就...

2020-02-26 01:51:10 864

原创 Centos7、Erlang-21.3、RabbitMQ-3.8.0安装

1.购买阿里云 centos 7.x2.安装依赖**第一步:**执行命令yum -y install wget,然后会出现**第二步:**安装依赖 yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto socat3、erlang安装第一步:下载epel-release①服务器直接下载(速度慢): wg...

2020-02-23 10:48:34 3036

原创 JMM(Java Memory Model)-java内存模型(一)

写在前面在看这篇博客之前,请先把JVM运行时内存模型忘掉。因为两者不是一个维度的划分。本篇进队JMM做一个基本的介绍,基于一些文章和资料,写一下自己对于这一概念的理解。后续会根据多线程来做详解。如有误,请指正。文中没有涉及对计算机乱序执行优化部分的介绍,放在后面研究后再做总结。概述在讲JMM之前,先看一下java虚拟机和计算机如何进行交互。由上图可以看到java虚拟机并没有跟计算机硬件...

2020-02-20 19:36:46 297

原创 Iterator迭代器

概述简单来说,Iterator是集合的迭代器,就是用来遍历集合的。实际上迭代器是一种模式,它可以使得遍历序列方式和被遍历对象分离。即我们无需关注该序列的底层结构是什么样子,只要拿到迭代器对象就可以遍历该序列。1 Iterable接口及其子接口1.1 Iterator接口既然是用来遍历集合的,那么Iterator提供了那些方法呢?如下图如图,Iterator接口提供了4个方法:bo...

2020-02-19 15:35:33 88

原创 equals方法深入解析

写在前面最初接触java的时候,都会有涉及equals和==的区别,最经典的案例就是用String类型的数据作类比。最常见的说法就是:equals比较的是值,==比较的是引用地址。首先这种说法是错误的,也有人认为这种说法是不完全正确的(至少对于String这个类来说这种说法是没问题的)。之所以说这种说法是错误的,是因为本人真的觉得这个总结实在是误人子弟。1、equals和==1.1、...

2020-02-18 17:43:48 1975

原创 java IDL、RMI、 RMI-IIOP、JMS概念详解

写在前面本文仅提供了java IDL、RMI、 RMI-IIOP、JMS相关的概念解释,没有案例演示。后续会专门针对实现来做展开。待整理:https://paper.seebug.org/1105/1、Java IDLJava IDL(Interface Definition Language)可实现网络上不同平台上的对象相互之间的交互,该技术基于通用对象请求代理体系结构CORBA规范说...

2020-02-17 13:26:13 548

原创 Corba概念(GIOP、IIOP、IOR、ORB、IDL)

写在前面本文转自 Corba概念(GIOP、IIOP、IOR、ORB、IDL).防止哪天找不到了,所以自己做了个备份。CORBA公用对象请求代理(调度)程序体系结构(Common Object Request Broker Architecture),缩写为 CORBA,是对象管理组织(Object Management Group)对应当今快速增长的软硬件的协同工作能力的要求而提出的方案...

2020-02-17 12:03:03 939

原创 jconsole 、VisualVM、JMC/JFR性能调优

前言两款都是JDK自带的性能分析工具。所以放在一起研究,目前仅关注了其启动方法,具体内容待补充。1、jconsoleJava 5开始引入,JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行。也可在本地cmd直接运行jconsole命令。待研究。2、VisualVMVisualVM 可以说是JConsole的的升级版。也是一款性能分析器。对...

2020-02-16 22:55:45 744

原创 jdeps( Java class dependency analyzer)- Java类依赖分析器详解

写在前面关于jdeps如果想要做详细的了解,还是需要看Oracle官网的介绍。访问入口如下:jdeps.本文内容均为自己阅读文档后自己总结的,后续如果发现其他好玩的,会继续更新。当然,如果其中有错误,还请指正。1、jdeps简介Java class dependency analyzer,Java类依赖分析器。在cmd中,执行jdeps ,系统会提示jdeps的所有用法(如下图):...

2020-02-16 20:57:17 2224

原创 javac 和 javap工具详解

写在前面由于javac和javap是两个相反的过程,所以放在一起做分析。关于javac和javap如果想要做详细的了解,还是需要看Oracle官网的介绍。访问入口如下:javac.javap.本文内容均为自己阅读文档后自己总结的,如有错误,还请指正。1、javac 和 javap简介javac:接收由Java语言规范(JLS)定义的源代码(.java后缀的源文件),并生成由J...

2020-02-16 20:16:47 2283

原创 java 常用的字节码指令集

前言文章转自:https://blog.csdn.net/github_35983163/article/details/52945845以防哪天找不到了,就自己做了个备份。常用字节码指令集常量入栈指令指令码操作码(助记符)操作数描述(栈指操作数栈)0x01aconst_null null值入栈。0x02...

2020-02-15 23:47:51 276

原创 JVM(三)- 垃圾收集器及内存分配策略(附代码示例)

测试

2020-02-14 16:17:43 447 1

原创 JVM(二)- 类的加载过程、类加载器(付示例代码)

一、类的加载过程类从加载到内存中开始,到卸载出内存位置,为类的生命周期。包括加载(loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initiazation)、使用(Using)、卸载(Unloading)7个阶段。其中验证、准备、连接统称为连接(linking)。其中加载、验证、准备、初始化和卸载这5个阶段的顺序是...

2020-02-12 17:01:42 217 1

原创 JVM(一)- 组成部分及详解

一、JVM简介JVM全称Java Virtual Machine ,Java虚拟机,也就是在计算机上虚拟一个计算机,且运行于内存中。计算机的基本构成:运算器、控制器、存储器、输入和输出设备,JVM也有同样成套的元素。为了达到“一次编译,随处运行”,JVM根据不同的CPU,翻译成不同的机器语言,因此java的命令集随处都可以运行。1、 JVM与计算机的交互JVM与计算机的交互如图:从图中可...

2020-02-11 16:54:47 1734 1

转载 数据库读写分离(oracle)

随着一个网站的业务不断扩展,数据不断增加,数据库的压力也会越来越大,对数据库或者SQL的基本优化可能达不到最终的效果,我们可以采用读写分离的策略来改变现状。读写分离现在被大量应用于很多大型网站,这个技术也不足为奇了。ebay就做得非常好。ebay用的是oracle,听说是用Quest Share Plex 来实现主从复制数据。     读写分离简单的说是把对数据库读和写的操作分开对应不

2014-12-01 16:49:05 4972

原创 post 和get 的区别

一、get是从服务器上获取数据           post是向服务器chu

2014-10-13 17:11:24 704

Spring boot + Mybatis + Freemarker

Spring boot + Mybatis + Freemarker

2016-06-03

Spring boot 简单例子

Spring boot 简单例子

2016-06-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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