![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java与面向对象
鸭脖
爱学习
展开
-
java中的栈
我们知道java中的引用变量都是存储在栈中的。现在假使我们声明一个String变量,String a;这里我们就是在创建一个String引用,那么a其实就代表的是一个地址。编译器在做的时候就是为该引用变量在栈中分配一块内存,并且将该内存清零。(偶一直想获取该块内存的地址,但是java不允许程序员管理内存所以不知道该怎么做)。当将该引用初始化的时候,如a = new String("abc");那么原创 2012-04-21 12:40:36 · 969 阅读 · 0 评论 -
在jsp中提交请求而不刷新页面的方法
今天要实现一个倒计时的功能,比如你忘记密码了,然后你需要先获取一个验证码,然后页面倒计时60秒之内你如果填进去且验证通过的话那么你就可以修改密码了,这是当下许多网站的基本方式。所以首先你提交一个form,网站会给你一个含有验证码的邮件,但是这个倒计时使用js写的,所以你提交form表单之后是不能够刷新页面的,否则倒计时功能便失去了。在网上看了看说现在如果要想实现不刷新而提交请求,只有两原创 2013-04-23 19:42:38 · 4741 阅读 · 1 评论 -
将byte[]数组转换为图像输出到页面
// byte[] imageData = (byte[]) ImageUtil.getImage(...); response.setContentType("image/png"); OutputStream output = response.getOutputStream(); InputStream in = new Byte原创 2013-05-06 13:53:19 · 12306 阅读 · 0 评论 -
jsp:useBean用法
jsp:useBean动作最简单的语法为: 这行代码的含义是:“创建一个由class属性指定的类的实例,然后把它绑定到其名字由id属性给出的变量上”。此时,jsp:useBean动作只有在不存在同样id和scope的Bean时才创建新的对象实例。我们既可以通过jsp:setProperty动作的value属性直接提供一个值,也可以在Scriptlet中利用id属性所转载 2013-06-03 00:57:53 · 895 阅读 · 0 评论 -
虚函数实现原理(转)
前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我转载 2014-10-16 15:06:29 · 728 阅读 · 0 评论 -
maven初始化项目记录
一、设置java path和java home二、解压maven,添加path,mvn -v三、安装eclipse luna四、hello world项目mvn archetype:generate -DgroupId=com.yelbosh.sort -DartifactId=sortcode -DarchetypeArtifactId=maven-arc原创 2016-07-25 10:37:42 · 3850 阅读 · 0 评论 -
synchronized 与 Lock 的那点事
最近在做一个监控系统,该系统主要包括对数据实时分析和存储两个部分,由于并发量比较高,所以不可避免的使用到了一些并发的知识。为了实现这些要求,后台使用一个队列作为缓存,对于请求只管往缓存里写数据。同时启动一个线程监听该队列,检测到数据,立即请求调度线程,对数据进行处理。 具体的使用方案就是使用同步保证数据的正常,使用线程池提高效率。 同步的实现当然是采用锁了,java中使用锁的两个基转载 2016-07-28 15:43:09 · 453 阅读 · 0 评论 -
Java:单例模式的七种写法
转载出处:http://cantellow.javaeye.com/blog/838473第一种(懒汉,线程不安全): 1 public class Singleton { 2 private static Singleton instance; 3 private Singleton (){} 4 public stati转载 2016-07-28 16:03:10 · 532 阅读 · 0 评论 -
23种设计模式(5):原型模式
定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。类型:创建类模式类图:原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件:实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clo转载 2016-07-30 14:17:59 · 541 阅读 · 0 评论 -
JAVA接口中的变量
首先你 要弄清接口的含义.接口就是提供一种统一的'协议',而接口中的属性也属于'协议'中的成员.它们是公共的,静态的,最终的常量.相当于全局常量.抽象类是不'完全'的类,相当于是接口和具体类的一个中间层.即满足接口的 抽象,也满足具体的实现. 如果接口可以定义变量,但是接口中的方法又都是抽象的,在接口中无法通过行为来修改属性。有的人会说了,没有关系,可以通过实现接口的对象的行为来修改接 口转载 2013-04-04 14:22:41 · 1603 阅读 · 0 评论 -
Java RMI之HelloWorld篇
Java RMI 指的是远程方法调用 (Remote Method Invocation)。它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法。可以用此方法调用的任何对象必须实现该远程接口。 Java RMI不是什么新技术(在Java1.1的时代都有了),但却是是非常重要的底层技术。大名鼎鼎的EJB都是建立在rmi基础之上的,现转载 2012-11-26 10:22:14 · 502 阅读 · 0 评论 -
Java程序中使用XXXX-XX-XX XX:XX:XX格式的日期
Date date = new Date();System.out.println(date.toLocaleString());以上程序是使用上述格式打印出当前的日期。以下是根据上述格式的字符串构造出一个date对象供程序使用public static Date constructDate(String time){boolean result = Pat原创 2012-11-26 14:23:36 · 19541 阅读 · 0 评论 -
Java IO简要方法总结
对控制台的读写读:BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));写:PrintWriter stdOut = new PrintWriter(System.out, true);写:PrintWriter stdErr = new PrintWriter(S原创 2012-04-22 22:20:54 · 777 阅读 · 0 评论 -
java垃圾回收器的工作机制
Bruce Eckel的《Thinking in java》前两章中多次强调了这一点:C++中的memory leak在java中是不会发生的,开发人员根本不用去考虑这个问题,这大大减少了开发的时间。这是因为java有一个垃圾回收器,用来监视用new创建的所有对象,并辨别那些不会再被引用的对象,随后,释放这些对象的内存空间,以便供其他新的对象使用。但是java的垃圾原创 2012-04-21 12:42:45 · 1205 阅读 · 0 评论 -
Java Nio通信
在用nio通讯的过程我用以下情景给你模拟: 1. 学校(ServerSocketChannel) 2。 学校教务处(Selector) 3。 老师 (ServerSocket ) 4。 学生 (SocketChannel) 5。 员工号/学生号(SelectionKey) 学校:相当于我们的网络应用程序,一旦学校启动,学校就不停止,不断运行,直到学期结束; 要启动学校就要: Se原创 2012-07-04 02:30:36 · 1231 阅读 · 0 评论 -
java使用iterator
要重新开始学习java了,希望在第二遍学习的时候能收获更多的东西。回想一下你遍历容器每一个元素的方法。我想大部分人都会说是for一个循环,如果是数组的话可以使用.length属性来遍历,在c++中数组还没有这个属性。在js和python中都是有的。那么现在我要逐步学会使用iterator了,因为这个很方便。使用iterator你可以在一个容器中查看和删除某一个元素,但是不能增加某一原创 2012-07-10 19:51:42 · 1021 阅读 · 0 评论 -
java中写构造函数的另外一种方式
今天在写构造函数的时候,突然发现一种书写构造函数的巧妙方法,那就是你在重载构造函数的时候,可能在不同的构造函数中使用相同的一段代码,所以这个时候如果遵循代码复用 的规则的话那么我们就可以在该类中定义一个方法,然后把这段代码放进去,但是这个时候要注意我们要把这个方法的权限设置为private,这样可以防止从外部访问这个方法。这确实值得注意。原创 2012-08-16 22:15:07 · 817 阅读 · 0 评论 -
Java网络编程(一)
今天主要用java写了一个传送消息和传送文件的一个程序。其实实际上还是和java的io打交道。大家要明白的是,socket也是一种文件描述符。学过unix的童鞋应该都知道,网络编程从管道,双向管道,通道,到socket通信,其实还是通过文件描述符来玩字节和字符。所以大家要把java io方面的东西弄清楚。贴程序:服务器端:import java.io.*;impor原创 2012-09-09 14:28:07 · 759 阅读 · 0 评论 -
Java关于继承中的转型及其内存分配
java 子类实例化时是否同时存在一个父类对象. 2011-10-14 19:53提问者: luoyuehao89 | 浏览次数:602次java 子类实例化时是否同时存在一个父类对象.假如父类A中有个int a = 1;子类B继承A,同时B中覆盖个int a = 2;运行:A test = new B();system.out.println(tes原创 2012-10-06 19:25:40 · 5070 阅读 · 1 评论 -
有return的情况下try catch finally的执行顺序(最有说服力的总结)
结论:1、不管有木有出现异常,finally块中代码都会执行;2、当try和catch中有return时,finally仍然会执行;3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;4、finally转载 2016-08-01 21:39:01 · 611 阅读 · 0 评论