随笔分类 -  学习

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