JAVA
文章平均质量分 61
JJ_nan
这个作者很懒,什么都没留下…
展开
-
注册窗口监听器
f.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); 1 首先:WindowAdapter 是窗口适配器类 2 new WindowAdapter()是实例化了一个无名的对象 3 public原创 2016-10-13 17:00:39 · 858 阅读 · 0 评论 -
java中的synchronized(同步代码块和同步方法的区别)
问题的由来:看到这样一个面试题://下列两个方法有什么区别public synchronized void method1(){}public void method2(){ synchronized (obj){}}12345671234567synchronized用于解决同步问题,当有多条线程同时访问共享数据时,如果不进行同步,就会发生错误,Java提供原创 2017-05-10 20:30:11 · 444 阅读 · 0 评论 -
Java产生死锁的一个简单例子
思路是创建两个字符串a和b,再创建两个线程A和B,让每个线程都用synchronized锁住字符串(A先锁a,再去锁b;B先锁b,再锁a),如果A锁住a,B锁住b,A就没办法锁住b,B也没办法锁住a,这时就陷入了死锁。直接贴代码:public class DeadLock { public static String obj1 = "obj1"; public static原创 2017-05-10 20:42:59 · 356 阅读 · 0 评论 -
Java的8种基本类型
Java的8种基本类型(Byte, Short, Integer, Long, Character, Boolean, Float, Double), 除Float和Double以外, 其它六种都实现了常量池, 但是它们只在大于等于-128并且小于等于127时才使用常量池。由如下例子可以看出:[java] view plain copy public static void main(String原创 2016-10-07 12:30:10 · 487 阅读 · 0 评论 -
java 中的序列化是什么意思?有什么好处?
1、序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存Object States,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。2、什么情况下需要序列化 a)当你想把的内存中的对象保存到一个文件中或者数据库中时候;b)当你想用套接字在网络上传送对象的时候;c)当你想转载 2017-04-25 10:03:54 · 538 阅读 · 0 评论 -
Java中构造方法的执行顺序
一、先执行内部静态对象的构造方法,如果有多个按定义的先后顺序执行;静态对象在构造的时候也是也先执行其内部的静态对象。二、再调用父类的构造方法(父类还有父类的话,从最开始的基类开始调用),如果没有明显指定调用父类自定义的构造方法,那么编译器会调用默认的父类构造方法super()。但是如果要调用父类自定义的构造方法,要在子类的构造方法中明确指定。三、按声明顺序将成员引用对象变量初始化。原创 2017-04-25 16:22:20 · 5631 阅读 · 0 评论 -
四种会话跟踪技术
会话跟踪是一种灵活、轻便的机制,它使Web上的状态编程变为可能。HTTP是一种无状态协议,每当用户发出请求时,服务器就会做出响应,客户端与服务器之间的联系是离散的、非连续的。当用户在同一网站的多个页面之间转换时,根本无法确定是否是同一个客户,会话跟踪技术就可以解决这个问题。当一个客户在多个页面间切换时,服务器会保存该用户的信息。有四种方法可以实现会话跟踪技术:URL重写、隐藏表单域转载 2017-05-08 23:22:28 · 583 阅读 · 0 评论 -
接口和抽象类有什么区别
接口和抽象类有什么区别你选择使用接口和抽象类的依据是什么?接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它.转载 2017-05-09 23:32:14 · 362 阅读 · 0 评论 -
JAVA的一次编译,到处运行,你知道多少?
一、对AVA的迷茫 以前只是一味的学习VB,.NET,c#。现在轮到学习java了。迷惑了?书上说:JAVA是一种跨平台语言,最大的优势就是它实现了,一次编译,到处运行的机制。这是什么?跟平台无关?我以前做的VB,.NET,c#程序也没有考虑过平台呀?学过编译原理的同学或许都知道“语言处理程序”,其实就是编译器。java的“一次编译,到处运行”就跟这个编译器有关。转载 2017-05-22 18:59:13 · 858 阅读 · 1 评论 -
基于jdk和cglib实现的动态代理
1:动态代理概述* 代理:本来应该自己做的事情,请了别人来做,被请的人就是代理对象。* 举例:春节回家买票让人代买* 动态代理:在程序运行过程中产生的这个对象,而程序运行过程中产生对象其实就是我们刚才反射讲解的内容, 所以,动态代理其实就是通过反射来生成一个代理2 jdk的动态代理 * 在Java中java.lang.reflect包下提供了一个Pr原创 2017-04-30 17:34:19 · 549 阅读 · 0 评论 -
Java 中父类怎么调用子类的方法?
父类能调用子类的方法吗?答:能。 怎么做?● 把子类传递到父类的有参构造中,然后调用。● 使用反射的方式调用,你使用了反射还有谁不能调用的?!● 父类调用子类的静态方法。案例展示:[java] view plain copypackage com.ywq; public转载 2017-04-05 15:01:52 · 2170 阅读 · 0 评论 -
JFrame类中的setContentPane()和getContentPane()的使用方法
我们可以在 JFrame 对象中添加 AWT 或者 Swing 组件。但是,虽然它有 add 方法,却不能直接用于添加组件,否则会抛出异常。造成这个现象的原因:JFrame 不是一个容器,它只是一个框架。那么,应该怎么添加组件呢? JFrame 有一个 Content Pane,窗口能显示的所有组件都是添加在这个 Content Pane 中。JFrame 提供了两个方法:getContentPa原创 2016-10-13 20:23:02 · 5061 阅读 · 0 评论 -
不得不提的volatile及指令重排序(happen-before)
一、不得不提的volatilevolatile是个很老的关键字,几乎伴随着JDK的诞生而诞生,我们都知道这个关键字,但又不太清楚什么时候会使用它;我们在JDK及开源框架中随处可见这个关键字,但并发专家又往往建议我们远离它。比如Thread这个很基础的类,其中很重要的线程状态字段,就是用volatile来修饰,见代码 /* Java thread status for tools,转载 2016-10-13 20:23:54 · 436 阅读 · 0 评论 -
抛出异常throw和throws
抛出异常抛出异常有三种形式,一是throw,一个throws,还有一种系统自动抛异常。下面它们之间的异同。系统自动抛异常当程序语句出现一些逻辑错误、主义错误或类型转换错误时,系统会自动抛出异常。如:?12345publicstatic void main(String[] a转载 2016-10-16 17:52:32 · 619 阅读 · 0 评论 -
JFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 和 system.exit( )区别
JFrame 的setDefaultCloseOperation(int) 方法参数类型是int型, 而且JFrame.EXIT_ON_CLOSE也是int型, 下面是相对应的整形数据能作为setDefaultCloseOperation的参数: 0 = DO_NOTHING_ON_CLOSE, 1 = HIDE_ON_CLOSE, 2 = DISPOSE_ON_CLOSE, 3 = EXIT_O原创 2016-10-01 10:43:54 · 3666 阅读 · 0 评论 -
Collection 和Collections
Collection 和Collections的区别。 1、java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。 Collection ├List │├LinkedList转载 2016-10-30 18:36:57 · 340 阅读 · 0 评论 -
遍历Map的一种高效的方式: Map.Entry 和 Map.entrySet()
你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?使用Map.Entry类,你可以得到在同一时间得到所有的信息。标准的Map访问方法如下:Set keys = map.keySet( );if(keys != null) {Iterator iterator = keys.iterator( );while(iterator.hasNext( )) {Object key原创 2017-02-19 14:59:14 · 1950 阅读 · 0 评论 -
ThreadLocal 在连接池的应用
public class ManagerThreadLocal {private static ThreadLocal tl = new ThreadLocal();//得到一个连接public static Connection getConnection(){Connection conn = tl.get();//从当前线程中取出一个连接if(conn==null原创 2017-02-19 16:38:37 · 1587 阅读 · 0 评论 -
什么叫面向接口编程以及面向接口编程的好处
在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容。面向接口编程我想就是指按照这种思想来编程吧!实际上,在日常工作中,你已经按照接口编程了,只不过如果你转载 2017-04-13 14:37:14 · 562 阅读 · 0 评论 -
java基础之Integer.parseInt(String s ,int radix)方法使用解释
方法parseInt(String s,int radix)的目的是输出一个十进制数,这个数字是“String s”但是我们要知道他是多少进制的,而方法中“int radix”参数正是来表达这个信息的。 比如:parseInt(1010,2) 意思就是:输出2进制数1010在十进制下的数. 更直白地说:parseInt(String s,int radix)就是求“int ra转载 2017-06-14 11:02:47 · 1942 阅读 · 0 评论