新增点
JAVA地摊
google,stackoverflow,github
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java内置序列化的三种方式
Java序列化就是把Java对象按照一定的格式存到文件或者磁盘当中,那么Java内置的序列化有几种方式呢?每种方式的相同点和不同点是什么呢?序列化的进阶:即三种方式,任何一种方式都可以进行序列化和反序列化第一种使用默认的序列化机制,即实现Serializable接口即可,不需要实现任何方法。该接口没有任何方法,只是一个标记而已,告诉Java虚拟机该类可以被序列化了。然后利用O...转载 2019-01-17 10:33:52 · 2617 阅读 · 0 评论 -
同步/伪异步/异步,阻塞/非阻塞,JAVA NIO 之我见.
一,同步/伪异步/异步(任务线程---服务端任务的执行) 同步和异步的体现主体是---任务执行线程. 如任务A,B, 1,同步---B任务的执行需要A任务执行后才进行. 2,伪异步--- B,A两个任务同时执行,但执行完成后,需要执行者主动轮询,或者使用多路复用模型专门指定一个线程来对执行结果进行跟进. 3,异步---B,A两个任务同时执行.且执行完后,会主动...原创 2019-01-25 17:09:50 · 543 阅读 · 0 评论 -
CountDownLatch ,CyclicBarrier,Semaphore
一, countDownLatch常用方法.await(); countDown();定义倒数的总数5, 即倒是5次后.await()的线程继续执行CountDownLatch cdl =new CountDownLatch(5)cdl.countDown(); 每调用一次倒数1个数cdl.await();等待倒数完后执行.二,CyclicBarrier常用方法 ...原创 2019-01-15 16:37:16 · 160 阅读 · 0 评论 -
LinkedList遍历性能的思考
1,链表结构遍历获取值,应使用迭代器.或者(foreache)遍历. ----因为Collection 接口实现了Iterable,JVM编译时会编译成用迭代器来遍历. 而数组没有相关的实现.foreach遍历编译后还是使用for遍历.2,LinkedList 的get(index) 的源码是通过遍历获取的.如果通过普通的for遍历,然后再通过get(index)来获取对象,相当于每获取一个...原创 2019-01-21 12:10:17 · 781 阅读 · 0 评论 -
hash冲突解决思维导图
各种解决方法的优缺点:来源:https://www.cnblogs.com/wuchaodzxx/p/7396599.html#H1_1优缺点开放散列(open hashing)/ 拉链法(针对桶链结构)1)优点: ①对于记录总数频繁可变的情况,处理的比较好(也就是避免了动态调整的开销) ②由于记录存储在结点中,而结点是动态分配,不会造成内存的浪费,所以尤其适合那种记录本...原创 2019-01-21 18:50:56 · 364 阅读 · 0 评论 -
pagehelper 联表 分页查询性能优化 -- (sql允许先分页,后联表)
优化的前提条件,分页的sql允许先分页,联表并不影响最后的结果集,只是补齐所需字段信息.一,pagehelper改造思路 1,5.0.0以上版本支持手动count查询语句.详见 https://github.com/pagehelper/Mybatis-PageHelper/ 2,自定义拦截器,对有别名为"AS limitable" 的子查询sql进行sql拼接,将 本应拼...原创 2019-01-29 11:54:12 · 7765 阅读 · 1 评论 -
mybatis逆向工程字段与数据库保持一至_附generatorSqlmapCustom 配置详解
逆向工程生成的字段名字保持跟数据库一至. <table>下需添加配置<property name="useActualColumnNames" value="true"/> 例如: <table tableName="t_mumu" enableSelectByExample="false" enab原创 2018-07-06 11:09:22 · 2830 阅读 · 0 评论 -
偶尔发生java.lang.IllegalStateException: File has been moved - cannot be read again
WxSendMsgResult res = new WxSendMsgResult(); res.setSmsId(smsId); res.setDescription("正在推送"); int i = weixinMesssageService.insertWxSendMsgResult(res); if (i == 1) { logger.info("开始线程异步推送消...原创 2018-08-21 10:47:48 · 907 阅读 · 0 评论 -
servlet,springMVC 初始化 源码总结.
//注解的方式javax.servlet.ServletContainerInitializer // servlet提供的初始化接口-->org.springframework.web.SpringServletContainerInitializer //spring实现servlet初始化接口的类----@handlesTypes //servlet提供的注解, tomcat...原创 2019-09-18 10:00:05 · 160 阅读 · 0 评论
分享