随笔分类 - JAVA
JAVA System.arraycopy 和Arrays.copyof 效率比较
摘要:System.arraycopy()源码。可以看到是native方法: native关键字说明其修饰的方法是一个原生态方法,方法对应的实现不是在当前文件,而是在用其他语言(如C和C++)实现的文件中。 可以将native方法比作Java程序同C程序的接口。 copyOf,下面是源码,可以看到本质上是
阅读全文
java回收算法
摘要:两个最基本的java回收算法:复制算法和标记清理算法 复制算法:两个区域A和B,初始对象在A,继续存活的对象被转移到B。此为新生代最常用的算法 标记清理:一块区域,标记要回收的对象,然后回收,一定会出现碎片,那么引出 标记-整理算法:多了碎片整理,整理出更大的内存放更大的对象 两个概念:新生代和年老
阅读全文
JDK与JRE的区别
摘要:1.JVM -- java virtual machineJVM就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交
阅读全文
关于getClass().getClassLoader()
摘要:InputStream is = getClass().getClassLoader().getResourceAsStream("helloworld.properties");中getClass()和getClassLoader()都是什么意思呀.getClass():取得当前对象所属的Clas
阅读全文
关于InputStream类的available()方法
摘要:要一次读取多个字节时,经常用到InputStream.available()方法,这个方法可以在读写操作前先得知数据流里有多少个字节可以读取。需要注意的是,如果这个方法用在从本地文件读取数据时,一般不会遇到问题,但如果是用于网络操作,就经常会遇到一些麻烦。比如,Socket通讯时,对方明明发来了10
阅读全文
Java GUI编程中AWT/swing/SWT的优缺点
摘要:http://www.cnblogs.com/dugang/archive/2010/10/22/1858478.html AWT AWT是Abstract Window Toolkit(抽象窗口工具包)的缩写,是SUN专门针对Java GUI编程提供的最早的也是最初的开发工具包,用来建立和设置Ja
阅读全文
Java IO流中的flush()
摘要:通过BufferedOutputStream或BufferedWriter 链接到底层流上来实现。因此,在写 完数据时,flush就显得尤为重要。 例如: 上图中WEB服务器通过输出流向客户端响应了一个300字节的信息,但是,这时的输出流有一个1024字节的缓冲区。所以,输出流就一直等着WEB服务器
阅读全文
volatile
摘要:一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。 2)禁止进行指令重排序。 volatile只提供了保证访问该变量时,每次都是从内存中
阅读全文
抽象类和接口
摘要:抽象类 特点: 1.抽象类中可以构造方法 2.抽象类中可以存在普通属性,方法,静态属性和方法。 3.抽象类中可以存在抽象方法。 4.如果一个类中有一个抽象方法,那么当前类一定是抽象类;抽象类中不一定有抽象方法。 5.抽象类中的抽象方法,需要有子类实现,如果子类不实现,则子类也需要定义为抽象的。 接口
阅读全文
AWT和Swing
摘要:AWT和Swing都是java中的包。 AWT(Abstract Window Toolkit):抽象窗口工具包,早期编写图形界面应用程序的包。 Swing :为解决 AWT 存在的问题而新开发的图形界面包。Swing是对AWT的改良和扩展。 AWT和Swing的实现原理不同: AWT的图形函数与操
阅读全文
JVM内存
摘要:大多数 JVM 将内存区域划分为 Method Area(Non-Heap)(方法区) ,Heap(堆) , Program Counter Register(程序计数器) , VM Stack(虚拟机栈,也有翻译成JAVA 方法栈的),Native Method Stack ( 本地方法栈 ),其
阅读全文
3.5.10 判断数字的奇偶
摘要:package chapterOne; import java.util.Scanner; public class ParityCheck { public static void main(String[] args) { Scanner scan=new Scanner(System.in); System.out.println("Please enter a integer:")...
阅读全文
java 中利用异或实现两个变量互换
摘要:一般实现两个变量之间的互换要用第三个变量,这样做可以,但创建新变量,增加了系统开销。如果要交换的变量时两个整数型变量,可以用更高效的方法。例如:^(异或)操作,举例如下: 原理理解如下: a ba^=b a^b bb^=a a^b b^(a^b) => aa^=b a^b^(a) => b aOK
阅读全文
Java三大主流框架概述
摘要:Struts、Hibernate和Spring是我们Java开发中的常用关键,他们分别针对不同的应用场景给出最合适的解决方案。但你是否知道,这些知名框架最初是怎样产生的?我们知道,传统的Java Web应用程序是采用JSP+Servlet+Javabean来实现的,这种模式实现了最基本的MVC分层,...
阅读全文
Eclipse 汉化方法
摘要:1 打开http://www.eclipse.org/babel/downloads.php2 复制http://download.eclipse.org/technology/babel/update-site/R0.12.1/kepler33
阅读全文
浙公网安备 33010602011771号