写在前面上一篇文章并发Bug之源有三,请睁大眼睛看清它们谈到了可见性/原子性/有序性三个问题,这些问题通常违背我们的直觉和思考模式,也就导致了很多并发Bug为了解决CPU,内存,IO的短板,增加了缓存,但这导致了可见性问题编译器/处理器擅自优化(Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化为汇编指令在CPU上执行),导致有序性问题初衷是好
分类:
移动开发 时间:
2020-08-02 10:22:41
阅读次数:
107
写在前面在一款应用的整个生命周期,我们都会谈及该应用的数据安全问题。用户的合法性与数据的可见性是数据安全中非常重要的一部分。但是,一方面,不同的应用对于数据的合法性和可见性要求的维度与粒度都有所区别;另一方面,以当前微服务、多服务的架构方式,如何共享Session,如何缓存认证和授权数据应对高并发访问都迫切需要我们解决。Shiro的出现让我们可以快速和简单的应对我们应用的数据安全问题Shiro介绍
分类:
编程语言 时间:
2020-08-02 10:20:00
阅读次数:
101
Linux平台服务器多线程开发(一)线程模型线程是程序中完成一个独立任务的完整执行序列,即一个可调度的实体。根据运行环境和调度者的身份,线程可分为内核线程和用户线程。内核线程,在有的系统上也称为LWP(LightWeigthProcess,轻量级进程),运行在内核空间,由内核来调度;用户线程运行在用户空间,由线程库来调度。当进程的一个内核线程获得CPU的使用权时,它就加载并运行一个用户线程。可见,
分类:
编程语言 时间:
2020-08-02 10:01:31
阅读次数:
76
Linux平台服务器多线程开发(一)线程模型线程是程序中完成一个独立任务的完整执行序列,即一个可调度的实体。根据运行环境和调度者的身份,线程可分为内核线程和用户线程。内核线程,在有的系统上也称为LWP(LightWeigthProcess,轻量级进程),运行在内核空间,由内核来调度;用户线程运行在用户空间,由线程库来调度。当进程的一个内核线程获得CPU的使用权时,它就加载并运行一个用户线程。可见,
分类:
编程语言 时间:
2020-08-02 10:01:04
阅读次数:
68
封装性在Java中的体现: 1. 方法就是一种封装 2. 关键字private也是一种封装 封装就是将一些细节信息隐藏起来,对于外界不可见 问题描述:定义Person的年龄时,无法阻止不合理的数值被设置进来。 解决方案:用private关键字将需要保护的成员变量进行修饰。 一旦使用了private进 ...
分类:
编程语言 时间:
2020-07-30 18:15:55
阅读次数:
74
解析HTML,生成DOM树,解析CSS,生成CSSOM树 将DOM树和CSSOM树结合,生成渲染树(Render Tree) Layout(回流):根据生成的渲染树,进行回流(Layout),得到节点的几何信息(位置,大小) Painting(重绘):根据渲染树以及回流得到的几何信息,得到节点的绝对 ...
分类:
其他好文 时间:
2020-07-29 21:18:30
阅读次数:
79
Nginx 变量的创建和赋值操作发?在全然不同的时间阶段 Nginx 变量的创建只能发?在 Nginx 配置加载的时候, 或者说 Nginx 启动的时候; ?赋值操作则只会发?在请求实际处理的时候。 Nginx 变量名的可见范围虽然是整个配置, 但每个请求都有所有变量的独?副本, 或者说都有各变量? ...
分类:
其他好文 时间:
2020-07-29 15:02:58
阅读次数:
58
阅读相关资料,自己先画了一个jvm内存模型草图 类装在子系统不过多解释,上一篇类加载机制说的就是这个。 字节码执行引擎(执行编译好后class文件指令码的程序),为C语音实现,不可见,不展开讲,下面主要来看内存模型中的5块。 芜湖起飞~ 先从栈开始讲: 栈后面加了个括号,线程,栈就是线程在执行方法的 ...
分类:
其他好文 时间:
2020-07-27 23:53:29
阅读次数:
73
有两种生成图表方法: hightcharts(推荐) https://www.highcharts.com.cn/ echarts https://echarts.apache.org/examples/zh/index.html 需要查看具体操作可见详情链接 一、hightcharts 1、什么是 ...
分类:
其他好文 时间:
2020-07-27 16:06:39
阅读次数:
94
一、协程基础 cpython下多个线程不能利用多核:规避了所有的io操作的单线程。 协程 操作系统不可见 协程本质就是一条线程,多个任务在一条线程上来回切换,来规避io操作,降低了线程上的io操作降到最低。 4 cpu:可以接受5个进程,20个线程,协程500 切换并规避IO的模块 gevent 利 ...
分类:
其他好文 时间:
2020-07-26 19:02:39
阅读次数:
53