java
文章平均质量分 80
live_for_you
22222222
展开
-
java面试题及答案(基础题122道,代码题19道)
JAVA相关基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类转载 2013-04-23 15:46:47 · 668 阅读 · 0 评论 -
CGlib简单介绍
http://www.blogjava.net/stone2083/archive/2008/03/16/186615.html JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类转载 2013-05-14 10:08:32 · 823 阅读 · 0 评论 -
由String s=new String ("abc");引发的联想(类对象引用)
出处:http://blog.csdn.net/sundenskyqq/article/details/7023991 堆里面存储的是new()创建的变量 基本类型应该存在栈中 变量和引用一起都在栈中 String s1 = "hello"; 左栈右堆 1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地转载 2013-04-18 09:27:52 · 846 阅读 · 0 评论 -
Java内存管理
=======================背景知识=============================== 作为Internet最流行的编程语言之一,Java现正非常流行。我们的网络应用程序就主要采用Java语言开发,大体上分为客户端、服务器和数据库三个层次。在进入测试过程中,我们发现有一个程序模块系统内存和CPU资源消耗急剧增加,持续增长到出现java.lang.OutOfM转载 2013-05-24 10:46:23 · 737 阅读 · 0 评论 -
深入研究java.lang.ThreadLocal类
深入研究java.lang.ThreadLocal类 一、概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一转载 2013-06-05 15:20:27 · 693 阅读 · 0 评论 -
String,StringBuffer与StringBuilder的区别
String: 是对象不是原始类型. 为不可变对象,一旦被创建,就不能修改它的值. 对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去. String 是final类,即不能被继承. StringBuffer: 是一个可变对象,当对他进行修改的时候不会像String那样重新建立对象 它只能通过构造函数来建立, StringBuffer sb =转载 2013-06-05 15:41:57 · 490 阅读 · 0 评论 -
java的锁机制
一段synchronized的代码被一个线程执行之前,他要先拿到执行这段代码的权限,在java里边就是拿到某个同步对象的锁(一个对象只有一把锁); 如果这个时候同步对象的锁被其他线程拿走了,他(这个线程)就只能等了(线程阻塞在锁池等待队列中)。 取到锁后,他就开始执行同步代码(被synchronized修饰的代码);线程执行完同步代码后马上就把锁还给同步对象,其他在锁池中等待的某个线程就可以拿到锁转载 2013-06-06 14:22:35 · 696 阅读 · 0 评论 -
java中的多线程
http://www.cnblogs.com/rollenholt/archive/2011/08/28/2156357.html 在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口。 对于直接继承Thread的类来说,代码大致框架是: ? 1 2 3 4 5 6 7 8 9 10转载 2013-07-31 14:02:52 · 543 阅读 · 0 评论 -
java多线程
java多线程 在java中其实即使我们没有定义多线程,java仍然不是一个单线程,例如,一个简单的java程序,仅仅是打印输出一条语句,它的主线程是从main方法开始执行,一直执行完main中的所有语句,完成main()方法后消亡,也许你会说,这就是一个单线程,但是,在jvm中还有一个不为人所知的线程在运行,在初学java时,可能就有人告诉你java会自动进行垃圾搜集,那么垃圾搜集是如何进行的转载 2013-08-20 16:22:38 · 825 阅读 · 2 评论 -
JAVA运行【本地程序】
直接用 Runtime.getRuntime().exec (programpath); 如果要运行cmd.exe,则用下面的方法 Runtime.getRuntime().exec ("cmd.exe /k start "+programpath); cmd /c dir 是执行完dir命令后关闭命令窗口。 cmd /k dir 是执行完dir命转载 2013-04-18 09:28:15 · 909 阅读 · 0 评论 -
Java 多态部分 向上转型 向下转型
刚刚开通博客,想写的内容太多了!正好最近正在学习 java 多态 ,就把我的一些学习心得记录下来吧! 欢迎大家帮助纠正错误! 我记得我刚学的时候,老师讲的我似懂非懂,于是我就上网上查,我查到了一个是这么说的, 向上转型就是儿子当爹用,向下转型就是爹当儿子用,我当时觉得有道理,但是后来我发现,儿子是儿子,爹是爹,上面说的完全都不对!于是我就开始琢磨,能不能联系实际点,这样也好帮我转载 2013-08-31 16:08:51 · 684 阅读 · 0 评论 -
java异常捕捉陷阱(内存泄漏,finally块,catch块,继承得到的异常)
1. 异常捕捉的陷阱 异常处理机制是java语言的特色之一,尤其是java语言的Checked异常,更是体现了java语言的严谨性:没有完善错误处理的代码根本不会被执行。对于Checked异常,java程序要么声明抛出,要么使用try……catch进行捕获。1.1 正确关闭资源的方式 在实际开发中,经常需要在程序中打开一些物理资源,如数据库连接,网络连接,磁盘文件等,打开这些物转载 2013-09-25 16:37:16 · 692 阅读 · 0 评论 -
java动态代理学习笔记
http://langyu.iteye.com/blog/410071 没事的时候翻看lang.reflect包下的代码,发现有两部分内容:涉及反射和动态代理。 很多地方都可以看到动态代理的影子,只是一直没仔细看下。 在学习之前,先提出几个问题,带着问题来看代码: 1.什么是动态代理? 2.为什么使用动态代理? 3.使用它有哪些好处? 4.哪些地方需要转载 2013-05-14 16:14:10 · 493 阅读 · 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函数,这个转载 2013-05-13 21:01:15 · 682 阅读 · 0 评论 -
Java 容器类
1. 接口 整个 Java 容器类的基础是容器接口(例如 Collection , Map 等接口),而不是类。使用接口的最大好处在于将容器的实现与容器的接口分开,这就意味着你可以使用相同的方法访问容器而不用关心容器是由什么样的数据结构实现的。同样, Iterator 接口也使得用户可以使用相同的方法访问不同的容器类。以上这些是通用算法的基础。 1.1 Collection 接口转载 2013-04-17 19:36:00 · 771 阅读 · 0 评论 -
java中的向上转型有什么妙用?
假如你在一个物流运输公司,有个客户要求你为他运输一定数量的产品到某地,使用某种交通工具. 那我们假设你的管理程序中有Truck类,Train类,Plane类专门用来实现 使用不同交通工具的成本计算,都有方法cost(Double weight,Double space); 那么,问题出来了.客户对于运输器种类是可选择的, 你是不是要对每种运输器new个实例放到不同的serv转载 2013-04-18 09:24:44 · 824 阅读 · 0 评论 -
JAVA final
final定义的变量可以看做一个常量,不能被改变; final定义的方法不能被覆盖; final定义的类不能被继承。 final static 就是再加上static的特性就可以了 final: final可修饰类、域(变量和常量)、方法 (而static不修饰类) 1、final修饰类,表示该类不可被继承。 如定义了一个fin转载 2013-04-18 09:25:15 · 449 阅读 · 0 评论 -
java中static变量和方法的总结
java中static变量和方法的总结 static 和final是没有直接关系的 static 是在内存中分配一块区域,供整个类通用,所有的类的对象都享有它的共同的值 java中一切皆是对象 一个类中对象的定义一般都是分一下的两步来进行的: 1/ A a; //定义了一个类转载 2013-04-18 09:26:16 · 534 阅读 · 0 评论 -
BufferedImage操作图片笔记
BufferedImage是Image的一个子类,BufferedImage生成的图片在内存里有一个图像缓冲区,利用这个缓冲区我们可以很方便的操作这个图片,通常用来做图片修改操作如大小变换、图片变灰、设置图片透明或不透明等。 [java] view plaincopy BufferedImage bufferedImage = ImageIO.read(new Fil转载 2013-04-18 09:26:46 · 711 阅读 · 0 评论 -
抽象类
抽象类是指不允许被实例化的类;抽象方法是没有方法体的方法。 1、抽象类可以不包括抽象方法,它反正不会去实例化,里面的方法是不是抽象的没有本质影响。 2、但是含有抽象方法的类绝不能被实例化,否则执行这个方法的时候,怎么办? 3、如果子类是非抽象的,那么它就必须实现父类中的抽象方法;否则,它继承来的抽象方法仍然没有方法体,也是个抽象方法,此时就与“含有抽象方法的类必须是抽象转载 2013-04-18 09:42:54 · 464 阅读 · 0 评论 -
JAVA反射机制
JAVA反射机制:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言。但是JAVA有着一个非常突出的动态相关机制:Reflection,用在Java身上指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程序可以加载一个运行时才得知名称的class,获悉转载 2013-04-18 11:12:49 · 509 阅读 · 0 评论 -
面向对象 特点
使用面向对象思想进行开发有以下优点: 1、易维护 采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。 2、质量高 在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。 3、效率高 在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生转载 2013-04-19 13:55:47 · 726 阅读 · 0 评论 -
Java垃圾回收机制
转自http://blog.csdn.net/zsuguangh/article/details/6429592 综合了若干人的blog~ 1. 垃圾回收的意义 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会自动释放该内存块。垃圾转载 2013-04-19 20:46:36 · 562 阅读 · 0 评论 -
什么是java序列化,如何实现java序列化?
Java 串行化技术可以使你将一个对象的状态写入一个Byte 流里,并且可以从其它地方把该Byte 流里的数据读出来,重新构造一个相同的对象。这种机制允许你将对象通过网络进行传播,并可以随时把对象持久化到数据库、文件等系统里。Java的串行化机制是RMI(Remote Method Invocation远程方法调用)、EJB等技术的技术基础。用途:利用对象的串行化实现保存应用程序的当前工作状态转载 2013-04-18 10:11:56 · 495 阅读 · 0 评论 -
JAVA的文件操作【转】
11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择。因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本能力。本章IO类的使用就从读写文件开始。 11.3.1 文件操作 文件(File)是 最常见的数据源之一,在程序中经常需要将数据存储到文转载 2013-05-24 16:08:59 · 1020 阅读 · 0 评论 -
关于jstl EL用法的注意点(java.lang.NumberFormatException: For input string: "userName")
今天使用stl 结合El做jsp页面展现,出现了个问题,怎么调也调不好,最后将jstl的源码拿来跟踪调了一下才明白其中的道理。 在使用jstl tag 的时候,一般可以用来在页面上展现集合的数据,但是有一点必须要注意的,就是var 和items的含义的问题。 查看api文档,上面只是简单的说明了一下,其实在实现该标签的时候,内部是通过items里面指定的这个集合对象转载 2015-04-22 09:42:20 · 820 阅读 · 0 评论