![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 59
toBetterWu
爱编程爱运动Full of passion
展开
-
JAVA中浅复制与深复制
1.浅复制与深复制概念⑴浅复制(浅克隆)被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。 ⑵深复制(深克隆)被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。换言之,深复制原创 2013-03-29 08:21:55 · 605 阅读 · 0 评论 -
java 23中设计模式
分享下我对java的23中设计模式的理解,以及对每种设计模式所作的小demo,都在我上传的资源里面,大家可以去我的资源里下载!原创 2013-04-05 09:21:01 · 772 阅读 · 0 评论 -
java实现二叉树查找,先,中,后序编列
请看代码!package com.rihui.eightSort;/** * * @author 吴日辉 * */public class MyBinaryTree {public int data;public MyBinaryTree left;public MyBinaryTree right;public MyBinaryTree(int原创 2013-04-05 09:08:24 · 759 阅读 · 0 评论 -
java中类初始化时机
很多人会迷惑,Java中类什么时候初始化:1.创建类的实例。当然这就包括三种方式:(1):通过new来创建(2):通过反射来创建(3):通过反序列化来创建2.调用该类的静态方法3.调用该类的静态属性,这里需要注意,如果该静态属性是一个final类型,并且在编译阶段就能确定下来,那么该类也将不会初始化,后面将会给出例子4.初始化该类的子类5.运行该类,也就是说该类中有原创 2013-03-31 15:28:51 · 977 阅读 · 0 评论 -
java ThreadLocal的使用
概述我们知道Spring通过各种DAO模板类降低了开发者使用各种数据持久技术的难度。这些模板类都是线程安全的,也就是说,多个DAO可以复用同一个模板实例而不会发生冲突。我们使用模板类访问底层数据,根据持久化技术的不同,模板类需要绑定数据连接或会话的资源。但这些资源本身是非线程安全的,也就是说它们不能在同一时刻被多个线程共享。虽然模板类通过资源池获取数据连接或会话,但资源池本转载 2013-04-01 15:11:39 · 647 阅读 · 0 评论 -
java中IO流的总结和分类
字节流,字符流输入流,输出流节点流,处理流(具有多个管道)四个抽象基类:代表字节流:InputStream,OutputStream,代表字符流:Reader,Writer读取文件流FileInputStream/FileOutputStreamFileReader/FileWriter缓冲流BufferedInputStream/Buffere原创 2013-04-01 10:10:15 · 802 阅读 · 0 评论 -
java使用scanner接受用户输入遇到空格问题的解决
看下面一个例子:package com.io.crazyjava;import java.util.Scanner;public class Test {/*** 吴日辉*/public static void main(String[] args) throws Exception{Scanner sca =new Scanner(System.in);Sys原创 2013-04-01 10:03:16 · 23313 阅读 · 3 评论 -
java中创建自定义类加载器
java中类的加载器分为三类:Booststrap ClassLoader:此加载器采用C++编写,一般开发中是看不到的; Extendsion ClassLoader:用来进行扩展类的加载,一般对应的是jre\lib\ext目录中的类; AppClassLoader:(默认)加载classpath指定的类,是最常使用的是一种加载器。 自定义一个类加载器MyLoader原创 2013-03-31 15:19:36 · 843 阅读 · 0 评论 -
java里抽象类和接口的区别
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很原创 2013-03-29 08:25:50 · 451 阅读 · 0 评论 -
嵌套类和内部类的区别
Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化原创 2013-03-29 08:28:40 · 578 阅读 · 0 评论 -
Android系统设计中存在设计模式分析
1、 开闭(OCP)简介:要扩展,不要修改。比如我对外提供了一个接口。现在想更新的话,不要直接修改这个接口,而是提供另外一个接口,然后通知大家在什么时间之前切换到这个新接口。举例:这个设计模式无处不在,Android每次升级都会提供一些新的API,有一些较老的API就会置为deprecated。如从level 1就支持的Service.onStart,在level 5中,已经被S原创 2013-03-29 08:50:31 · 749 阅读 · 0 评论 -
c++与java中关于访问修饰符的区别
c++中访问修饰符有:public protected privatejava中有:public protected default privatec++中:当类中成员变量有protected修饰时,该类的对象是不能直接访问该成员变量的,只有在该类和子类中访问,这与java不同!举例如下:public class Test {protected void原创 2013-03-29 08:48:36 · 988 阅读 · 0 评论 -
jni的使用
class HelloWorld{ public native void displayHelloWorld();//所有native关键词修饰的都是对本地的声明 public native int add(int a,int b); public native void printString(String str); public nativ原创 2013-03-29 08:30:45 · 615 阅读 · 0 评论 -
一个死锁的简单例子
package com.rihui.thread;public class TestDeadLock1 {public static void main(String[] args) {//定义两把钥匙final Object O1=new Object();final Object O2=new Object();new Thread(new Runnable()原创 2013-03-29 08:32:14 · 881 阅读 · 0 评论 -
线程
0.Java 中多线程同步是什么?在多线程程序下,同步能控制对共享资源的访问。如果没有同步,当一个 Java 线程在修改一个共享变量时,另外一个线程正在使用或者更新同一个变量,这样容易导致程序出现错误的结果。1.解释实现多线程的几种方法?一 Java 线程可以实现 Runnable 接口或者继承 Thread 类来实现,当你打算多重继承时,优先选择实现 Runnable。原创 2013-03-29 08:29:52 · 495 阅读 · 0 评论 -
java基础面试题
JAVA相关基础知识1、面向对象的特征有哪些方面1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述原创 2013-03-29 08:29:07 · 962 阅读 · 0 评论 -
张孝祥整理java面试题
从享受生活的角度上来说:“程序员并不是一种最好的职业,我认为两种人可以做程序员,第一,你不做程序员,你就没有什么工作可做,或者说是即使有可以做的工作但是你非常不愿意去做;第二,你非常痴迷和爱好程序,并且在这方面有一些天赋和优势。程序员的结局也是有两种:第一,默默退休,第二以程序员为起点或跳板,注意积累,跟对了好的老板或团队,找到和很好的搭档自己创业,成为IT金领和富翁。”人们在时间面前是平转载 2013-03-29 08:27:39 · 4506 阅读 · 1 评论 -
java中path与classpath的区别
path:说白了就让你可以在命令窗口直接调用该应用程序的.exe,例如你有一个可执行文件text.exe放在c:\temp下,如果你要让该应用程序跑起来可以有两种方式:第一种:手动,也就是到该文件夹下,找到text.exe,然后双击,ok,启动了!第二种:通过命令行,你可以直接在命令行输入:c:\temp\test.exe,ok,启动了!但你可能会想,我要是在命令行直接输入原创 2013-04-11 16:39:02 · 630 阅读 · 0 评论