JDK1.7源码解析——HashMap

一:HashMap的定义和构造函数

1
2
3
public class HashMap<K,V>
extends AbstractMap<K,V>
implements Map<K,V>, Cloneable, Serializable

阅读更多

Docker容器部署Java web应用(定制镜像)

概念简述

    阅读更多

    Docker容器部署Java web应用(容器基础上创建新镜像)

    摘要:本文主要讲了如何在Ubuntu14.04 64位系统下来创建一个运行Java web应用程序的Docker容器。
    创建docker镜像的两种方法

    阅读更多

    Shell脚本学习

    Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。
    Shell可以直接使用在win/Unix/Linux上面,并且可以调用大量系统内部的功能来解释执行程序,如果熟练掌握Shell脚本,可以让我们操作计算机变得更加轻松,也会节省很多时间。

    阅读更多

    MySQL读写分离详解与实践

    一:mysql读写分离原理

    MySQL的主从复制和MySQL的读写分离两者有着紧密联系,首先部署主从复制,只有主从复制完了,才能在此基础上进行数据的读写分离。
    简单来说,读写分离就是只在主服务器上写,只在从服务器上读,基本的原理是让主数据库处理事务性操作,而从数据库处理非事务性操作,然后再采用主从复制来把master上的事务性操作同步到slave数据库中。

    阅读更多

    MySQL主从复制详解与实践

    一:mysql主从原理

    1.1 基本介绍

    MySQL 内建的复制功能是构建大型,高性能应用程序的基础。将 MySQL 的 数亿分布到到多个系统上去,这种分步的机制,是通过将 MySQL 的某一台主机的数据复制到其它主机( Slave )上,并重新执行一遍来实现的。复制过程中一个服务器充当服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置,从服务器接收从那时起发生的任何更新,然后封锁等等主服务器通知新的更新。
    请注意当你进行复制时,所有对复制中的表的更新必须在主服务器上进行。否则,你必须要小心,以避免用户对主服务器上的表进行的更新与对服务器上的表所进行的更新之间的冲突

    阅读更多

    Java虚拟机学习——垃圾收集器与内存分配策略

    一:Java中是如何管理对象的

    垃圾收集(Garbage Collection,GC),要设计一个GC,需要考虑解决下面三件事情:
    (1)哪些内存需要回收?
    (2)什么时候回收?
    (3)如何回收?

    阅读更多

    Java虚拟机学习——Java内存区域与内存溢出异常

    一:运行时数据区域

    MemoryArea

    阅读更多

    IntelliJ IDEA 2017.3激活

    最新的IDEA激活方式,博主使用的是3.4的版本

    阅读更多

    Java虚拟机学习——类加载机制

    一:类加载机制概述

    虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。
    在java中,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽然会带来一些性能开销,但是却为java应用程序提供了高度的灵活性,java动态扩展的语言特性就是依赖运行期动态加载和动态链接这个特点形成的,所谓java动态扩展,比如,如果编写了一个面向接口的应用程序,可以等到运行时再指定其实际的实现类。

    阅读更多