自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (2)
  • 问答 (3)
  • 收藏
  • 关注

原创 从java 反射看延迟加载(代理模式)(四)——反射是否真的会让你的程序性能降低?

本来我觉得这个话题没有什么好讨论的了,网上已经有太多太多的文章在说这个问题,有疑问的大可以到网上找相关的文章来查阅。但是,我想起来我刚编程的时候,也是遇到这种困惑到网上一查找,从各种角度阐述的都有,本质基本都说出来了,但是还是有很多人不理解,我这里就从我的角度再说一遍。早两天写了《从把三千行代码重构成15行代码谈起》这篇文章,看到评论中有一些同学的回复还是在质疑反射的性能,好像程序

2016-10-31 16:35:23 1851 16

原创 从java 反射看延迟加载(代理模式)(三)深入理解java反射

深入理解java---反射篇点击打开链接 背景   在Java中如果我们预先不知道一个对象的确切类型,RTTI可以告诉你,但是有一个限制,那就是在编译的时候这个对象类型必须是确定的(需要有一个确定的编译类型),这样我们才能使用RTTI去识别它,并且利用这些信息做一些有用的事,事实上在编译的时候你的程序压根儿是不知道某个对象是属于哪一个类的,比如在编译的时候,你可以从你的本机

2016-10-30 20:01:15 1536 22

原创 从java 反射看延迟加载(代理模式)(二)

代理模式代理模式使用代理对象完成用户请求,屏蔽用户对真实对象的访问。现实世界的代理人被授权执行当事人的一些事宜,无需当事人出面,从第三方的角度看,似乎当事人并不存在,因为他只和代理人通信。而事实上代理人是要有当事人的授权,并且在核心问题上还需要请示当事人。在软件设计中,使用代理模式的意图也很多,比如因为安全原因需要屏蔽客户端直接访问真实对象,或者在远程调用中需要使用代理类处理远程方

2016-10-30 11:41:35 2634 39

原创 从java 反射看延迟加载(代理模式)(一)

什么都不说了,先上关于java反射的栗子……【案例1】通过一个对象获得完整的包名和类名package Reflect; /** * 通过一个对象获得完整的包名和类名 * */class Demo{ //other codes...} class hello{ public static void main(String[] args) {

2016-10-30 11:26:34 2546 33

转载 Java 多线程断点下载文件

基本原理:利用URLConnection获取要下载文件的长度、头部等相关信息,并设置响应的头部信息。并且通过URLConnection获取输入流,将文件分成指定的块,每一块单独开辟一个线程完成数据的读取、写入。通过输入流读取下载文件的信息,然后将读取的信息用RandomAccessFile随机写入到本地文件中。同时,每个线程写入的数据都文件指针也就是写入数据的长度,需要保存在一个临时文件中。这样当

2016-10-21 15:09:58 819 43

原创 事件监听机制

Java中的事件监听是整个Java消息传递的基础和关键。牵涉到三类对象:事件源(Event Source)、事件(Event)、事件监听器(Event Listener)。   ● 事件源是事件发生的场所,通常就是各个组件,它可以是一个按钮,编辑框等。   ● 事件监听者负责监听事件源所发生的事件,并对各种事件做出相应的响应。   ● 事件是描述事件源状态改变的对象。   具体实现

2016-10-18 19:00:44 868 21

转载 数组中的趣味题(一)

数组中的趣味题(一)  无论是参加面试还是笔试,数组都是常考的内容,并且考察数组的知识往往结合着比较有意思的算法。在这里参照网上的资料和平时看过的相关书籍总结一下,作为自己的面试复习材料吧。我知道这个总结肯定有遗漏或者是不对的地方,希望大家看到可以优化和改正的的地方,帮帮忙给点新思路吧。谢谢大家~~1.求数组中的最大值(最小值)问题描述:给定一个整数数组arr,找出其中的最

2016-10-18 11:08:48 868 28

原创 redis的工具类封装

首先是一个redis实现的跨jvm的lock, 接着是一个简单封装的工具类,也对pipeline处理进行了几个常用的封装 然后是对应Spring的相关配置 public class RedisLock { /** 加锁标志 */ public static final String LOCKED = "TRUE"; /** 毫秒与毫微秒的换算单位 1毫秒 = 1000000毫微秒

2016-10-05 11:55:01 2913 36

学生信息管理系统

对于学生信息管理系统的基本信息,之中存在的一些问题。

2014-08-01

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除