Java 基础
潇儒瀚
这个作者很懒,什么都没留下…
展开
-
一个经典例子让你彻彻底底理解java回调机制
转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17483273),请尊重他人的辛勤劳动成果,谢谢以前不理解什么叫回调,天天听人家说加一个回调方法啥的,心里想我草,什么叫回调方法啊?然后自己就在网上找啊找啊找,找了很多也不是很明白,现在知道了,所谓回调:就是A类中调用B类中的某个方法C,然后B类中转载 2017-01-07 14:32:02 · 310 阅读 · 0 评论 -
Java反射机制详解
目录1反射机制是什么2反射机制能做什么3反射机制的相关API·通过一个对象获得完整的包名和类名·实例化Class类对象·获取一个对象的父类与实现的接口·获取某个类中的全部构造函数 - 详见下例·通过反射机制实例化一个类的对象·获取某个类的全部属性·获取某个类的全部方法·通过反射机制调用某个类的方法·通过反射机制操作某个类的属性·反射机制的转载 2017-02-23 10:46:06 · 252 阅读 · 0 评论 -
JAVA中的反射机制
反射,当时经常听他们说,自己也看过一些资料,也可能在设计模式中使用过,但是感觉对它没有一个较深入的了解,这次重新学习了一下,感觉还行吧! 一,先看一下反射的概念: 主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。转载 2017-02-23 11:35:35 · 173 阅读 · 0 评论 -
java的volatile和synchronized
恐怕比较一下volatile和synchronized的不同是最容易解释清楚的。volatile是变 量修饰符,而synchronized则作用于一段代码或方法;看如下三句get代码:int i1; int geti1() {return i1;}volatile int i2; int geti2() {return i2;}int i3; synchronized int转载 2017-03-03 18:58:53 · 210 阅读 · 0 评论 -
JAVA类加载机制详解
“代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是变成语言发展的一大步”,这句话出自《深入理解JAVA虚拟机》一书,后面关于jvm的系列文章主要都是参考这本书。 JAVA源码编译由三个过程组成:1、源码编译机制。2、类加载机制3、类执行机制我们这里主要介绍编译和类加载这两种机制。一、源码编译代码编译由JAVA源码编译器来转载 2017-03-08 09:19:31 · 172 阅读 · 0 评论 -
深入理解Java:类加载机制及反射
一、Java类加载机制1.概述 Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数,属性和方法等,Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能。 虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始转载 2017-03-08 09:20:38 · 173 阅读 · 0 评论 -
java类与对象的内存分析
先上一句java的经典思想总结, 类(class)是组织代码。 对象是封装数据 。 总结下: 组织代码, 封装数据。 一个类里 有静态的属性(其实是变量),有动态的方法(其实就是函数) ,就像一个模板,批量生产对象。 它们在内存里是怎么分布的呢?堆栈出场!堆里边 存放各个类,以及new出来的对象。栈里边存放的是局部变量,例如new对象的名转载 2017-03-08 09:21:27 · 1223 阅读 · 1 评论 -
JAVA集合类汇总
一、集合与数组数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用。二、层次关系如图所示:图中,实线边框的是实现类,折线边框的是抽象类,而点线边框的是接口Collection接口是集合类的根接口,Java中没有提供这个接口的直转载 2017-03-05 13:30:45 · 165 阅读 · 0 评论 -
Hashmap实现原理
1.HashMap的数据结构 数组的特点是:寻址容易,插入和删除困难;而链表的特点是:寻址困难,插入和删除容易。那么我们能不能综合两者的特性,做出一种寻址容易,插入删除也容易的数据结构?答案是肯定的,这就是我们要提起的哈希表,哈希表有多种不同的实现方法,我接下来解释的是最常用的一种方法—— 拉链法,我们可以理解为“链表的数组” ,如图: 从上图我们可以发现哈希表是由数组转载 2017-03-05 13:36:01 · 222 阅读 · 0 评论 -
Java注释@interface的用法
java用 @interface Annotation{ } 定义一个注解 @Annotation,一个注解是一个类。@Override,@Deprecated,@SuppressWarnings为常见的3个注解。注解相当于一种标记,在程序中加上了注解就等于为程序加上了某种标记,以后,JAVAC编译器,开发工具和其他程序可以用反射来了解你的类以及各种元素上有无任何标记,看你有什么标记转载 2017-03-05 15:39:04 · 503 阅读 · 0 评论 -
Java对象和类
Java是一种面向对象的语言。由于具有面向对象特性的语言,Java支持以下基本概念:多态性继承封装抽象化类对象实例方法消息解析在本章中,我们将探讨类和对象这些概念。对象 - 对象具有状态和行为。例如:狗有状态 - 颜色,名称,繁殖以及行为,摇头晃脑,吠叫,吃。对象是类的实例。类 - 一个类可以被定义为描述行为的模板/蓝色印花/指出其类型支持的对象。J转载 2017-03-07 22:02:45 · 272 阅读 · 0 评论 -
java学习总结(16.06.07)类的静态成员和非静态成员
java里,类的成员可分为静态成员和非静态成员(实例成员),静态成员和非静态成员,从定义上来说就是有没有static修饰符修饰的区别。有static修饰的成员就是静态成员。如[java] view plain copypublic static void fun1();//静态方法fun1 public void fun2();//非静转载 2017-03-07 22:03:33 · 491 阅读 · 0 评论 -
Java多线程程序设计详细解析
一、理解多线程 多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。 线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。 多个线程的执行是并发的,也就是在逻辑上“同时”,而不管是否是物理上的“转载 2017-02-20 19:17:47 · 295 阅读 · 0 评论 -
Java反射机制详解
java 反射 定义 功能 示例概要:Java反射机制详解| |目录1反射机制是什么2反射机制能做什么3反射机制的相关API·通过一个对象获得完整的包名和类名·实例化Class类对象·获取一个对象的父类与实现的接口·获取某个类中的全部构造函数 - 详见下例·通过反射机制实例化一个类的对象·获取某个类的全部属性·获取某个类的全部方法·通过反射机制调用某个类的方法·通过转载 2017-02-11 21:53:51 · 210 阅读 · 0 评论 -
浅谈Java中的对象和引用
浅谈Java中的对象和对象引用 在Java中,有一组名词经常一起出现,它们就是“对象和对象引用”,很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然。今天我们就来一起了解一下对象和对象引用之间的区别和联系。1.何谓对象? 在Java中有一句比较流行的话,叫做“万物皆对象”,这是Java语言设计之初的理念之一。要理解什么是对象,需要跟类一转载 2017-01-07 14:32:41 · 240 阅读 · 0 评论 -
Java接口回调机制详解
一、前言最近在看android fragment与Activity进行数据传递的部分,看到了接口回调的内容,今天来总结一下。二、回调的含义和用途1、什么是回调?一般来说,模块之间都存在一定的调用关系,从调用方式上看,可以分为三类同步调用、异步调用和回调。同步调用是一种阻塞式调用,即在函数A的函数体里通过书写函数B的函数名来调用之,使内存中对应函数B的代码得以执行。异转载 2017-01-08 17:15:00 · 293 阅读 · 0 评论 -
Java 接口和抽象类区别
原文:http://blog.csdn.net/sunboard/article/details/38318231.概述一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构 合理时,你底层的具体实现需要考虑的就仅仅是一些算法和一些具体的业务实现了。当你需要再开发另一个相近的项目时,你以前的抽象层说转载 2017-01-08 17:35:57 · 279 阅读 · 0 评论 -
Java Socket通信及心跳包
最近Android项目中有需要用到Socket与服务器连接的项目,自己之前没有使用过Socket套接字这种方案,所以对Socket通信机制就是个也很有限,领导在会议上讲Socket通讯呢就是客户端和服务器端先进行一次握手,双方同意后就可以进行数据传送。我心里最反感别人说这句话如果是大学老师第一次给我们讲Socket概念的话,这话我乐意听。对这有开发经验的程序员竟然还这么跟我介绍Socket,我要的转载 2017-02-27 20:32:31 · 908 阅读 · 0 评论 -
关于socket长连接的心跳包
出于最近对im研究的兴趣,看到smack里有个30s发送一个空消息的线程,了解了下关于心跳包,keepalive的知识。 TCP的socket本身就是长连接的,那么为什么还要心跳包呢?搜索到的资料解释如下:一:内网机器如果不主动向外发起连接,外网机没法直连内网的(防火墙的原理),这也是内网机安全的原因之一吧,又因为路由器会把这个关系记录下来,但是过一段时间这个记录可能会丢失 ,所有转载 2017-02-27 21:59:38 · 291 阅读 · 0 评论 -
Java reference的种类及使用场景
Java 中一共有 4 种类型的引用 : StrongReference、 SoftReference、 WeakReference 以及 PhantomReference (传说中的幽灵引用).这 4 种类型的引用与 GC 有着密切的关系, 让我们逐一来看它们的定义和使用场景: 1. Strong Reference StrongReference 是 Java转载 2017-02-11 19:42:54 · 373 阅读 · 0 评论 -
理解 Java 的 GC 与 幽灵引用
理解 Java 的 GC 与 幽灵引用 Java 中一共有 4 种类型的引用 : StrongReference、 SoftReference、 WeakReference 以及 PhantomReference (传说中的幽灵引用 呵呵), 这 4 种类型的引用与 GC 有着密切的关系, 让我们逐一来看它们的定义和使用场景 : 1. Str转载 2017-02-11 19:44:09 · 187 阅读 · 0 评论 -
java中的匿名内部类总结
匿名内部类也就是没有名字的内部类正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口 实例1:不使用匿名内部类来实现抽象方法12345678910111213转载 2017-02-11 19:45:59 · 271 阅读 · 0 评论 -
Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。 1.与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。public class转载 2017-02-20 19:16:35 · 409 阅读 · 0 评论 -
Java序列化机制和原理
Java序列化算法透析 Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。Java序列化API提供一种处理对象序列化的标准机制。在这里你能学到如何序列化一个对象,什么时候需要序列化以及Java序列化的算法,我们用一个实例来示范序列化以后的字节是如何描述一个对象的信息的。序列化的必要转载 2017-02-11 21:49:47 · 167 阅读 · 0 评论 -
理解 Java 的 GC 与 幽灵引用
Java 中一共有 4 种类型的引用 : StrongReference、 SoftReference、 WeakReference 以及 PhantomReference (传说中的幽灵引用 呵呵), 这 4 种类型的引用与 GC 有着密切的关系, 让我们逐一来看它们的定义和使用场景 : 1. Strong Reference S转载 2017-02-11 21:51:34 · 168 阅读 · 0 评论 -
ExecutorService 的理解与使用
接口 java.util.concurrent.ExecutorService 表述了异步执行的机制,并且可以让任务在后台执行。壹個 ExecutorService 实例因此特别像壹個线程池。事实上,在 java.util.concurrent 包中的 ExecutorService 的实现就是壹個线程池的实现。ExecutorService 样例这里有壹個简单的使用Java 实现的转载 2017-03-21 21:52:35 · 274 阅读 · 0 评论