![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaSE
fengguanghui326
这个作者很懒,什么都没留下…
展开
-
计算器代码
[code="java"]import java.awt.*; import java.awt.event.*; import javax.swing.*;public class Calculator { public static void main(String[] args) { CalculatorFrame frame=new CalculatorF...2009-05-24 18:13:00 · 130 阅读 · 0 评论 -
钩子方法
钩子方法源于设计模式中模板方法模式,模板方法模式中分为两大类:模版方法和基本方法,而基本方法又分为:抽象方法,具体方法,钩子方法。当然这里不细说模板方法模式,对于钩子方法,是对于抽象方法或者接口中定义的方法的一个空实现,在实际中的应用,比如说有一个接口,这个接口里有7个方法,而你只想用其中一个方法,那么这时,你可以写一个抽象类实现这个接口,在这个抽象类里将你要用的那个方法设置为abstra...原创 2012-04-22 00:53:14 · 857 阅读 · 0 评论 -
类中各属性的初始化顺序 ,构造器和初始化块
对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序以此是(静态变量、静态初始化块)>(变量、初始化块)>构造器。我们可以通过下面的测试代码来验证这一点:<wbr></wbr>Java代码<wbr></wbr>public class InitialOrderTest { // 静态...2012-03-23 15:27:00 · 136 阅读 · 1 评论 -
有状态bean和无状态bean
[size=medium]现实中,很多朋友对两种session bean存在误解,认为有状态是实例一直存在,保存每次调用后的状态,并对下一次调用起作用,而认为无状态是每次调用实例化一次,不保留用户信息。仔细分析并用实践检验后,你会发现,事实恰好相反:有状态和无状态会话bean的本质区别是它们的生命期。首先解释一个下面要用到的概念--用户:session bean 的用户实际上就是直接调用e...原创 2012-06-19 23:01:56 · 120 阅读 · 0 评论 -
Java中的transient,volatile和strictfp关键字
Java中的transient,volatile和strictfp关键字转载来自:http://www.iteye.com/topic/52957 如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。例如:Java代码classT{transientinta;//不需要维持intb;//需要维持...2011-12-05 11:31:00 · 50 阅读 · 0 评论 -
HashSet和HashMap源码实现分析
术语解释:负载因子: 负载因子表示散表的装满程度,定义为散列表中节点的数目除以基本区域能容纳的节点数所得的商.DEFAULT_LOAD_FACTOR=0.75f,当数组中75%的空间都已被使用时,会重新开辟一个新数组,扩容到原来的两倍,把原来数组里面的元素复制到新数组里面 1、HashSet 底层是使用 HashMap 实现的。当使用 add 方法将对象添加到 Set 当中时,...2011-11-26 18:41:00 · 68 阅读 · 0 评论 -
java安全机制 控制文件的授权 读写控制
在java中的java.policy这个文件中,定义了一些信息,比如grant等,就是对某些文件进行授权的,类似于liscense文件,此文件采用了沙箱的模式 ,封装了一些允许的范围,提高的安全度,一下为java.policy的内容:// Standard extensions get all permissions by defaultgrant codeBase "file:$...2011-11-24 23:53:00 · 89 阅读 · 0 评论 -
Java heap space,OutOfMemoryError:
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同...原创 2012-05-10 22:11:37 · 57 阅读 · 0 评论 -
Java的反射和内省机制
[size=medium]一、java反射机制 JAVA反射机制是在运行状态中,对于任意一个类,都能够得到这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 用一句比较白的话来概括,反射就是让你可以通过名称来得到对象 ( 类,属性,方法 ) 的技术。例如我们可以通过类名来生成一个类的实...原创 2012-05-02 17:52:18 · 61 阅读 · 0 评论 -
转载的
1、@Override @SuppressWarnings @Deprecated 这三个注解的生命周期 分别是什么(对应的@Retention(RetentionPolicy))的取值 分析:@Override @SuppressWarnings 都是给编译器用的,编译器检查完成之后就没有用了,所以他们的生命周期在 resource阶段,而@Deprecated虽然也是给编译器用的但是不一样,例...原创 2012-05-02 17:51:05 · 56 阅读 · 0 评论 -
Java内存管理、内存泄露
转载原文:http://cowboy-bebop.iteye.com/blog/1019306问题的提出Java的一个重要优点就是通过垃圾收集器(Garbage Collection,GC)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC或JVM的问题。其实,这种想法是不正确的,...原创 2012-05-02 10:58:08 · 119 阅读 · 0 评论 -
多线程
1、Java 中如果我们自己没有产生线程,那么系统就会给我们产生一个线程 (主线程,main 方法就在主线程上运行),我们的程序都是由线程来执行的。2、进程:执行中的程序(程序是静态的概念,进程是动态的概念)。3、线程的实现有两种方式,第一种方式是继承Thread 类,然后重写run 方法;第二种是实现Runnable 接口,然后实现其run 方法。4.、将我们希望线程执行的代码放到r...2012-01-17 00:02:00 · 64 阅读 · 0 评论 -
序列化和反序列化
1. 一个类若想被序列化,则需要实现java.io.Serializable 接口,该接口中没有定义任何 方法,是一个标识性接口(Marker Interface),当一个类实现了该接口,就表示这个 类的对象是可以序列化的。2. 在序列化时,static 变量是无法序列化的;如果A 包含了对B 的引用,那么在序列化 A 的时候也会将B 一并地序列化;如果此时A 可以序列化,B 无法...2012-01-16 23:13:00 · 57 阅读 · 0 评论 -
java回调函数
所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(函数原型),然后由C提前通过S的一个函数R告诉S自己将要使用B函数,...2012-01-15 11:29:00 · 63 阅读 · 0 评论 -
在命令行输入参数 判断每个参数输入的次数
package com.fgh.collection;import java.util.HashMap;import java.util.Iterator;import java.util.Set;/*** 在命令行输入参数 判断每个参数输入的次数* @author fgh**/public class InputTimes {public static voi...2011-09-30 00:24:00 · 232 阅读 · 0 评论 -
方法参数传递(引用传递)
[code="java"]package com.fgh.basic;/*** 引用的传递** @author fgh**/public class ParamTest1 {public void change(Test test, Test test1) {test.name = "lisi";test1.name = "wangwu";}...2011-09-25 22:37:00 · 169 阅读 · 0 评论 -
用Java播放mp3音乐
[code="java"]import javax.sound.midi.*;import java.io.*;class MidiPlayer implements Runnable...{protected Sequence m_Midi;protected Sequencer m_player;public boolean m_bOk;private Thre...2009-05-24 18:15:00 · 217 阅读 · 0 评论 -
OpenJDK和JDK区别
使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的openjdk,那么到底什么是openjdk,它与sun jdk有什么关系和区别呢? 历史上的原因是,openjdk是jdk的开放原始码版本,以GPL协议的形式放出。在JDK7的时候,openjdk已经成为jdk7的主干开发,sun jdk7是在openjdk7的基础上发布的,其大部分...原创 2013-01-17 17:07:18 · 539 阅读 · 0 评论