Java
向阳519
记录平时的点点滴滴
展开
-
Map<String,Object> ,List 顺序排列
1.List 顺序排列List list = new ArrayList;list.add("a");list.add("c");list.add("b");list.add("e");//通过Collections.sort(List I,Comparator c)方法进行排序Collections.sort(list, new Comparator() { @Ove原创 2017-02-16 17:08:17 · 974 阅读 · 0 评论 -
简单理解时间复杂度怎么计算?
定义:时间复杂度是执行该算法所需要的时间。时间复杂度一般用O来表示。时间复杂度越小,算法越快。比如:a++,a=a+1.时间复杂度为1for(int i = 0;ifor(int j =0;j....}}时间复杂度为n*m。冒泡排序时间复杂度为:O(n^2)快排时间复杂度为:O(log(n))原创 2017-02-27 11:24:07 · 942 阅读 · 0 评论 -
jvm 加载机制
JVM加载顺序:加载-连接(验证、准备、解析)-初始化-使用-卸载加载:加载所有的class文件 验证:验证class文件,类是否符合java虚拟机的要求 准备:为静态变量分配内存 解析:将类中符号引用解析直接引用原创 2017-02-15 18:16:13 · 209 阅读 · 0 评论 -
spring 管理事务
1.注解方式。在类似save方法中用注解@transactional2.AOP切入方式:在配置文件中,类似get,find方法一般是不需要事务的一般都称之为声明式事务原创 2017-02-15 17:45:41 · 156 阅读 · 0 评论 -
equals
1.如果2个对象相等,则hashCode一定相等2.如果hashCode相等,对象不一定相等原创 2017-02-15 17:03:39 · 155 阅读 · 0 评论 -
java数据类型分类
1.java数据类型分为引用类型和基本数据类型基本数据类型分为:整型:byte、short、int、long 字符型:char 布尔型:boolean 浮点型:double、float 引用用类型分为:接口、数组、类长度 -128原创 2017-02-15 16:16:52 · 219 阅读 · 0 评论 -
jdk、jre
1.jdk java development kit java 运行工具2.jre java runtime environment java 运行环境原创 2017-02-15 15:35:25 · 177 阅读 · 0 评论 -
面向对象与面向过程的区别?
1.面向过程是关注的处理事情的步骤,把这些步骤都写成一个个的函数,最后再一步步的调用这些函数就可以了。2.面向对象是把复杂的事物分成各个对象,描述对象的不是为了解决某个步骤,而是考虑整个事物处理的步骤。 例如:用木匠打比方就是。面向对象就是关心整个家居怎么做,最后关心需要什么工具。面向过程就是先关心需要什么工具。原创 2017-02-15 15:03:10 · 314 阅读 · 0 评论 -
如何跳出多重循环?
1.标识符ok:for (int i = 0;i10;i++){ for(int j = 0;j10;j++){ for(int k = 0;k10;k++){ if ( k == 1){ System.out.println(k); break ok;原创 2017-02-15 11:10:40 · 326 阅读 · 0 评论 -
String、StringBuffer、StringBuiler区别
1.String与StringBuiler的相同点都是线程不安全的。StringBuffer是线程安全的。2.String长度不可变,StringBuiler长度可变。当String 使用(+)连接符的时候,每次都会使用创建新的对象,再去复制。当StringBuilder的长度不超过char(16)时,不会创建新的对象。3.大数据量且单线程时:使用StringBuiler会比String更原创 2017-02-15 09:11:28 · 879 阅读 · 0 评论 -
java synchorized lock CAS 区别
1.相同点:synchorized lock CAS 都是为了实现线程同步以及线程安全。2.区别:synchorized: 让代码块或则方法中的代码只能被一个线程执行.简单的理解就好像一道门,每次只允许一个人进去 当做完事情后 此人出去后 才让其他的人进来,其他人中也包括原来的那个人. 本质是:悲观锁。lock:提供了比synchronized更多的方法,但是保留了synchr原创 2017-02-23 09:07:00 · 1257 阅读 · 0 评论 -
值传递和引用传递区别
1.值传递是指一个参数传递给一个函数时,函数接收的是原始值得副本。2.引用传递是一个参数传递给一个函数时,函数接收的是原始值的地址。3.java应用程序中,有且仅有一种传递,即值传递。4.对象是按引用传递的。public class Test { String str = new String("good"); char[] ch = { 'a', 'b', '原创 2017-02-20 09:17:27 · 848 阅读 · 0 评论 -
StringUtils的 isBlank与isEmpty区别?
1.isblank与isEmpty都是判断String!= null && !"".equals(String)是否相等2.isBlank 与isEmpty区别:System.out.println(StringUtils.isNotBlank(""));System.out.println(StringUtils.isNotBlank(" "));System.out.print原创 2017-02-28 17:56:39 · 364 阅读 · 0 评论 -
try catch finally 理解
1.finally 的使用,不一定要catch语句2.finally 一定会执行。3.try catch finally 返回int类型 时,如果try catch finally 都没有return,则需要在外部返回一个return4.try catch finally 返回int类型 时,如果try catch 没有return,finally中有return,则外部不需要返回一个原创 2017-02-17 09:08:02 · 282 阅读 · 0 评论 -
深拷贝与浅拷贝区别
1.浅拷贝:原理:实现类的复制,并且复制类的指向原类同一内存地址。2.深拷贝:原理:一个类复制另外一个类的情况,复制的数据重新生成一个新的类。并且复制类与类地址不相同 方法:类实现Cloneable接口,重写clone方法,返回Objectpublic class Spoon implements Cloneable { public voi原创 2017-03-10 09:33:38 · 242 阅读 · 0 评论