![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaSE
onezg
技术改变命运
展开
-
细说java反射
1. 先说第一句话,这个话非常非常重要!在java里,无论生成某个类的多少对象,这些对象都会对应于同一个Class对象。2. 再说第二句话,java反射有什么用?这么说吧,其实java类的成员变量、方法是不是private没有关系,运用反射就完全可以玩转类的私有变量和私有方法。正是因为反射的这两部分使用才有了hibernate、spring等那些框架,换言之,没有反射就没有框架原创 2016-10-22 12:06:43 · 3158 阅读 · 0 评论 -
喝着JAVA看算法_01_排序算法之(1)冒泡排序
冒泡排序,可以说是最经典的排序算法了,博主毕业那年去各大公司面试,被要求写过多次冒泡排序,现在想想感慨良多~~1. 思想在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒,像冒泡一样。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。2. 图示3. 代码public static void main(St原创 2016-11-09 15:53:12 · 281 阅读 · 0 评论 -
细说JAVA中Collection接口和Map接口的主要实现类
特此声明:这是博主很久很久以前保存在本地的文章,当时没有记录出处,因为找不到出处了,现注明是转载!!!!Collection接口Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接继承自Collection的转载 2017-02-16 20:32:32 · 466 阅读 · 0 评论 -
Process执行dos命令
很多时候是需要在java里运行dos命令的,比如sonar测试,博主做云测试系统时遇到过,现整理出来~~~import java.io.BufferedReader;import java.io.InputStreamReader;public class ProcessUtil { public static void main(String[] args) throws E原创 2017-02-16 16:55:34 · 622 阅读 · 0 评论 -
java.lang.System.getProperty("xxx")获取值
KeyDescription of Associated Value中文描述java.versionJava Runtime Environment versionJava 运行时环境版本java.vendorJava Runtime Environment vendorJava 运行时环境供应商jav原创 2017-02-06 19:23:54 · 1271 阅读 · 0 评论 -
java高级之java的左移运算符和右移运算符
用移位操作可以极大地提高性能,因为在计算机底层,对位的操作是最方便、最快的。移位操作虽然快,但是可能会使代码不太好理解,因此最好加上相应的注释。原创 2016-11-09 23:07:09 · 26167 阅读 · 11 评论 -
细说==和equals的区别
从内存角度说:除去String,==是比较两个对象的地址,也就是栈中的内容是否相同;equals则是比较两个对象堆中的内容是否相同。 从实用角度说: ==对于基本数据类型来说,比较的是左右两边值否相等。 ==对于引用类型来说,比较左右两边的引用是否指向同一个对象。 从内存角度理解难一些,从实用角度理解很容易。8种基本数据类型的数据是存储在栈中,栈里的数据是共享的。 引用类型数据,引用是存原创 2016-11-08 23:05:56 · 346 阅读 · 0 评论 -
Java各种数据类型数据在堆栈上怎么存储
1. 先说说堆栈优缺点栈Stack 优点:1. 读取速度快(比堆快) 2. 数据可以共享 缺点:存在于栈中的数据大小及周期必须是确定的,缺乏灵活性。堆Heap 优点: 1. 堆得优点就是可以动态分配内存大小 2. 生存期也不必告诉编译器,因为它是在运行中动态分配内存的 缺点:由于是在运行时动态分配内存的,所以读取速度较慢。2. 正题 Java的内存分两种:栈内存和堆内存 栈内存:在原创 2016-11-08 12:47:02 · 1261 阅读 · 0 评论 -
细说java对象的浅复制和深复制
浅复制和深复制的区别浅复制:仅复制它自己这个对象,不复制它所引用的对象。深复制:复制要复制的对象和它所引用的对象。 实现浅复制和深复制,主要是使用cloneable接口的clone方法,还是比较简单的,不多说了,直接上代码。浅复制(shallow clone)public class Husband implements Cloneable { private int原创 2016-10-22 13:53:23 · 3051 阅读 · 2 评论 -
java对象的序列化和反序列化
1. 什么是序列化 将对象转换为字节流保存起来,比如保存到文件里,并在以后还原这个对象,这种机制叫做对象序列化。(补充一句:把对象保存到永久存储设备上称为持久化)2. 怎么实现序列化 需要实现Serializable接口,java对象实现了这个接口就表明这个这个类的对象是可序列化的。3. 序列化的注意事项(1) 当一个对象序列化时,只能保存对象的非静原创 2016-11-03 20:18:02 · 1832 阅读 · 0 评论 -
JAVA设计模式是个什么玩意儿_05_原型模式
1. 定义用原型实例对象指定创建对象的种类,并通过拷贝这些原型创建新的对象。—— 摘自《研磨设计模式》陈臣、王斌 原型模式,英文名Prototype,在java里原型模式是比较简单的,java里的浅复制和深复制都是原型模式的应用,浅复制和深复制也叫浅克隆和深克隆。2. java里的复制方法Java的所有类都是从java.lang.Object类继承而来的,而Object类提供pr原创 2016-11-09 08:57:17 · 340 阅读 · 0 评论