
JAVA
文章平均质量分 85
paditang
一只努力前行的猿
展开
-
Java代理模式(静态代理)
代理模式是通过创建一个代理对象,使用这个代理对象代替实际对象。对于客户端而言,得到代理对象于操作而言没有任何影响。当客户端操作代理对象时,实际上操作会由实际对象完成。即客户端操作代理对象,代理对象操作实际对象,而代理对象在操作实际对象时,可以添加额外的操作实现懒加载,权限限定等一系列额外操作。代理分类:1、 虚代理:根据需要创建开销很大的对象,而该对象只有在真正需要的时候才会被真正创原创 2017-04-07 13:22:17 · 299 阅读 · 0 评论 -
Java8新特性---Lambda表达式
Lambda表达式 Lambda表达式的本质只是一个语法糖,由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能。基本语法:(parameters -> expression) (parameters -> {expression;})简单例子://仅用三行代码完成 排序后输出列表public static void ...原创 2018-03-14 14:28:59 · 338 阅读 · 0 评论 -
java日志详解--logback
前言 关于logback这块,相关的文章比较多,而本人研究也不是比较深入,因此这篇文章只是本人的配置过程以及其他几篇深入介绍的文章,当作记录使用,希望能帮到自己和读者。正文对比log4j的优势:更快的实现 Logback的内核重写了,在一些关键执行路径上性能提升10倍以上。而且logback不仅性能提升了,初始化内存加载也更小了。 非常充分的测试 Logback经过了几年,数不清小时的原创 2017-12-22 13:47:39 · 1058 阅读 · 0 评论 -
Java日志详解 一 Log4j
引言 日志作为项目中最基本的一部分,其重要性不言而喻。当项目运行在服务器上,不通过日志来反馈其运行状态的话,我们无从得知在运行期间运行状况如何。异常的发生后,如果没有日志将不知道如何解决。 那么重要性就提到这儿,接下来介绍Log4j和Logback两种常用的日志框架和配置详细,希望会为笔者以及读者有一定帮助。在日常配置中有据可依而不是重复的复制粘贴。正文简介 Log4j是Apache原创 2017-12-22 11:13:19 · 486 阅读 · 0 评论 -
Spring源码学习之IoC
Spring学习笔记之初入IocIoc容器BeanFactory:Ioc容器定义最基础的接口,定义了作为Ioc容器所必备最基本的方法。ApplicationContext:细化了许多BeanFactory的方法,并且通过继承许多其他接口,实现了更多其他的IoC容器特性使用IoC容器编程式使用IoC容器 ClassPathResource resource = new ClassP原创 2017-08-29 14:07:39 · 318 阅读 · 0 评论 -
ActiveMQ入门和实例
简介为了适应当前分布式系统的发展,系统与系统之间的通信尤为重要。而JMS就是为了将系统之间解耦,以消息中间件的形式连接系统。以下是ActiveMQ的简单介绍和入门实例下载安装ActiveMQ进入下载地址,下载适应版本。解压后进入bin目录点击activemq.bat(windows下)启动即可。启动失败请依次检查jdk版本和端口61616是否被占用。通信方式点对点/P2P发布者&订阅者原创 2017-09-20 14:33:21 · 609 阅读 · 0 评论 -
深入Collection之ConCurrentHashMap(JDK7)
深入Collection之ConCurrentHashMap(JDK7)前言 有关Collection中Map的重要性不用多说,这种K-V的存储结构在Java中使用十分广泛。单线程中,HashMap已经足够使用。而多线程中,HasMap已经满足不了正常的并发使用。而Hashtable作为HashMap在并发中的替代品,针对每个操作都上锁的行为,虽然解决了并发时正确性,但是毫无疑问这种做法大大降原创 2017-07-26 13:12:33 · 409 阅读 · 0 评论 -
sun.misc.Unsafe的各种神技
转自:http://blog.youkuaiyun.com/dfdsggdgg/article/details/51543545sun.misc.Unsafe包下载http://download.youkuaiyun.com/detail/dfdsggdgg/9535347实例化私有类正常情况下没法实例化一个私有构造函数的类,但是Unsafe可以做到。import java.lang.reflect.Field; imp转载 2017-07-25 11:48:20 · 338 阅读 · 0 评论 -
Java文件锁以及并发读写中的应用
引言 在项目中,如果遇到需要并发读写文件的问题,那么对文件上锁分开访问是十分有必要的。因此这篇博文主要介绍文件锁的相关知识。有误之处,希望指出。什么是文件锁 文件锁就如同编程概念中其他锁的意义一样。通过对文件上锁,只有拥有锁的进程才能拥有对应锁权限的操作权限。而没有锁的进程只能挂起或者处理其他的事务直到拥有锁。从而在并发的场景下,我们才能对文件的读写进行控制。分类共享锁:获取到共享锁,原创 2017-06-12 09:37:04 · 11217 阅读 · 2 评论 -
深入Collection之HashMap
深入Collection之HashMap作为Map中最常使用的实现类HashMap,它的重要性当然毋庸置疑,所以这篇文章就是有关HashMap的实现和功能介绍。成员变量 //默认数组初始化容量 static final int DEFAULT_INITIAL_CAPACITY = 16; /** * 定义最大的数组容量,当初始化时的入参的capacity容量比这个值大原创 2017-06-05 16:51:11 · 2079 阅读 · 2 评论 -
深入Collection之ArrayList
深入集合之ArrayList 集合作为JDK中使用最频繁的几个类之一,对于其具体实现形式的了解一直浮于表面。因此查看几个集合类的源码(本人以JDK8为参考源码)后有了接下来的几篇博文。而ArrayList作为使用做频繁的List,则理所当然是第一篇解析目标: 一个类的组成都是成员变量和成员方法,再细分看就是构造方法和其他方法。而一个类除非使用静态工厂生成实例,都摆脱不了用构造方法生成实例原创 2017-05-10 08:51:15 · 481 阅读 · 0 评论 -
深入Collection之LinkedList
这一篇是有关LinkedList的学习,那么闲话不多扯,直接按照上一篇的博文的模式来分析LinkedList的实现和功能。成员变量 transient int size = 0; /** * Pointer to first node. * Invariant: (first == null && last == null) || *原创 2017-05-10 08:59:01 · 289 阅读 · 0 评论 -
Java 关键字 static 和final 理解
Static :static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就为static变量分配一块固定的内存地址。因此运行时可以直接指向这块固定的内存地址而无需实例化。因此,static对象可以在原创 2017-03-31 14:48:05 · 311 阅读 · 0 评论 -
Java代理模式(cglib代理)
java提供的基于Proxy、InvocationHandler的动态代理由于只能创建接口的代理对象,在实际应用中不能很好的满足需要,针对这个问题,另外一个开源框架cglib提供了一种实现方式,可以针对类进行代理对象的创建。CGLib采用了非常底层的字节码技术,其原理是通过字节码技术为一个类创建子类,并在子类中采用方法拦截的技术拦截所有父类方法的调用,顺势织入横切逻辑。JDK动态代理与CGLi原创 2017-04-07 16:22:41 · 348 阅读 · 0 评论 -
Java代理(JDK动态代理)
对于静态代理,如果接口发生改变,那么代理类和原始对象都要发生改变。而且每一个原始对象都需要一个代理类完成代理操作。因此类数目会相当多。因此使用jdk动态代理时,动态代理类始终只有一个invoke方法,当接口发生改变时,动态代理的接口不用随之改变。但是要求目标对象必须实现接口,因为它创建代理对象的时候是根据接口创建的。如果不实现接口,jdk无法给目标对象创建代理对象。动态代理现在只能代理接口原创 2017-04-07 14:48:55 · 284 阅读 · 0 评论 -
Java8新特性---Stream(流)
Stream 流是Java API 的新成员,它允许你以声明性方式处理数据集合。你可以把他看成遍历数据集的高级迭代器,他其实是一连串支持连续、并行聚集操作的元素。同样,流还可以透明的并行处理。流和简单实例public class Dish { private final String name; private final boolean vegetar...原创 2018-03-14 15:43:28 · 2603 阅读 · 0 评论