AOP:面向切面编程,在不破坏原有代码的情况下,提供新的功能。可以使用AOP添加通用功能,比如事务、日志、权限、异常、缓存... 常见的AOP: MVC中的过滤器、HttpModule... 如何实现AOP: 1、装饰器模式,装饰器模式就是为对象动态扩展新功能,并且不修改原有类,所以它算是AOP,但 ...
分类:
其他好文 时间:
2019-12-13 00:07:33
阅读次数:
116
一、程序计数器/PC寄存器 (Program Counter Registe) 用于保存当前正在执行的程序的内存地址(下一条jvm指令的执行地址),由于Java是支持多线程执行的,所以程序执行的轨迹不可能一直都是线性执行。当有多个线程交叉执行时,被中断的线程的程序当前执行到哪条内存地址必然要保存下来 ...
分类:
其他好文 时间:
2019-11-19 14:03:22
阅读次数:
72
一、ceph概念 Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统。ceph 的统一体现在可以提供文件系统、块存储和对象存储,分布式体现在可以动态扩展。 特点: (1)高性能: a. 摒弃了传统的集中式存储元数据寻址的方案,采用CRUSH算法,数据分布均衡,并行度高。 b. ...
分类:
其他好文 时间:
2019-10-29 19:55:53
阅读次数:
117
一、MySQL会遇到的问题: 1、高并发的读写效率低问题 解决方案:集群,分布式。 2、海量数据的读写效率低问题 解决方案:分表,分库。 3、高可用和高扩展 解决方案:动态扩展服务器、防止单点故障、容灾。 二、关系型数据库优化:(原则:先单机,后多机。) 2.1 单机优化方案: 1.慢SQL的定义- ...
分类:
数据库 时间:
2019-09-05 23:24:53
阅读次数:
110
装饰者(Decorator)和具体组件(ConcreteComponent)都继承自组件(Component),具体组件的方法实现不需要依赖于其它对象,而装饰者组合了一个组件,这样它可以装饰其它装饰者或者具体组件。所谓装饰,就是把这个装饰者套在被装饰者之上,从而动态扩展被装饰者的功能。装饰者的方法有 ...
分类:
其他好文 时间:
2019-09-03 00:04:22
阅读次数:
89
学习java虚拟机 - 类加载机制 一、是什么 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 在Java语言里面,类型的加载、链接、初始化过程都是在程序运行期间完成的,Java里天生可以动态扩展 ...
分类:
编程语言 时间:
2019-08-27 00:41:06
阅读次数:
73
一、Ceph简介: Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统。ceph 的统一体现在可以提供文件系统、块存储和对象存储,分布式体现在可以动态扩展。在国内一些公司的云环境中,通常会采用 ceph 作为openstack 的唯一后端存储来提高数据转发效率。 Ceph项目 ...
分类:
其他好文 时间:
2019-08-11 21:19:12
阅读次数:
105
前言 集合的作用就是以一定的方式组织、存储数据。 分析集合,有四点要特别注意: 1. 是否线程安全 2. 是否允许存储 null 3. 是否允许存储重复数据 4. 是否有序,有序的意思是读取数据的顺序和存放数据的顺序一致。 ArrayList 基本结构 首先我们来看一下 ArrayList 在 Co ...
分类:
其他好文 时间:
2019-08-04 13:51:32
阅读次数:
134
?做JAVA也有接近2年的时间了,公司的leader说,做JAVA,三年是个坎,如果过了三年你还没有去研究JVM的话,那么你这个程序员只能是板砖的工具了。恰逢辞职,来个JVM的解析可好? JVM是Java Virtual Machine(Java虚拟机)的缩写,也就是指的JVM虚拟机,属于是一种虚构 ...
分类:
编程语言 时间:
2019-07-17 09:32:51
阅读次数:
154
动态扩展数组长度(自定义) 在Java中,创建的数组都是定长的,也就是数组一旦创建,长度就已经确定了,但是我们往往遇到要添加的元素个数,超出了数组的长度,这种情况如何处理了?接下来就介绍一种简单的思路去扩展数组的长度。 一、动态扩展数组的思路 1)定义一个数组。2)向数组中添加元素。3)当元素的个数 ...
分类:
编程语言 时间:
2019-07-15 12:00:45
阅读次数:
159