码上行动GO

微信订阅号:「码上行动GO」


  • 首页

  • 标签103

  • 分类13

  • 归档61

  • 搜索

手写简易数据库连接池

发表于 2019-08-05 更新于 2019-09-03 分类于 Java 并发编程的艺术
本文字数: 6.3k 阅读时长 ≈ 6 分钟

简要说明任务用超时等待模式构造一个简单的数据库连接池,模拟从连接池中获取、使用、释放连接的过程。 手段 将客户端获取连接的过程设定为超时等待的模式,即在1000ms内如果无法获取到可用连接,将返回null给客户端; 设定连接池的大小为10,通过调节客户端连接的线程数模拟无法获取连接的场景; 代码实 ...

阅读全文 »

第4章| Java并发编程基础

发表于 2019-08-04 更新于 2022-04-25 分类于 Java 并发编程的艺术
本文字数: 4.5k 阅读时长 ≈ 4 分钟

线程简介什么是线程现代操作系统调度的最小单元是线程,也叫轻量级进程(Light Weight Process),在一个进程里可以创建多个线程,这些线程都拥有各自的计数器、堆栈和局部变量等属性,并且能够访问共享的内存变量。 Java程序本身就是多线程的,可参见一下示例代码: public class ...

阅读全文 »

第3章| Java内存模型——04设计

发表于 2019-08-02 更新于 2022-04-25 分类于 Java 并发编程的艺术
本文字数: 1.2k 阅读时长 ≈ 1 分钟

happens-beforeJMM的设计JMM的设计维持一个平衡点:既要让开发人员提供足够强的内存可见性保证,同时要对编译器和处理器的限制要尽可能地放松。 JMM两种重排序策略 对于会改变程序执行结果的重排序,JMM要求编译器和处理器必须禁止这种重排序; 对于不会改变程序执行结果的重排序,JMM对 ...

阅读全文 »

第3章| Java内存模型——03同步原语

发表于 2019-08-01 更新于 2022-04-25 分类于 Java 并发编程的艺术
本文字数: 2.7k 阅读时长 ≈ 2 分钟

volatile的特性tips: 为好理解volatile特性,可将对volatile变量的单个读/写看成是使用同一个锁对这些单个读/写操作做了同步。 示例代码:class VolatileFeaturesExample { volatile long vl = 0L; //使用vo ...

阅读全文 »

第3章| Java内存模型——02顺序一致性

发表于 2019-07-31 更新于 2022-04-25 分类于 Java 并发编程的艺术
本文字数: 1.2k 阅读时长 ≈ 1 分钟

重排序数据依赖性:如果两个操作访问同一个变量,且其中有一个为写操作,这时这两个操作存在数据依赖性。Note:数据依赖性仅针对单个处理器中执行的指令序列和单个线程中执行的操作,不同处理器之间以及不同线程之间的数据依赖性不被编译器和处理器考虑。 as-if-serial语义:不管如何重排序,(单线程)程 ...

阅读全文 »

第3章| Java内存模型——01基础

发表于 2019-07-30 更新于 2022-04-25 分类于 Java 并发编程的艺术
本文字数: 2k 阅读时长 ≈ 2 分钟

Java线程之间的通信对开发人员完全透明,内存可见性就是经常困扰的问题之一。本章可分为4个部分: Java内存模型的基础主要介绍内存模型相关的基本概念; Java内存模型的顺序一致性主要介绍重排序与顺序一致性内存模型; 同步原语主要介绍3个同步原语(synchronized、volatile和f ...

阅读全文 »

记录next主题的hexo博客配置

发表于 2019-07-30 更新于 2019-09-03 分类于 日常记录
本文字数: 4.1k 阅读时长 ≈ 4 分钟

添加评论模块 utterances目的为部署在github(或gitee)上安装了next主题的hexo博客添加评论系统,以此增加博客的互动性。 为什么选择utterances评论系统?utterances的简介一款基于GitHub中issues开发的轻量级评论插件。可将GitHub的issues作 ...

阅读全文 »

键盘操作Chrome神器——Vimium的使用技巧

发表于 2019-07-29 更新于 2022-04-25 分类于 日常记录
本文字数: 906 阅读时长 ≈ 1 分钟

你是不是实名羡慕过黑客的操作?是不是因为浏览网页需要频繁切换到鼠标操作而苦恼过?现在只要学会了这款插件的使用,你就可以立即摆脱上面的苦恼了。话不多说,这款插件就是Vimium。 Vimium简介 Vimium是一款谷歌浏览器的扩展程序,在vim编辑器的基础上实现了基于键盘的网页浏览与控制,也就是说可 ...

阅读全文 »

第2章| Java并发机制的底层实现原理

发表于 2019-07-29 更新于 2022-04-25 分类于 Java 并发编程的艺术
本文字数: 5.5k 阅读时长 ≈ 5 分钟

Java具有“一次编译,到处运行”的特性,而这与JVM(Java Virtual Machine, Java虚拟机)密不可分。因为.java后缀的代码到最后运行,需要先经过编译器编译为.class后缀的字节码,接着字节码被类加载器加载到JVM中,最后转变为0-1的汇编指令才能被CPU执行等这一系列 ...

阅读全文 »

Ubuntu18.04 Chrome和firefox浏览器中字体异常变粗?

发表于 2019-07-27 更新于 2022-04-25 分类于 日常记录
本文字数: 996 阅读时长 ≈ 1 分钟

问题描述在安装好Ubuntu18.04 LTS后,正常使用谷歌浏览器和火狐浏览器,在浏览其他网页时并没有发现有异常的地方,直到在网页中使用Markdown语法的加粗显示时,才发现此时加粗文字与其他文字效果相同,并不能显示出强调效果。 由于是利用hexo搭建的博客,所以一度怀疑是不是Markdown的 ...

阅读全文 »
1…345…7
码哥

码哥

Keep Learning & Recording!
61 日志
9 分类
88 标签
GitHub
0%
辽ICP备2020015186号 © 2019 – 2025 码哥 | 191k | 2:54
载入天数... 载入时分秒...
|