类加载器的双亲委派及打破双亲委派

一般的场景中使用Java默认的类加载器即可,但有时为了达到某种目的又不得不实现自己的类加载器,例如为了达到类库的互相隔离,例如为了达到热部署重加载功能。这时就需要自己定义类加载器,每个类加载器加载各自的类库资源,以此达到资源隔离效果。在对资源的加载上可以沿用双亲委派机制,也可以打破双亲委派机制。一、沿用双亲委派机制自定义类加载器很简单,只需继承ClassLoader类并重写findClass方法即可...
阅读(8701) 评论(3)

HBase作为存储方案

HBase存储特点 * Client 1. 包含访问HBase的接口,并维护cache来加快对HBase的访问,比如region的位置信息。 * Zookeeper: 1. 选举集群中的Master,Master与RegionServers 启动时会向ZooKeeper注册。 2. 存储所有Region的寻址入口。 3. 实时监控Region server状态并实时通知Master。...
阅读(3571) 评论(0)

Tomcat如何检测内存泄漏

一般情况下,如果我们重启web应用是通过重启tomcat的话,则不存在内存泄漏问题。但如果不重启tomcat而对web应用进行重加载则可能会导致内存泄漏,因为重加载后有可能会导致原来的某些内存无法让GC回收,例如web应用使用了JDBC,驱动会进行注册,当web应用停止时没有反注册就会导致内存泄漏。看看是什么原因导致tomcat内存泄漏的。这个要从热部署开始说起,因为tomcat提供了不必重启容器而...
阅读(8046) 评论(3)

注解机制及其原理

什么是注解注解也叫元数据,例如我们常见的@Override和@Deprecated,注解是JDK1.5版本开始引入的一个特性,用于对代码进行说明,可以对包、类、接口、字段、方法参数、局部变量等进行注解。它主要的作用有以下四方面:生成文档,通过代码里标识的元数据生成javadoc文档。 编译检查,通过代码里标识的元数据让编译器在编译期间进行检查验证。 编译时动态处理,编译时通过代码里标识的元数据动态处...
阅读(11644) 评论(5)

分布式数据库HBase表设计

比较常用的数据库是关系型数据库,但很多场景下nosql数据库会更加擅长,从sql到nosql实施的第一步就是设计表结构,这是两种不同的思维方式,这里说下HBase表设计。需求:需要一张stock表用于保存市场所有股票的分钟走向,即每个股票每分钟记录一次价格。方案一:瘦表。 用stockId+datetime作为RowKey,这样方便通过stockId或datetime快速扫描获取到相关记录。 Ro...
阅读(3754) 评论(0)

基于HTTP头部的注入

基于HTTP头部的注入常见的sql注入一般都是通过表单或请求参数进行注入,但这里给出的例子是通过HTTP协议头部进行注入。例如一个的请求如下:GET / HTTP/1.1 Host: www.example.com Connection: keep-alive Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image...
阅读(6387) 评论(0)

关于Class文件

什么是Class文件Java人对class文件肯定很熟悉了,它是Java源码编译后的产物。JVM运行时负责加载class文件,并根据class定义的执行逻辑运行。java为了将硬件底层的差异屏蔽掉,引入了Java虚拟机(JVM)并将硬件差异处理都放到JVM中,所以可以编译出统一的二进制文件——class。所以只要通过编译器编译成规范的class文件都可以在JVM上面运行,像现在很多其他语言其实都是编...
阅读(4851) 评论(0)

注解的原理

前面介绍了如何使用Java内置的注解以及如何自定义一个注解,接下去看看注解实现的原理,看看在Java的大体系下面是如何对注解的支持的。还是回到上面自定义注解的例子,对于注解Test,如下,如果对AnnotationTest类进行注解,则运行时可以通过AnnotationTest.class.getAnnotation(Test.class)获取注解声明的值,从上面的句子就可以看出,它是从class结...
阅读(6207) 评论(0)

注解的使用

注解的使用非常简单,只需在需要注解的地方标明某个注解即可,例如在方法上注解:public class Test { @Override public String tostring() { return "override it"; } }例如在类上注解: @Deprecated public class Test { }所以Java内置的注解...
阅读(4962) 评论(0)

什么是注解

注解也叫元数据,例如我们常见的@Override和@Deprecated,注解是JDK1.5版本开始引入的一个特性,用于对代码进行说明,可以对包、类、接口、字段、方法参数、局部变量等进行注解。它主要的作用有以下四方面: 生成文档,通过代码里标识的元数据生成javadoc文档。 编译检查,通过代码里标识的元数据让编译器在编译期间进行检查验证。 编译时动态处理,编译时通过代码里标识的元数据动态处理...
阅读(4685) 评论(0)

[置顶] 分布式内存网格Hazelcast源码导读

Node是节点的抽象,里面包含节点引擎、客户端引擎、分区服务、集群服务、组播服务、连接管理、命令管理、组播属性、节点配置、本地成员、tcp地址、组播地址、连接者、节点初始化器、管理中心、安全上下文、Config类,包含GroupConfig、NetworkConfig、MapConfig、TopicConfig、QueueConfig、MultiMapConfig、ListConfig、SetCo...
阅读(11206) 评论(0)
    打赏作者

    赞作者(*^__^*)



    如果您觉得作者写的文章有帮助到您,您可以打赏作者一瓶汽水(*^__^*)

    作者

    笔名:seaboat 汪洋之舟

    github:https://github.com/sea-boat

    微信:



    公众号:

    个人资料
    • 访问:866605次
    • 积分:12009
    • 等级:
    • 排名:第1314名
    • 原创:284篇
    • 转载:5篇
    • 译文:1篇
    • 评论:316条
    博客专栏