![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习日志
泡在酒瓶里的星星
愿效滴水洞石穿
展开
-
出栈栈空时的if-else必须有返回值的解决办法
今天在写栈的操作的时候,在出栈方法哪里有一个问题。就是当栈空时的处理,因为栈空你没有数据可以返回,但是此方法的是有返回值的所以if里即使判断栈空也需要返回数据。 1、程序简单要求不高的时候用System.exit(1);就可以来解决此问题。public int pop() { if (isEmpty()) { System.out.println("栈为空"原创 2017-02-22 23:05:24 · 1359 阅读 · 0 评论 -
java中当给一个对象赋值为null时发生了什么
比如下面的代码String[] arr = new String[10];arr=null;将arr这个引用置空,不指向任何对象。 上面new的那个数组对象,则没有任何引用指向它,垃圾回收器可以回收此对象。java中对象引用放在栈中,对象的实例放于堆中,一个对象要是只声明不赋值,则只会在内存的栈区创建引用,堆中并无此引用的指向。 而null对象在堆中会被java的垃圾回收机制回收。关于n转载 2017-02-23 17:35:46 · 14492 阅读 · 1 评论 -
final 的使用情况
final 可提高程序响应效率,声明成 final 的情况: 1) 不需要重新赋值的变量,包括类属性、局部变量。 2) 对象参数前加 final,表示不允许修改引用的指向。 3) 类方法确定不允许被重写原创 2017-02-27 08:20:42 · 379 阅读 · 1 评论 -
java序列化(串行化)其实是一样的
其实Java序列化和Java串行化都是一样的,都对应英文中的Serializable。可能是翻译的时候不统一,我一开始的时候以为是两个不同的概念呢。 一、什么是序列化? 一个对象随着创建而存在,随着程序结束而结束。那如果我要保存一个对象的状态呢?Java序列化能够将对象的状态写入byte流存储起来,也从其他地方将byte流读取出来,重新构造一个新的对象。这种机制允许你将对象通过网络进行传播,并且转载 2017-02-27 11:04:44 · 1605 阅读 · 0 评论 -
JAVA深复制(深克隆)与浅复制(浅克隆)
来自 http://www.cnblogs.com/yxnchinahlj/archive/2010/09/20/1831615.html 1.浅复制与深复制概念 ⑴浅复制(浅克隆) 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。⑵深复制(深克隆) 被复制对象的所有变量都含有与原来的对转载 2017-02-27 11:38:54 · 243 阅读 · 0 评论 -
常量的五层复用层次
来自阿里编码规范【推荐】常量的复用层次有五层:跨应用共享常量、应用内共享常量、子工程内共享常量、包内共享常量、类内共享常量。 存放位置如下1) 跨应用共享常量:放置在二方库中,通常是 client.jar 中的 const 目录下。 2) 应用内共享常量:放置在一方库的 modules 中的 const 目录下。 反例:易懂变量也要统一定义成应用内共享常量,两位攻城师在两个类中分别定义原创 2017-02-27 16:24:06 · 2197 阅读 · 0 评论 -
挡板法的运用
我们看这道题60个糖果本身并无不同。问有几种分法的就是问每一个小朋友到手的糖果的个数有几种。我们先给每个小朋友每人9个糖果, 剩下15个随意分给5个小朋友每人至少一个,这样就把问题简化了。分完后每个小朋友都至少10个。15个糖果随意分给5个小朋友,这就用挡板法来解决,15个糖果拍成一堆,中间有14个空 ,用4个挡板插入空隙中可以将其分成5堆。(有几种分法就是怎莫插这4个板子) **4原创 2017-03-12 16:16:52 · 2052 阅读 · 0 评论