
Java Basic
文章平均质量分 95
BenZheng2121
Hello world!
展开
-
Deep learning about Java--贯穿Java的反射机制(1)
笔者的mybatis文章暂且先更新到第5篇,因为要继续深入理解mybatis的机制就不得不返回到我们的Java上,就是日后笔者继续写Hibernate的文章也是绕不过Java的反射机制。可以这么说,笔者认为如果没有了反射,Java就不会这么强大! 进入这片文章的正题前,先介绍一个好东西lombok.jar,这是个神器(可以帮助我们偷懒的神器),减少我们新建类的时候写一堆重复性的代码(这是Java原创 2018-01-22 15:30:54 · 445 阅读 · 0 评论 -
Deep learning about Java--贯穿Java的反射机制(2)
在上一篇的文章中,笔者简要地写了如何通过反射机制来获取类对象。对于一个Java中的类对象来说,通过反射机制能够访问到整个类中包含的所有东西,总结下来主要是:Class对象、Field对象、Method对象、Constructor对象和Modifier对象。今天我们来谈谈如何使用这些对象来构造实例化这个目标类的对象,再者,我们来深入学习一下反射。 1.使用反射获取的各类对象主要是Class原创 2018-01-23 20:16:27 · 393 阅读 · 0 评论 -
Deep learning about Java--贯穿Java的反射机制(3)
1.代理模式的定义 给委托对象提供一个代理对象,并由代理对象控制对于委托对象的访问,也就是说客户不能够直接操作委托对象,而是通过代理对象间接地操作委托对象。 简单地说就是:通过代理对象对委托对象的相关方法的调用来提供特定的服务。 代理对象一般主要负责的行为有: 为委托对象预处理消息、过滤消息、转发消息给委托对象(代理对象对于委托对象的调用/控制)以及事后处理消息。再来,以经典的代理模式原创 2018-01-24 16:58:21 · 403 阅读 · 0 评论 -
Deep learning about Java--贯穿Java的反射机制(4)
这次我们来讲讲ClassLoader和CGLib。1.3种重要ClassLoader 的简单介绍在上一篇文章中笔者主要是谈到了Dynamic Proxy(动态代理)的源码分析,在关于newProxyInstance的前两个参数时笔者简略地说这是用于创建Proxy这个代理对象的,这并没有问题,但是深入点笔者的疑问就来了–不知道各位有没有想过类加载器到底加载的是哪个?如果我们把传入newP原创 2018-01-26 22:09:57 · 320 阅读 · 0 评论 -
设计模式(3)-策略模式(Stragety)
前两篇分别讲了Dynamic Proxy(动态代理模式)和Iterator(迭代器模式),这次笔者来分享Stragety(策略模式)的小小经验。 笔者的设计模式经验是基于Object-Orient Programming(OOP)的,这三篇的blog基本的核心是多态和代码的复用,要服用的目的是避免代码的写死,增加代码的Extensibility(拓展性),而拓展性的基础就是多态。笔者这里的多态基...原创 2018-05-01 11:18:18 · 524 阅读 · 1 评论 -
Basic Algorithm(1)--Sort Algorithm(1)
笔者写到现在大约20多篇blog,开始写写算法系列的blog了。算法这东西如果不是专职做以下工作或比赛的,包括:ACM比赛、AI算法工程师、算法岗职业和做计算机技术研究的等等,那么主要就是了解主要的思想、懂大概流程、能够自主实现经典的实例和过得了笔试就差不多了(仅代表笔者个人的观点)。 言归正传,今天笔者的blog主要是冒择路兮快归堆中的冒泡排序(bubble sort)、选择排序(select...原创 2018-05-05 12:39:32 · 267 阅读 · 0 评论 -
设计模式(1)--动态代理(Dynamic Proxy)
笔者写这篇blog来检验下自己对于设计模式的学习成果,另一目的也是来分享经验和各位交流交流。 学设计模式主要学的是设计的思想,而不是单纯地记住具体的实现,粗浅地说就是先要搞清楚为什么要这么设计(由什么实际需求引导了这种设计的产生,属于问题导向),接着才是如何具体地实现这种设计。 初学设计不必要担心设计上的好与不好,先得积累经验,再逐步优化,这不同于学习框架,以后者来说就是学会配置和使用先(因为...原创 2018-04-28 19:36:06 · 405 阅读 · 0 评论 -
设计模式(2)--迭代器(Iterator)
这次笔者写写设计模式中较为简单的一个设计模式–Iterator(迭代器),为什么说它简单呢?主要的原因是它仅仅是用在了对于容器的遍历上。一般来说,一个及格的Programmer(程序员,注:Programmer != Coder,Coder是码农,其较之Programmer的层次低很多而且是一种蔑称,适用于自嘲但不适用于被人贴标签,此仅代表笔者的个人观点),都应该知道不同的数据结构之间(或者是不同...原创 2018-04-30 00:08:32 · 360 阅读 · 1 评论