Java类型信息与应用--动态代理本文结构
一、前言
二、为什么需要RTTI
三、RTTI在java中的工作原理
四、类型转化前先做检测
五、动态代理
六、动态代理的不足
一、前言运行时信息使你可以在程序运行时发现和使用类型信息Java在运行时识别对象和类的信息的方式:1.一种是RTTI,它假定我们在编译时已经知道了所有的类型。
2.另一种是“反射“机制,它允许我们在运行时发现和使用类的信息。...
分类:
编程语言 时间:
2016-05-27 12:24:20
阅读次数:
308
Java 类库的新特性之 Stream类
1.Java8对IO/NIO 的改进
2.简述Stream
3.Stream类
4.Stream与Collection区别
5.为什么不在集合类实现元素迭代等操作,而是定义了全新的Stream API?...
分类:
编程语言 时间:
2016-05-27 12:21:56
阅读次数:
298
迭代器(Iterator)是 STL 的核心技术,提供了统一访问容器元素的方法,为编写通用算法提供了坚实的技术基础。
本章将带你编写一个自带迭代器的数组类和一个自带迭代器的链表类,模拟 STL 中的容器,这两个实例能够很清晰地展示 STL 的迭代器思想。
并探讨迭代器类应该作为容器类的内部类的原因,然后对 STL 迭代器做一下归纳理解,最后阐述一下 STL 中真正的迭代器概况。...
分类:
编程语言 时间:
2016-05-27 12:23:27
阅读次数:
273
1、 环境配置
a) Java 1.7
b) Eclipse luna
c) Maven3.2.5
d) Spring 4.1.4
2、 创建maven工程
a) 打开eclipse,file->new->project->Maven->Maven Project
...
分类:
编程语言 时间:
2016-05-27 12:19:41
阅读次数:
270
各种文本编辑器的”查找”功能(Ctrl+F),大多采用 Boyer-Moore算法 。Boyer-Moore算法不仅效率高,而且构思巧妙,容易理解。
1977年,德克萨斯大学的Robert S. Boyer教授和J StrotherMoore教授发明了这种算法。...
分类:
编程语言 时间:
2016-05-27 12:17:58
阅读次数:
265
最小二乘法Least Square Method,做为分类回归算法的基础,有着悠久的历史(由马里·勒让德于1806年提出)。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。
那什么是最小二乘法呢?别着急,我们先从...
分类:
编程语言 时间:
2016-05-27 12:19:23
阅读次数:
398
本文是《深入理解Java虚拟机》一书中第三章的读书总结。
前面介绍了Java内存结构和HotSpot虚拟机在堆内存中管理对象的过程。不过,在Java程序中对象的创建是非常频繁的,而内存的大小又是有限的,为了内存的重复利用,就需要对内存中的对象进行垃圾收集。其实,这也是Java和C++的一个区别,在Java中可以进行自动的垃圾收集,而C和C++中需要程序员手动回收不再使用的对象。
Java中的垃...
分类:
编程语言 时间:
2016-05-27 12:18:51
阅读次数:
224
首先先截个图来看看集合所包含的类及接口:
Collection接口:...
分类:
编程语言 时间:
2016-05-27 12:19:19
阅读次数:
307
Java中Socket网络通信目录
Java中Socket网络通信
目录
网络协议信息
InetAddress类的应用
URL类的应用
基于TCP的Socket通信
基于UDP的socket通信
Socket通信总结
markdown编辑器快捷键网络协议信息
TCP 传输控制协议(Transmission Control Protocol)
IP 互联网协议(Internet Proto...
分类:
编程语言 时间:
2016-05-27 12:16:29
阅读次数:
238
什么是回调函数?
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
实现机制:
⑴定义一个回调函数;
⑵提供函数实现的...
分类:
编程语言 时间:
2016-05-27 12:15:44
阅读次数:
260
- Java中continue用于处理循环中遇到例外情况跳出当前循环进行下一循环,处理此类情况有其原生的优势。
- 实体类命名规则:驼峰法;数据库命名规则:下划线法
- java的hashCode方法
首先,想要明白hashCode的作用,你必须要先知道Java中的集合。总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。你知道它们的区别吗?前者集...
分类:
编程语言 时间:
2016-05-27 12:14:22
阅读次数:
222
// System.out.println(buildCartTypes());
System.out.println(buildInfos());
//读取文件操作
//1、使用BufferReader ,FileReader进行读取
String filePath = "."+File.separator+"data"+File.separator+"car.dat";
...
分类:
编程语言 时间:
2016-05-27 12:12:33
阅读次数:
233
RxJava的观察者类有许多方法,可以转换发出的字节流为任何你需要的数据类型。这些方法是RxJava非常核心的方法,是RxJava具有吸引力的重要缘故。但是有些方法无论如何都不能改变流本身,我称这些方法为副作用(Side Effect)方法。关于副作用方法,我的一点观点副作用方法并不影响你的字节流本身。相反地,当某些事件发生时它们被调用,这样允许你去处理这些事件。举个例子:当一些错误发生了,如果你想...
分类:
编程语言 时间:
2016-05-27 12:12:35
阅读次数:
380
doOnNext官方介绍:
The doOnNext operator is much like doOnEach(Action1) except that the Action that you pass it as a parameter does not accept a Notification but instead simply accepts the emitted item.
可...
分类:
编程语言 时间:
2016-05-27 12:11:50
阅读次数:
289
本书是对Ivan.Morgillo所写一书的中文翻译版本,仅供交流学习使用,严禁商业用途。另外推荐一本姊妹篇《Learning Reactive Programming》。
《RxJava Essentials》翻译中文版电子书
在线阅读:http://rxjava.yuxingxin.com本书内容有1.RX-from .NET to RxJava本章带你进入reactive的世界。我们会比较...
分类:
编程语言 时间:
2016-05-27 12:12:35
阅读次数:
264
什么是RxJava1. 定义RxJava is a Java VM implementation of Reactive Extensions: a library for composing asynchronous and event-based programs by using observable sequences.
RxJava是JVM的响应式扩展(ReactiveX),它是通过使用...
分类:
编程语言 时间:
2016-05-27 12:11:18
阅读次数:
227
引用类型简介
引用类型的值(对象)是引用类型的一个实例。在ECMAScript中,引用类型是一种数据结构,用于将数据和功能组织在一起。它也常被称为类,但这种称呼并不妥当(虽然不妥当,在别人提起的时候,就是指ECMAScript中的引用类型,在一次面试的时候,有人就和面试官争论说“JS中没有‘类’这个概念,结果可想而知……”)。尽管ECMAScript从技术上讲是一门面向对象的语言,但它不举杯传统...
分类:
编程语言 时间:
2016-05-27 12:08:53
阅读次数:
254