Wesley13 Wesley13
4年前
java并发相关(四)——关于synchronized的可重入性,线程切换实现原理与是否公平锁
一、可重入性  关于synchronized的可重入性的证明,我们可以通过A类内写两个同步方法syncA(),syncB()。然后syncA内调用syncB,调用syncA发现代码可正常执行,来证明这一点。  当处于无锁阶段时,划掉,都重入了不可能处于无锁。  当处于偏向锁阶段时,由之前对偏向锁的解释可知,偏向当前线程id是,当前线程可直
【问题排查篇】一次业务问题对 ES 的 cardinality 原理探究 | 京东云技术团队
小编工作中负责业务的一个服务端系统,使用了Elasticsearch服务做数据存储,业务运营人员反馈,用户在使用该产品时发现,用户后台统计的订单笔数和导出的订单笔数不一致!对此进行排查并进行总结
待兔 待兔
5年前
MySQL8数据库 | MySQL调优|MySQL底层原理|MySQL零基础新手教程
一、Windows环境下安装A、下载MySQL(https://links.jianshu.com/go?tohttps%3A%2F%2Fdev.mysql.com%2Fdownloads%2Fmysql%2F)SelectOperatingSystem:MicrosoftWindows快捷下载:mysql8.0.22
李志宽 李志宽
3年前
学到了!软件产品安全性?
背景为了提高开发的软件产品安全性,大部分选择的方案防护方案是,通过用成熟的加固软件进行对自己研发的软件做防护,从而达到对软件搭建一个安全防护墙。加固软件主要做的两件事,对软件中关键代码的保护以及提高对软件逆向反编译的门槛。那么软件安全性防护墙的第一道门那就是反调试。反调试技术又细分为静态反调试和动态反调试。下面就针对window端的进行梳理反调试检测方案。
Stella981 Stella981
4年前
IM开发基础知识补课:正确理解前置HTTP SSO单点登陆接口的原理
1、前言一个安全的信息系统,合法身份检查是必须环节。尤其IM这种以“人”为中心的社交体系,身份认证更是必不可少。一些PC时代小型IM系统中,身份认证可能直接做到长连接中(也就是整个IM系统都是以长连接为中心:身份鉴权、数据收发、文件传送等等)。但当前主流的IM(尤其新一代的移动端IM)中,都是“长”(指TCP或UDP长连接)、“短”(是指H
Wesley13 Wesley13
4年前
C++中二维数组作为函数参数
在平时,我们经常会遇到将整个数组作为函数参数的情况,一维数组的情况,就是用数组名当形参和实参,传递的是数组的首地址。二维数组我们用的也很多,但是总是有各种问题,今天我总结一下有个很重要的一点,字符串“China”在编译器眼里就是一个地址!操作字符串是通过它在内存中的存储单元的首地址进行的,这是字符串的终极本质如果"China",存储在内存中的0
Wesley13 Wesley13
4年前
Java集合详解1:一文读懂ArrayList,Vector与Stack使用方法和实现原理
本文非常详尽地介绍了Java中的三个集合类ArrayList,Vector与Stack《Java集合详解系列》是我在完成夯实Java基础篇的系列博客后准备开始写的新系列。这些文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看https://github.com/h2pl/JavaTutorial(
Wesley13 Wesley13
4年前
C语言面试题大汇总之华为面试题 Eddy整理
1、局部变量能否和全局变量重名?  答:能,局部会屏蔽全局。要用全局变量,需要使用"::";局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。2、如何引用一个
Stella981 Stella981
4年前
GOT段在linux系统中实现代码动态加载的作用和其他段的说明
上一节我们看到,当程序想调用系统函数时,在编译阶段无法确认被调用函数所在的虚拟地址。因此必须有机制让程序在运行过程中,在调用系统API的时候有办法去确定所调用的系统函数对应的入口地址,这就是代码运行时对应动态加载的过程。动态加载,也就是在调用系统函数时再去确认所调用的函数地址的技术需要使用两个段,一个是.plt段,一个是.got.plt段。后者其实是.g
Stella981 Stella981
4年前
IM开发基础知识补课(七):主流移动端账号登录方式的原理及设计思路
本文引用了“低调的码农”原创文章“多账户的统一登录”一文的部分内容,感谢原作者的无私分享。1、引言在即时通讯网经常能看到各种高大上的高并发、分布式、高性能架构设计方面的文章,平时大家参加的众多开发者大会,主题也都是各种高大上的话题——什么5G啦、AI人工智能啦、什么阿里双11分分钟多少万QPS高并发等等。但实际上,对于普通的开发者(包括