摘要: Java 动态代理机制的出现,使得 Java 开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类。代理类会负责将所有的方法调用分派到委托对象上反射执行,在分派执行的过程中,开发人员还可以按需调整委托类对象及其功能,这是一套非常灵活有弹性的代理框架。通过阅读本文,读者 阅读全文
posted @ 2016-03-21 15:38 ljdgm 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 这篇文章解释了Java 虚拟机(JVM)的内部架构。下图显示了遵守 Java SE 7 规范的典型的 JVM 核心内部组件。 上图显示的组件分两个章节解释。第一章讨论针对每个线程创建的组件,第二章节讨论了线程无关组件。 线程 JVM 系统线程 每个线程相关的 程序计数器 栈 本地栈 栈限制 栈帧 局 阅读全文
posted @ 2016-03-21 15:35 ljdgm 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 写在前面:Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质是把类文件从硬盘读取到内存中,JVM在加载类的时候,都是通过ClassLoader的loadClass()方法来加载class的,loadClass使用双亲委派模式。 为了更好 阅读全文
posted @ 2016-03-21 15:31 ljdgm 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 本文是异常内容的集大成者,力求全面,深入的异常知识研究与分析。本文由金丝燕网独家撰写,参考众多网上资源,经过内容辨别取舍,文字格式校验等步骤编辑而成,以飨读者。对于本文的内容,建议小白需要多多思考力求掌握,对于老手只需意会温故知新。对于本文的内容,属于基础知识研究范畴,切勿以为读完此文就能将异常知识 阅读全文
posted @ 2016-03-21 15:30 ljdgm 阅读(237) 评论(0) 推荐(0) 编辑
摘要: HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至 阅读全文
posted @ 2016-03-21 15:28 ljdgm 阅读(161) 评论(0) 推荐(0) 编辑
摘要: DK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。用法一:常量在JDK1.5 之前,我们定义常量都是: publicstaticfianl…… .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。public 阅读全文
posted @ 2016-03-21 15:27 ljdgm 阅读(140) 评论(0) 推荐(0) 编辑
摘要: create table t1(id int, feild int);insert into t1 values(1 , 1);insert into t1 values(1 , 2);insert into t1 values(1 , 3);insert into t1 values(1 , 4) 阅读全文
posted @ 2016-03-21 15:25 ljdgm 阅读(1323) 评论(0) 推荐(0) 编辑
摘要: 有这样的一个问题mysql查询使用mysql中left(right)join筛选条件在on与where查询出的数据是否有差异。 可能只看着两个关键字看不出任何的问题。那我们使用实际的例子来说到底有没有差异。 例如存在两张表结构 表结构1 Sql代码 drop table if EXISTS A; C 阅读全文
posted @ 2016-03-21 15:23 ljdgm 阅读(1884) 评论(0) 推荐(0) 编辑
摘要: 序言数据库的优化方法有很多种,在应用层来说,主要是基于索引的优化。本次秘笈根据实际的工作经验,在研发原来已有的方法的基础上,进行了一些扩充,总结了基于索引的SQL语句优化的降龙十八掌,希望有一天你能用其中一掌来驯服客服业务中横行的‘恶龙’总纲建立必要的索引这次传授的降龙十八掌,总纲只有一句话:建立必 阅读全文
posted @ 2016-03-21 15:21 ljdgm 阅读(12184) 评论(0) 推荐(4) 编辑
摘要: Android里,在不同的线程(假设子线程已经创建了Looper)中创建Handler时,并不需要显式指定Looper,系统能自动找到该线程自己的Looper。不同线程的Looper相互独立,之所以能做到这一点,就是借助ThreadLocal来实现的。下面结合源码来分析ThreadLocal的使用及 阅读全文
posted @ 2016-03-21 15:20 ljdgm 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 通过上面的分析知道通过ThreadLocal保存的值是线程隔离的。其实在Thread对象中,还有一个ThreadLocal.ThreadLocalMap类型的成员变量inheritableThreadLocals。inheritableThreadLocals其实是一个InheritableThre 阅读全文
posted @ 2016-03-21 15:19 ljdgm 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 基本概念 kafka的工作方式和其他MQ基本相同,只是在一些名词命名上有些不同。为了更好的讨论,这里对这些名词做简单解释。通过这些解释应该可以大致了解kafka MQ的工作方式。 Producer (P):就是网kafka发消息的客户端 Consumer (C):从kafka取消息的客户端 Topi 阅读全文
posted @ 2016-03-21 15:14 ljdgm 阅读(459) 评论(0) 推荐(0) 编辑
摘要: 日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录。在apache网站:jakarta.apache.org/log4j 可以免费下载到Log4j最新版本的软件包。 1.新建一个JAva工程,导入包log4j-1.2.17.jar,整个工程最 阅读全文
posted @ 2016-03-21 15:13 ljdgm 阅读(258) 评论(0) 推荐(0) 编辑
摘要: Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(larg 阅读全文
posted @ 2016-03-21 15:07 ljdgm 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 一、基础篇 1.1 JVM 1.1.1. Java内存模型,Java内存管理,Java堆和栈,垃圾回收 http://www.jcp.org/en/jsr/detail?id=133http://ifeve.com/jmm-faq/ 1.1.2. 了解JVM各种参数及调优 1.1.3. 学习使用Ja 阅读全文
posted @ 2016-03-21 15:05 ljdgm 阅读(892) 评论(0) 推荐(0) 编辑
摘要: 作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们。 一、Java编程入门类 对于没有Java编程经验的程序员要入门,随便读什么入 阅读全文
posted @ 2016-03-21 15:04 ljdgm 阅读(11327) 评论(0) 推荐(0) 编辑
摘要: 本文分别对Cookie与Session做一个介绍和总结,并分别对两个知识点进行对比分析,让大家对Cookie和Session有一个更深入的了解,并对自己的开发工作中灵活运用带来启示。 Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器。IETF RFC 2965 HTT 阅读全文
posted @ 2016-03-21 15:01 ljdgm 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。 也许有朋友会问,既然都可以通过synchronized来实现同步 阅读全文
posted @ 2016-03-21 13:45 ljdgm 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 最近我问了很多Java开发人员关于最近12个月内他们使用的是什么大数据工具。 这是一个系列,主题为: 语言 web框架 应用服务器 SQL数据访问工具 SQL数据库 大数据 构建工具 云提供商 今天我们就要说说大数据。根据维基百科,大数据是数据集的一个广义的术语,并且该数据集是如此庞大和复杂,以致于 阅读全文
posted @ 2016-03-21 13:39 ljdgm 阅读(1078) 评论(0) 推荐(0) 编辑
摘要: 序列化与反序列化 序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。一般将一个对象存储至一个储存媒介,例如档案或是记亿体缓冲等。在网络传输过程中,可以是字节或是XML等格式。而字节的或XML编码格式可以还原完全相等的对象。这个相反的过程又称为反序列化。 Jav 阅读全文
posted @ 2016-03-21 13:38 ljdgm 阅读(224) 评论(0) 推荐(0) 编辑