Java
文章平均质量分 69
愤怒的猴子
好的习惯是一天一天养成的,加油
展开
-
关于IO流的那些事
java.io流包括输入,输出两种流,每种输入输出流又可以分为字节流和字符流两大类。File既可以代表文件,也可以代表目录。用文件路径字符串来创建File实例,既可以用绝对路径,也可以用相对路径。在Myeclipse中相对路径一般都是用.代表该项目的路径,用./src/package/test.java来表示相对路径。字节流主要以InputStream和OutStream作为基类,字符流主要以Rea原创 2016-04-16 11:39:08 · 1034 阅读 · 0 评论 -
java中HashMap详解
HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机制完全一样,甚至 HashSet 本身就采用 HashMap 来实现的。通过 HashMap、转载 2016-06-24 16:25:27 · 1941 阅读 · 0 评论 -
正则表达式
正则表达式 String类提供了下面几个方法来使用正则表达式 matches(String regex) replaceAll(String regex, String replacement) replaceFirst(String regex, String replacement) split(String regex) $ 一行的结尾原创 2016-05-13 17:11:32 · 386 阅读 · 0 评论 -
关于java中一些代码的理解
Iterable和Iterator的区别 首先Iterable是java.lang包中的,它的三个接口方法是 forEach(Consumer< ? super T> action) 、iterator() 、spliterator() 很多类都继承了Iterable,这样就可以调用他们的方法。Iterator是java.util包中的,它的四个接口方法是 forEachRemaining原创 2016-05-25 21:49:14 · 618 阅读 · 0 评论 -
远程主机强迫关闭了一个现有的连接
严重: Failed to initialize end point associated with ProtocolHandler ["http-nio-8080"]java.io.IOException: Unable to establish loopback connection at sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.jav原创 2016-05-19 10:53:29 · 13318 阅读 · 0 评论 -
Annotation
Annotation是代码里的特殊标记,这些标记可以在编译,类加载、运行时被读取,并执行相应的处理。通过使用注解,程序开发人员可以通过这些补充信息进行验证或者进行部署。Annotation就像修饰符一样,可用于修饰包、类、构造器、方法、成员变量、参数、局部变量的声明,这些信息被存储在Annotation的"name=value"对中。Annotation能被用来为程序元素(类、方法、成员变原创 2016-07-03 10:15:08 · 590 阅读 · 0 评论 -
类的加载机制
Java虚拟机与程序的生命周期 在如下的几种情况下,Java虚拟机将结束生命周期 1、执行了System.exit()或者Runtime.getRuntime().exit()代码结束程序 2、程序运行到最后正常结束 3、程序在执行过程中遇到未捕获的异常或错误而结束 4、操作系统出现错误而导致Java虚拟机程序终止 当程序主动使用某个类时,如果该类没有加载到内存中,则系统会通过加载、连接原创 2016-04-18 11:42:59 · 446 阅读 · 0 评论 -
java反射
许多java对象在运行时表现出两种状态:编译时类型和运行时类型。例如:Person p = new Student();为了解决这个问题,需要知道该对象运行时类型的方法。第一种做法是假设在编译时和运行时完全知道类型的真实信息,这就可以用instanceof进行判断,然后利用强制类型转换将其转换成其运行时类型的变量。第二种做法是编译时完全不知道这个对象可能属于哪些类,这时就必须要利用反射原创 2016-08-28 16:07:30 · 548 阅读 · 0 评论 -
类的加载与反射之代码演示
看下面代码请参考上一篇《类的加载加载与反射》 例子一:class FinalTest{ //编译时候直接将常量yeshiwu放入常量池中,本质上并没有直接引用到定义常量类的初始化 public static final String str="yeshiwu"; //编译的时候就可以确定为2,所以不会对类进行初始化 public static final int x原创 2016-04-18 14:48:49 · 367 阅读 · 0 评论 -
Class文件结构
java虚拟机不和包括java在内的任何语言绑定,它只和”Class文件”这种特定的二进制文件格式所关联。使用其他语言的编译器一样可以把程序代码编译成Class文件,这样就实现了程序的“一次编写,到处运行”。Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑的排列在Class文件之中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容几乎全部是程序运行的必要数原创 2016-04-20 20:32:58 · 453 阅读 · 0 评论 -
Java泛型总结
所谓泛型,就是允许在定义类,接口,方法式使用类型形参,这个类型形参将在声明变量,创建对象,调用方法时动态地指定。可以为任何类,接口增加泛型声明。例如:public class Apple<T>{ private T info;}当使用Apple类时就可以为T类型形参传入实际类型。当创建了带泛型声明的接口,父类之后,可以为该接口创建实现类,或者从此父类派生子类。但是当使用这些接口,父类是不能原创 2016-04-10 19:39:24 · 576 阅读 · 0 评论 -
java之网络编程
Java的网络通信简单来说就是服务器端通过ServerSocket建立监听,客户端通过Socket连接到服务器,通信双方就可以通过IO流进行通信。当一个程序需要发送数据时,需要指定目的地的IP地址和端口,如果指定了正确的IP地址和端口号,计算机网络就可以将数据送给该IP地址和端口号对应的程序。Java使用InetAddress类来代表IP地址,它有两个子类Ine4tAddress和Inet6Addr原创 2016-04-16 11:31:11 · 295 阅读 · 0 评论 -
java之多线程
当一个程序进入内存运行时,即变成一个进程。进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位。进程的三个特性:独立性,动态性,并发性:多个进程可以在单个处理器上并发执行,多个进程之间不会互相影响。并发性是指同一时刻只有一条指令执行,但多个进程指令被快速轮换执行,使得在宏观上具有多个进程同时执行的效果。并行在同一时刻,多条指令在多个处理器上同时执行。多线程扩原创 2016-04-24 14:45:17 · 460 阅读 · 0 评论 -
在myeclipse中添加反编译插件jad
网上有很多,但很多都写的不是很清楚。虽然纠结了好久,终于搞定了。 所需工具:jad.exe,net.sf.jadclipse_3.3.0jar 在myeclipse\dropins中创建文件夹jad,然后在jad中创建文件夹features和plugins,将net.sf.jadclipse_3.3.0jar放入plugins文件夹中。 将jad.exe放入java的bin文件夹中,我的目录是原创 2016-04-22 21:24:02 · 724 阅读 · 1 评论 -
java之面向对象下
jdk1.5实现了装箱和拆箱的功能,装箱允许把基本类型值直接赋给对应的包装类引用变量,拆箱允许把包装类对象赋值给对应的基本类型变量。包装类可以实现基本类型变量和字符串之间的转换。把字符串类型的值转换成基本类型的值有两种方式: 1、利用包装类的parseXXX(String s)静态方法 2、利用包装类提供的Xxx(String s)构造器 String类则提供多个重载的valueOf()原创 2016-04-22 11:31:11 · 400 阅读 · 0 评论 -
java之面向对象上
java面向对象的三大特征:封装、继承、多态 引用变量放在栈内存里,实际的对象放在堆内存里。引用变量里存放的仅仅是一个引用,它指向实际的对象。Java里的引用就是C里的指针。 如果堆内存里的对象没有任何变量指向该对象,那么程序将无法访问该对象,Java的垃圾回收机制会回收该对象,释放内存。如果希望通知垃圾回收机制回收某个对象,只要将引用变量赋值为null即可。 java提供this关键字,指原创 2016-04-21 22:15:15 · 569 阅读 · 0 评论 -
虚拟机方法调用和字节码执行
执行引擎是Java虚拟机最核心的组成部分之一。虚拟机和物理机都有代码执行能力,其别是物理机的执行引擎建立在处理器,硬件,指令集和操作系统上。而虚拟机的执行引擎是自己实现的,因此可以自行制定指令集与执行引擎的结构体系,并且能够执行那些不被硬件直接支持的指令集格式。栈帧是虚拟机运行时数据区中的虚拟机栈的栈元素。栈帧存储了方法的局部变量表,操作数栈,动态连接和方法返回地址等信息。每一个方法从调用开始原创 2016-04-20 22:19:24 · 677 阅读 · 0 评论 -
动态代理proxy与CGLib的区别
昨天被人问及动态代理与CGlib的区别,赶紧回顾一下:什么是代理?静态代理与动态代理静态代理实例JDK动态代理实例CGLib 简介CGLib 与JDK动态代理的区别 代理模式是Java中常见的一种模式,英文名字叫走Proxy或者Surrogate,代理的本意是一个人代表另一个人,或者一个机构代表另一个机构,采取行动,因而,代理和现实生活中的中介有很大的类似,你买房子、卖房子,可以转载 2016-10-15 10:36:32 · 442 阅读 · 0 评论