随笔分类 - 学习
摘要:#join方法跟踪java.lang.Thread.join() 进入线程的join方法,实际上线程thread是实现的 runnable接口 class Thread implements Runnable当jion方法没有传参的时候底层还是调的里面的join(long)这个方法,默认值为0 jo
阅读全文
摘要:xml: 增加了xml文件,修改麻烦,条件不确定(ifelse判断),容易出错,特殊转义字符比如大于小于 注释: 复杂sql不好用,搜集sql不方便,管理不方便,修改需重新编译 #和$区别: 相同 都是对参数进行标记的符号 #是预编译,防止sql注入 $ 相当于一个占位符,不能防止sql注入 小知识
阅读全文
摘要:为了数据的安全性,mysql有一个安全性设置,sql_safe_updates ,当把这个值设置成1的时候,当程序要对数据进行修改删除操作的时候条件必须要走索引。 刚好现在也碰到了此类问题:网上找了相关文章查看,了解到了有些时候虽然设置了索引列,但是在有些情况下他是不走索引的 1,字段类型不匹配 比
阅读全文
摘要:1、com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect 或者com.netflix.discovery.shared.transport.Tr
阅读全文
摘要:HashMap 不是线程安全的 HashTable,concurrentHashMap 是线程安全 HashTable 底层是所有方法都加有锁(synchronized) 所以操作起来效率会低 concurrentHashMap 底层是分断锁(根据自定的hashcode算法生成的对象来获取对应has
阅读全文
摘要:vector和arrayList一样底层实现原理也是数组 区别: vector是同步的也就是线程安全的[因为vector里面的某些方法用了synchronized 关键字修饰,比如removeAll(),addAll(),equals(),Iterator()等方法被修饰] 部分源码 /** * I
阅读全文
摘要:LinkedList底层源码是采用双向链表实现的 何为双向列表,单向链表为通过后继可以找到下一个指向的元素;双向链表为既可以通过后继找到下一个指向的元素,也可以通过前驱找到前一个元素。基于链表实现的方式使得LinkedList在插入和删除时更优于ArrayList,而随机访问则比ArrayList逊
阅读全文
摘要:ArrayList 底层是有数组实现,实际上存放的是对象的引用,而不是对象本身。当使用不带参的构造方法生成ArrayList对象时,实际会在底层生成一个长度为10的数组 当添加元素超过10的时候,会进行扩容 基本上是原来的1.5倍 oldlenth+(oldlenth>>1) 1.5oldlengt
阅读全文
摘要:什么是java类加载? 类加载是指将.class类中的二进制数据存放到内存中,会在内存中的推中建立一个java.lang.String的引用对象来存放方法区的数据结构,而类中的数据会放到方法区中 类加载器不需要等到某个类要用的时候在加载他,jvm允许预先加载,如果在加载的过程中有错误,类加载会抛出异
阅读全文
浙公网安备 33010602011771号