CGRW_BLOG


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

LeetCode Database习题 && MySQL基础

发表于 2018-07-01 | 分类于 MySQL | 阅读次数:
字数统计: 2,648 | 阅读时长 ≈ 11

LeetCode有一些数据库的题目,部分免费的题做一下;MySQL有一些最基础的知识,捡重要的mark一下。

阅读全文 »

学习Java函数式编程(六):重构设计模式

发表于 2018-06-29 | 分类于 函数式编程 | 阅读次数:
字数统计: 1,150 | 阅读时长 ≈ 4

本篇将讨论用Java 8函数式编程的方式重构设计模式。

阅读全文 »

学习Java函数式编程(五):函数式思维与尾递归

发表于 2018-06-28 | 分类于 函数式编程 | 阅读次数:
字数统计: 1,239 | 阅读时长 ≈ 5

这篇文章介绍函数式编程概念和尾递归。

阅读全文 »

学习Java函数式编程(四):使用Lambda重构代码

发表于 2018-06-26 | 分类于 函数式编程 | 阅读次数:
字数统计: 1,151 | 阅读时长 ≈ 5

Lambda真是极好的!使用Lambda先从重构旧代码开始。《Java 8实战》对其进行了讲解,本章将按照此书的脉络进行组织,对相关章节进行复习总结。

阅读全文 »

收看世界杯并快记常用Vim命令

发表于 2018-06-22 | 分类于 Vim | 阅读次数:
字数统计: 2,992 | 阅读时长 ≈ 10

Intellij Idea上集成有IdeaVim插件,想来,一套Vim操作就可以适应多个编辑环境,确也诱人;那边厢,世界杯如火如荼,激战正酣,本人花费不少时间收看,实在精彩;怎么结合世界杯快速入门Vim命令呢?思索过后有了下文中的小小尝试。

阅读全文 »

学习Java函数式编程(三):收集器入门

发表于 2018-06-21 | 分类于 函数式编程 | 阅读次数:
字数统计: 1,056 | 阅读时长 ≈ 5

本篇将入门Java函数式编程中的收集器。

阅读全文 »

学习Java函数式编程(二):Java 8接口新特性

发表于 2018-06-20 | 分类于 函数式编程 | 阅读次数:
字数统计: 1,039 | 阅读时长 ≈ 4

本文主要介绍Java 8引入的默认方法以及接口静态方法等新特性,涉及了Lambda表达式作为参数参与方法重载、引入了默认方法的接口多重继承以及Optional数据类型等内容。

阅读全文 »

学习Java函数式编程(一):初探

发表于 2018-06-18 | 分类于 函数式编程 | 阅读次数:
字数统计: 1,182 | 阅读时长 ≈ 5

Java 8开始引入了Lambda表达式,第一次使用的时候,我是感动的,真的太好用了。接下来将做些笔记,以期了解Java函数式编程。

阅读全文 »

一次ThreadLocal源码解析之旅

发表于 2018-05-30 | 分类于 多线程 | 阅读次数:
字数统计: 3,479 | 阅读时长 ≈ 14

写这篇解析再一次花费了本人整整一天时间,希望通过本篇文章,能将ThreadLocal的原理说清楚,讲明白。全文主要完成了以下四个部分的工作:

  • 摸清了ThreadLocal是如何做到在不同线程set()、get()的值不被其它线程访问的;
  • 介绍了弱引用在ThreadLocalMap中的应用;
  • 探寻了ThreadLocalMap如何实现hash map功能;
  • 列举了一个使用ThreadLocal而出现的内存泄漏问题并加以分析;
阅读全文 »

由几个小例引发的对interrupt()、LockSupport.park()深入解析

发表于 2018-05-27 | 分类于 多线程 | 阅读次数:
字数统计: 2,509 | 阅读时长 ≈ 11

在之前解析interrupt()源码的小文最后,曾经列出过一些例子,主要是关于标志位更改对LockSupport.park()的影响,这里我觉得有必要单独花一个篇幅来研究,因为AQS就涉及到了这方面的问题。通过本文,可以对Thread.interrupted()有一个牢固的掌握,对interrupt()有更进一步的理解,对LockSupport.park()、LockSupport.unpark()挂起唤醒机制有一个清晰的认识。本篇应该算是《线程生命周期 & 中断机制》的姊妹篇。

阅读全文 »
1…678…15
Cgrw

Cgrw

146 日志
43 分类
117 标签
GitHub E-Mail
© 2021 Cgrw
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4