漫道多线程(二):临界区、锁与JMM

  • 码农要飞
  • 2021-01-17 21:13:02
  • JAVA
  • java
锁锁的作用就是保障临界区阻塞与非阻塞阻塞与非阻塞是用来形容线程间的影响的。通过临界区的定义我们可知,当一个线程占用了临界区资源,那么其他线程必须在这个临界区等待。等待会导致线程挂起,这种情况就是阻塞。简而言之,一个线程导致其他线程进行等待的过程就是阻塞。反之,一个线程没有妨碍其他线程的运行就是非阻塞。
阅读全文

漫道多线程(一):多线程与并行计算简述

  • 码农要飞
  • 2021-01-05 23:21:59
  • JAVA
  • java
什么是并行计算并行计算或称平行计算是相对于串行计算来说的。它是一种一次可执行多个指令的算法,目的是提高计算速度,及通过扩大问题求解规模,解决大型而复杂的计算问题。所谓并行计算可分为时间上的并行和空间上的并行。 时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。什么是多线程多线程的定义如下,该定义来自多线程的百度百科
阅读全文

hashMap底层源码浅析

  • 码农要飞
  • 2020-12-29 10:21:59
  • JAVA
  • java
hashmap是我们经常使用的一个工具类。那么知道它的一些原理和特性吗?特性HashMap是一种基于散列算法实现的快速查找的键值对结构。底层实现是链表数组。允许空键和空值(但空键只有一个,且放在第一位)元素是无序的(这里的无序是指的插入和读取的顺序不一致)JDK 8 后又加了底层加上了红黑树优化过长的链表以及并行遍历。概述
阅读全文

我所理解极简java的23种经典设计模式(附加举例)

  • 码农要飞
  • 2020-12-18 18:02:20
  • JAVA
  • java
作为java程序员,设计模式是一个无论如何都绕不开的知识点。话不多bib,直接上干货:一、什么是设计模式比较正式的定义是:设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,
阅读全文

html5中使用video.js播放器播放m3u8直播文件,兼容微信浏览器自动播放(ios亲测有效)

html5中使用video.js播放器播放m3u8直播文件,兼容微信浏览器自动播放(ios亲测有效)<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <title>正在直播中</title>
阅读全文

thinkphp5.1整合editor.md富文本编辑器

支持“标准” Markdown / CommonMark 和 Github 风格的语法,也可变身为代码编辑器;支持实时预览、图片(跨域)上传、预格式文本/代码/表格插入、代码折叠、搜索替换、只读模式、自定义样式主题和多语言语法高亮等功能;支持 ToC 目录(Table of Contents)、Emoji 表情、Task lists、@链接等 Markdown 扩展语法;支持 TeX 科学公式(基于 KaTeX)、流程图 Flowchart 和 时序图 Sequence Diagram;支
阅读全文

NGINX 从入门到精通,学会这些就够了

  • 石先生的私房菜
  • 2020-08-29 11:40:40
  • Linux
  • linux
什么是 nginxNginx(发音同 “engine X”)是异步框架的网页服务器,也可以用作反向代理、负载平衡器和 HTTP 缓存。该软件由伊戈尔・赛索耶夫创建并于 2004 年首次公开发布。2011 年成立同名公司以提供支持。2019 年 3 月 11 日,Nginx 公司被 F5 Networks 以 6.7 亿美元收购。
阅读全文

谈一谈关于jwt的一些事

什么是jwt?谈到jwt,我们必须了解到jwt是用来干什么的,我的个人理解jwt是用来处理存储分布式的用户信息的一种工具。在没有jwt之前,我们通常是如何存储用户的登录信息的呢?session存储:通过登录后,将用户的的登录数据保存在session存储,等到需要时再从session中取出来进行使用。但是这样一来就出现了一个问题,随着分布式时代的到来,session的一些问题就暴露了出来,比如无法跨服务进行共享用户的登录状态以及容易被CSRF攻击等,于是出现了第二种技术
阅读全文

apche 反射api的使用心得

最近在因为在反射的使用过程中愈发觉得java的原生反射api在大部分的场景下比较繁琐。于是换成了apache的反射包,感觉apache 的反射包爽多了。以下是代码示例
阅读全文

Vue-Router升级导致的Uncaught (in promise)问题(亲测有效)

在升级了Vue-Router版本到到3.1.0及以上之后,页面在跳转路由控制台会报Uncaught (in promise)的问题 这是什么原因呢?看vue-router的版本更新日志V3.1.0版本里面新增功能:push和replace方法会返回一个promise, 你可能在控制台看到未捕获的异常
阅读全文

川公网安备 51010702002018号