Timer和ScheduledExecutorService是JDK内置的定时任务方案,而业内还有一个经典的定时任务的设计叫时间轮(Timing Wheel), Netty内部基于时间轮实现了一个HashedWheelTimer来优化百万量级I/O超时的检测,它是一个高性能,低消耗的数据结构,它适合用非准实时,延迟的短 […]
Timer和ScheduledExecutorService是JDK内置的定时任务方案,而业内还有一个经典的定时任务的设计叫时间轮(Timing Wheel), Netty内部基于时间轮实现了一个HashedWheelTimer来优化百万量级I/O超时的检测,它是一个高性能,低消耗的数据结构,它适合用非准实时,延迟的短 […]
序列化和反序列化 序列化:把对象转换为字节序列的过程称为对象的序列化. 反序列化:把字节序列恢复为对象的过程称为对象的反序列化. 什么时候需要用到序列化和反序列化呢? 当我们只在本地 JVM 里运行下 Java 实例, 这个时候是不需要什么序列化和反序列化的, 但当我们需要将内存中的对象持久化到磁盘, 数据库中时, 当 […]
用一句话来总结这种改进就是: 支持唯一性约束和索引将null值视为相同的值。 之前是将null值索引成不同的值,现在可以通过使用unique nulls not distinct创建约束,将null值视为相同的值。 两种unique风格 创建示例表: CREATE TABLE null_old_style ( id B […]
NullPointException应该算是每一个码农都很熟悉的家伙了吧?谁的代码不曾抛过几个空指针异常呢... 比如:你写了段如下的代码: public void getCompanyFromEmployee() { Employee employee = getEmployee(); Company company […]
准备工作: Jetbrains系列产品重置试用插件 MyBatisCodeHelperPro (Marketplace Edition) idea 第一步 方法一)插件市场安装: 在Settings/Preferences... -> Plugins 内手动添加第三方插件仓库地址:http://plugins […]
@Resource和@Autowired这两个注解的作用都是在Spring生态里面去实现Bean的依赖注入。 下面分别说一下@Autowired和@Resource这两个注解。 闪现 [@Autowired的作用详解 ] 几个字。 首先,@Autowired是Spring里面提供的一个注解,默认是根据类型来实现Bean […]
前言 在日常开发中我们经常会将JSON、XML、HTML、SQL、Regex等字符串拷贝粘贴到我们的代码中,而这些字符串往往包含很多的引号",我们就必须将所有引号逐个添加转义符进行转义。这个转义十分麻烦,且容易出错,而当我们们需要替换这些字符串时,重新粘贴进来的文本仍需要再次进行转义,简直让人崩溃。 在我的工 […]
一 引言 作为长期奋战在一线的技术人,我深刻体会到如下几个思维能力对技术人成长的重要性,熟练运用这几种思维可以帮助我们快速的进入到新的领域,在分析、定位和解决问题上有很大帮助。 抽象思维:帮助我们快速抽取面对问题的关键要素和本质,可以是其他能力的“元能力” 分层思维:帮助我们拆解问题,分而治之,划清问题和职责边界 归 […]
相信大部分小伙伴都是搞技术的,我觉得大家心里肯定知道:不管你是否承认,技术这条线是走不了长远的,所以一旦有机会转管理,则务必要抓住机会,一击就中。、 所以大家可以静下心来看下我这篇博客,是我一个普通从业人员的心血总结,希望可以帮助更多小伙伴可以在管理团队的道路上走的更远;另外我还梳理了团队管理中常见的场景的解决思路:大 […]
网上抄的,效果图如下: 代码如下: import turtle turtle.title('冰墩墩') turtle.speed(100) # 速度 # 左手 turtle.penup() turtle.goto(177, 112) turtle.pencolor("lightgray&q […]
少年不识愁滋味,爱上层楼。爱上层楼,为赋新词强说愁。
而今识尽愁滋味,欲说还休。欲说还休,却道天凉好个秋。