当程序更新一个变量时,如果多线程同时更新这个变量,可能得到期望之外的值,比如变量i=1,A线程更新i+1,B线程也更新i+1,经过两个线程操作之后可能i不等于3,而是等于2。因为A和B线程在更新变量i的时候拿到的i都是1,这就是线程不安全的更新操作,通常我们会使用synchronized来解决这个问 ...
分类:
编程语言 时间:
2020-07-23 01:47:26
阅读次数:
97
HSTS 背景:当访问我们的域名从http变成https时,安全性能得到了极大的提升。但这也不代表绝对的安全。 HSTS简介 ? HTTP严格传输安全协议 (HTTP Strict Transport Security,简称:HSTS),是一套由互联网工程任务组发布的互联网安全策略机制。网站可以选择 ...
分类:
Web程序 时间:
2020-07-23 01:37:01
阅读次数:
96
一:快速失败(fail—fast) 在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出Concurrent Modification Exception。 原理:迭代器在遍历时直接访问集合中的内容,并且在遍历过程中使用一个 modCount 变量。集 ...
分类:
编程语言 时间:
2020-07-22 21:03:06
阅读次数:
91
题目 剑指 Offer 11. 旋转数组的最小数字 我的思路 显然用二分查找,时间复杂度logn,最坏情况可能达到n。 要注意二分查找的边界条件判断,以及如果无法判断此次二分是取左或者去右时,可以尝试把上边界下标减1,再重新二分(安全地缩小边界)。 我的实现 class Solution { pub ...
分类:
编程语言 时间:
2020-07-22 16:15:20
阅读次数:
68
一、为什么要使用Atomic类? 看一下下面这个小程序,模拟计数,创建10个线程,共同访问这个int count = 0 ;每个线程给count往上加10000,这个时候你需要加锁,如果不加锁会出现线程安全问题,但是使用AtomicInteger之后就不用再做加锁的操作了,因为AtomicInteg ...
分类:
编程语言 时间:
2020-07-22 13:51:53
阅读次数:
82
先上总结: 单例模式就是在内存中只会创建且仅创建一次对象的设计模式,因为只创建一次对象,所以构造方法私有化,通过getInstence方法获取对象。 单例模式分为懒汉式和饿汉式,懒汉式是在调用时创建对象,需要注意线程安全和性能优化,饿汉式是在程序加载时就创建对象,需要时直接调用。 在开发时如果对于内 ...
分类:
其他好文 时间:
2020-07-22 11:40:53
阅读次数:
71
总是忘记,自己整理。 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; #开启mysql远程访问GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; #开启m ...
分类:
其他好文 时间:
2020-07-22 11:13:08
阅读次数:
81
概述 除了正常运行模式,ECMAscript 5添加了第二种运行模式:'严格模式'。顾名思义,这种模式使得Javascript在更严格的条件下运行。 目的 1: 消除Javascript语法的一些不合理不严谨的地方,减少怪异行为 2: 消除代码运行的不安全之处, 保证代码运行的安全 3: 提高编译器 ...
分类:
编程语言 时间:
2020-07-22 11:11:30
阅读次数:
66
mysql8.0 密码处理 caching_sha2_password
分类:
数据库 时间:
2020-07-22 02:19:07
阅读次数:
222
2020年3月12日,微软正式发布CVE-2020-0796高危漏洞补丁,目前,远程利用poc代码已公布,本文介绍cve-2020-0796漏洞的检测及利用,来协助大家对未修复的漏洞检测和防御。漏洞公告显示,SMB 3.1.1协议中处理压缩消息时,对其中数据没有经过安全检查,直接使用会引发内存破坏漏洞,可能被***者利用远程执行任意代码。***者利用该漏洞无须权限即可实现远程代码执行,受******的目标系统只需开机在线即可能被***。
分类:
其他好文 时间:
2020-07-22 02:18:45
阅读次数:
193