随笔分类 - Java基础
java线程(2016-4-7)
摘要:Thread.yield()的调用是对线程调度器(Java线程机制的一部分,可以将CPU从一个线程转移到另一个线程)的一种建议,它在声明:"我已经执行完生命周期中最重要的部分了,此刻正是切换给其它任务执行一段时间的大好时机",这完全是选择性的,也就是说可能不会转移到其它线程。 yield()应该做的
阅读全文
Java 线程的转换及状态
摘要:线程的状态转换是线程控制的基础。 线程状态总的可分为五大状态:分别是生、死、可运行、运行、等待/阻塞。用一个图来描述如下: 1、新建状态(New):新创建了一个线程对象。 2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得
阅读全文
Java线程总结
摘要:在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口。 对于直接继承Thread的类来说,代码大致框架是: 先看一个简单的例子: 我们会发现这些都是顺序执行的,说明我们的调用方法不对,应该调用的是start()方法。当我们把上面的主函数修改为如下所示的时
阅读全文
对象的复制(浅复制与深复制)
摘要:在Java中如果想将一个基本类型变量的值赋给另一个变量,直接使用等号解可以了,原始的版本改变了,副本并不会发生变化,如下: 但是如果想要复制的变量不是基本类型,而是引用类型的话,就会与上面的效果不同: 在上面的代码中,原始对象发生变化,副本对象也发生了变化,这是因为,执行p2=p1这段代码的时候,只
阅读全文
java中hashCode()方法的作用
摘要:hashcode方法返回该对象的哈希码值。 hashCode()方法可以用来来提高Map里面的搜索效率的,Map会根据不同的hashCode()来放在不同的位置,Map在搜索一个对象的时候先通过hashCode()找到相应的位置,然后再根据equals()方法判断这个位置上的对象与当前要插入的对象是
阅读全文
判断java中两个对象是否相等
摘要:java中的基本数据类型判断是否相等,直接使用"=="就行了,相等返回true,否则,返回false。 但是java中的引用类型的对象比较变态,假设有两个引用对象obj1,obj2, obj1==obj2 判断是obj1,obj2这两个引用变量是否相等,即它们所指向的对象是否为同一个对象。言外之意就
阅读全文
文件压缩
摘要:文件的压缩 Java I/O类库中的类支持读写压缩格式的数据流。可以用它们对其他的I/O类进行封装,以提供压缩功能。 这些类不是从Reader和Writer类派生而来的,而是属于InputStream和OutputStream继承层次结构的一部分,这样做是因为压缩类库是按字节的方式而不是
阅读全文
文件加锁
摘要:文件加锁 可以对同步访问的共享资源文件进行加锁,不过竞争同一个文件的两个线程可能在不同的虚拟机上;或者是一个是Java线程,另一个是操作系统中其他的某个本地线程,文件锁对其他操作系统进程是可见的,因为Java的问价加锁直接映射到了本地操作系统的加锁工具。
阅读全文
java的I/O操作:文件的路径
摘要:package solutions; import java.io.*; /** * Created by Administrator on 2016/3/14. */ public class Redirecting{ public static void main(String[] args) throws IOException { PrintStream ...
阅读全文
Java编程思想(一):大杂烩
摘要:在java中一切都被视为对象。尽管一切都是对象,但是操纵的标识符实际上是对象的一个引用,可以将引用想象成是遥控器(引用)来操纵电视机(对象)。没有电视机,遥控器也可以单独存在,即引用可以独立存在,并不需要有一个对象与之关联,如下: String s; 上面只是创建s这个引用,并不是对象。 *基
阅读全文
Java获取当前内存及硬盘使用情况
摘要:import java.io.File; import java.lang.management.ManagementFactory; import com.sun.management.OperatingSystemMXBean; public class MemDisk { public static void main(String[] args) { ...
阅读全文
javaIO整理
摘要:写在前面:本文章基本覆盖了java IO的全部内容,java新IO没有涉及,因为我想和这个分开,以突出那个的重要性,新IO哪一篇文章还没有开始写,估计很快就能和大家见面。照旧,文章依旧以例子为主,因为讲解内容的java书很多了,我觉的学以致用才是真。代码是写出来的,不是看出来的。 最后欢迎大家提出意
阅读全文
java动态代理
摘要:JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而
阅读全文
泛型总结
摘要:import java.util.ArrayList; import java.util.List; import java.util.Vector; //为什么要使用泛型 class Student{ private int studentnum; public Student(int numbe
阅读全文
java反射机制简介
摘要:1.字节码。所谓的字节码就是当java虚拟机加载某个类的对象时,首先需要将硬盘中该类的源代码编译成class文件的二进制代码(字节码),然后将class文件的字节码加载到内存中,之后再创建该类的对象 2.java反射的基础是Class类(注意不是小写的class),Class类实例代表着内存中的一份
阅读全文
StringBuffer类总结
摘要:package day13; /* StringBuffer是字符串缓冲区。 是一个容器。 特点: 1,长度是可变化的。 2,可以字节操作多个数据类型。 3,最终会通过toString方法变成字符串。 C create U update R read D delete 1,存储。 StringBuffer append():将指定数据作为参数添加到已有数据结...
阅读全文
java中的断言
摘要:断言:也就是所谓的assertion,是jdk1.4后加入的新功能。 它主要使用在代码开发和测试时期,用于对某些关键数据的判断,如果这个关键数据不是你程序所预期的数据,程序就提出警告或退出。 当软件正式发布后,可以取消断言部分的代码。java中使用assert作为断言的一个关键字,这就可以看出jav
阅读全文
Java用native2ascii命令做unicode编码转换
摘要:背景:在做Java开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,比如常见的validator验证用的消息资源(properties)文件就需要进行Unicode重新编码。原因是java默认的编码方式为Unicode,而我们的计算机系统编码常常是GBK等编码。需要将系统的编码转换为ja...
阅读全文
枚举类型的总结
摘要:package EnumExercise; public class Student { private String name; private Grade grade; public Student(String name, Grade grade) { super(); this.name = name; this.grade = grade; } public String getN...
阅读全文
浙公网安备 33010602011771号