摘要: 运行时类型信息使得你可以在程序运行时发现和使用类型信息。Java是如何让我们在运行时识别对象和类的信息得呢? 主要有两种方式:1.传统RTTI,他假定我们在编译期间已经知道了所有类型;2.反射,它允许我们在运行时发现和使用类的信息。 一、为什么需要RTTI 我们来看一个例子: 这是一个典型的类层次结 阅读全文
posted @ 2019-11-07 19:17 皮肤黝黑的小白 阅读(378) 评论(0) 推荐(0)
摘要: pom文件的作用:pom.xml文件描述了maven项目的基本信息,比如groupId,artifactId,version等。也可以对maven项目的远程仓库,打包形式,资源依赖关系等进行配置。一个最简单的pom.xml文件至少需要包含四个元素:modelVersion, groupId, art 阅读全文
posted @ 2019-11-07 11:55 皮肤黝黑的小白 阅读(200) 评论(0) 推荐(0)
摘要: 事情的过程是:公司有一个上百行的sql 运行在MySQL数据库,速度奇慢无比,逻辑乱七八糟,我就不贴出来了,经过这次修改想总结一下如何写一个不被人骂的sql。 说一些被人诟病的问题: 一、子查询 把你的子查询全部改为join!!! 把你的子查询全部改为join!!! 把你的子查询全部改为join!! 阅读全文
posted @ 2019-11-04 17:28 皮肤黝黑的小白 阅读(374) 评论(0) 推荐(1)
摘要: 一、CountDownLatch 它被用来同步一个或多个任务,强制他们等待其他任务完成,这就是闭锁。 public CountDownLatch(int count) { if (count < 0) throw new IllegalArgumentException("count < 0"); 阅读全文
posted @ 2019-11-01 11:13 皮肤黝黑的小白 阅读(511) 评论(0) 推荐(0)
摘要: 前言 对于某些问题,如果能够并行的执行程序中的多个部分,则回变得非常方便甚至必要,这些部分要么看起来是并发执行,要么是在多处理环境下同时执行。并行编辑可以使程序执行速度得到极大提高,或者为设计某些类型的程序提供更易用的模型。当并行执行的任务彼此开始产生互相干涉时,实际的并发问题就发生了。 一、并发的 阅读全文
posted @ 2019-10-30 15:45 皮肤黝黑的小白 阅读(581) 评论(0) 推荐(0)
摘要: 报错内容:在emojy表情入库或者更新库的时候,会报这个错:java.sql.SQLException:Incorrect string value: '\xF0\x9F\x99\x8F\..' for column '字段名' 错误解析:就是emojy表情是这样的4字符 \0F9B\,没法入库正常 阅读全文
posted @ 2019-10-30 15:03 皮肤黝黑的小白 阅读(256) 评论(0) 推荐(0)
摘要: 构造方法 ThreadPoolExecutor共4个构造方法: 直接看参数最多的7个参数分别代表: corePoolSize: 线程池核心线程数 maximumPoolSize:线程池最大数 keepAliveTime: 空闲线程存活时间 unit: 时间单位 workQueue: 线程池所使用的缓 阅读全文
posted @ 2019-10-29 16:05 皮肤黝黑的小白 阅读(7909) 评论(0) 推荐(1)
摘要: 什么是Stream? Stream(流)是一个来自数据源的元素队列并且支持聚合操作,元素流在管道中经过中间操作,最终操作得到结果。 数据源:集合,数组,I/O channel,产生器generator。 聚合操作:类似于sql比如:filter,find,map,match,sorted. 生成流: 阅读全文
posted @ 2019-10-16 17:08 皮肤黝黑的小白 阅读(436) 评论(0) 推荐(0)
摘要: 分布式锁除了 redis实现外还有:数据库乐观锁和zookeeper效率有限。 分布式锁要满足以下条件: 互斥性:确保同一时刻只有一个客户端持有锁。 不死锁:一个客户端持有锁因断网,崩溃等原因失联了,仍可让下一个人得到锁。 容错性:大部分redis节点可用,客户端就可以加锁解锁。 统一性:加锁和解锁 阅读全文
posted @ 2019-10-15 17:27 皮肤黝黑的小白 阅读(698) 评论(0) 推荐(0)
摘要: 一、分布式锁: 场景:销售电影票(一个商品只能卖一个人)。 流程: 流程制定:看票》买票》将座位号做为key 用户名作为value 存入redis》交钱》改各种状态》清缓存 应该注意:1.问题:用户还没走到清缓存这一步就退出 会导致缓存一直存在。 解决:redis要设置过期时间 set expire 阅读全文
posted @ 2019-10-14 18:19 皮肤黝黑的小白 阅读(1122) 评论(0) 推荐(0)