java语法
文章平均质量分 78
q294881866
这个作者很懒,什么都没留下…
展开
-
排序与查找
排序与查找 大多数程序设计的入门经典:排序与查找。排序和查找的经典算法已经固定,作为不同场景设计的调优基础。这些算法的提出和优化过程还是很有趣的。有兴趣可以参看Donald E. Knuth的《计算机程序设计艺术(第3卷)》排序与查找,非常有趣,值得业余一看。还有一篇关于算法的讨论。 排序 内排序与外排序根据在排序过程中待排序的记录是否全部被放置在内存中,排序分为:内排序和外排序。内原创 2017-07-10 10:54:56 · 780 阅读 · 0 评论 -
Java语法糖设计
语法糖 Java语法糖系列,所以首先讲讲什么是语法糖。语法糖是一种几乎每种语言或多或少都提供过的一些方便程序员开发代码的语法,它只是编译器实现的一些小把戏罢了,编译期间以特定的字节码或者特定的方式对这些语法做一些处理,开发者就可以直接方便地使用了。这些语法糖虽然不会提供实质性的功能改进,但是它们或能提高性能、或能提升语法的严谨性、或能减少编码出错的机会。Java提供给了用户大量的语法糖,...原创 2017-07-10 10:55:00 · 497 阅读 · 0 评论 -
代理
其实每个模式名称就表明了该模式的作用,代理模式就是多一个代理类出来,替原对象进行一些操作,比如我们在租房子的时候回去找中介,为什么呢?因为你对该 地区房屋的信息掌握的不够全面,希望找一个更熟悉的人去帮你做,此处的代理就是这个意思。再如我们有的时候打官司,我们需要请律师,因为律师在法律方面有 专长,可以替我们进行操作,表达我们的想法。先来看看关系图: 代理模式的应用场景:原创 2017-07-10 10:55:03 · 158 阅读 · 0 评论 -
序列化
一个序列化例子 Test.java包括一个无参构造器,一个序列化的属性和不被序列化的属性。 定义序列化的工具方法 序列化 反序列化 测试(反序列化的本质是对象的深克隆,不会走构造方法)原创 2017-07-10 10:55:06 · 131 阅读 · 0 评论 -
类加载器
类加载器前提:通过一个类的全限定名来获取描述此类的二进制字节流,实现这个动作的代码模块称为类加载器。这里并没有规定读取方式,可以从Class文件、网络、数据库、内存等。比较两个类是否相等,需要两个类来源于同一个Class文件,被同一个类加载器加载。Java有两种类加载器。Java虚拟机用c++语言实现的启动类加载器(Bootstrap ClassLoader)。Java语言的其它类加载器如...原创 2017-07-10 10:55:08 · 140 阅读 · 0 评论 -
Java注解
注解 运行 Sun JDK字节码生成分为三个阶段:解析和填充符号表过程,生成语法树 插入式注解处理器的注解处理过程,可以操作语法树。 这个操作语法树的特性,可以让注解生成代码或者填充默认值 Google的AutoValue值类型生成类库 分析与字节码生成。作用阶段:枚举类型 java.lang.annotation.RetentionPolicy ...原创 2017-07-10 10:55:11 · 155 阅读 · 0 评论 -
Java反射
每个Java class在jvm中都有一个对应对象描述。每个Java对象都有一个指向class的指针。反射的实质获取对象指向Class元数据描述的信息,详见java.lang.class类。反射通过class对类的描述可以获取类field、method、包括匿名类和内部类等所有类定义的信息。下面详细介绍反射的实现: 1.先检查 AccessibleObject的override属性是否为tru...原创 2017-07-10 10:55:14 · 715 阅读 · 0 评论 -
内省
内省(Introspector)是Java 语言对Bean类属性、事件的一种缺省处理方法。JDK提供了对JavaBean进行操作的API,这套API就称为内省。 Java的内省是指在不知道Bean对象的属性的情况下,通过Introspector和属性描述器(PropertyDescriptor)来获取属性的getter/setter方法。 Java内省机制的一般做法是通过类原创 2017-07-10 10:55:17 · 281 阅读 · 0 评论 -
java堆溢出
在Eclipse 配置运行参数或者在命令行中加上参数 eclipse 安装 MAT插件,使用。 虚拟机栈内存溢出: 创建很多线程导致内存溢出,可以减少最大堆和减少栈容量。方法区和运行时常量池溢出 方法区溢出 大量产生java类的应用,类被不同类加载器多次加载。都可能产出方法区溢出。本机...原创 2017-07-10 10:56:16 · 436 阅读 · 0 评论 -
Java代理
其实每个模式名称就表明了该模式的作用,代理模式就是多一个代理类出来,替原对象进行一些操作,比如我们在租房子的时候回去找中介,为什么呢?因为你对该 地区房屋的信息掌握的不够全面,希望找一个更熟悉的人去帮你做,此处的代理就是这个意思。再如我们有的时候打官司,我们需要请律师,因为律师在法律方面有 专长,可以替我们进行操作,表达我们的想法。先来看看关系图: 代理模式的应用场景:...原创 2017-07-10 10:56:23 · 212 阅读 · 0 评论 -
Jdk类库注解
Java类库常用注解 这里解释注解的用法和含义,自定义注解在后面提到。 元注解是指注解的注解。包括 @Retention @Target @Document @Inherited四种。 注释类型 Inherited @Documented@Retention(value=RUNTIME)@Target(value=ANNOTATION_T原创 2017-07-07 18:13:25 · 381 阅读 · 0 评论 -
Java语法基础
运算符与语法 修改:根据乔俊龙同学意见,做整体修改。 编程语言,计算数据并得到预期的结果。首先要有保存中间数据的容器。用于数据读取、中间量暂存、结果数据在被获取之前。 下面的例子是一个java的数据模型。我们称为Java bean。其中会说明上述的java语法规范。 Java数据模型是一种将数据与其行为集成在一起的模式。 使用JavaBean时,我们需要在应用程序中加原创 2017-07-07 18:19:39 · 236 阅读 · 0 评论 -
Java基本类型与引用类型
基本类型(primitive type) boolean 不同于C语言Java在JVM实现中用整形0 1表示。JVM对整形指令做了优化。 "位"用0和1来表示 ,true的值在内存中就表示1,false在内存中就是表示0。 不同于int的0和1,一个int型的变量,占用的内存空间是4个字节,4*8 位char前256个表原创 2017-07-07 18:23:12 · 482 阅读 · 0 评论 -
Java对于面向对象编程的设计
多态重载与重写输出是Object。在这个例子中,重载的3个get方法,Object包含另外两种参数类型。这种设计会带来问题:String... 本可以是null,单String,String[];int数组也有可能在运行时当做Object类型。 接口与抽象类接口定义了必须实现的规范,接口也可以保持对非可见类的引用。面向接口让扩展变得很容易。抽象类定义一...原创 2017-07-07 18:45:12 · 271 阅读 · 0 评论 -
几种面向对象语言的设计
面向对象Java是支持面向对象编程的语言,java设计思想参考java之父James Gosling的一次谈话 http://www.artima.com/intv/gosling1P.html。设计简单,易于理解,多用于开发Internet应用软件。90年代的许多软件开发思想得益于Smalltalk语言。本文试图从多继承、封装、多态、闭包的实现来说明几种语言面向对象编程的特点。...原创 2017-07-10 10:54:53 · 975 阅读 · 0 评论