- C/C++程序员为什么要了解汇编?了解汇编有哪些好处?如何学习汇编?
dvlinker
C/C++实战专栏C/C++软件开发从入门到实战C/C++汇编为什么要了解汇编了解汇编有哪些好处如何学习汇编IDA反汇编工具汇编指令
目录1、概述2、从汇编的角度去理解问题的若干实例说明2.1、使用空指针去访问类的数据成员或调用类的虚函数为什么会引发崩溃?2.2、从汇编代码的角度去理解多线程的执行细节,去理解多线程在访问共享资源时为什么要加锁2.3、使用Windbg静态分析dump时先从崩溃的那条汇编指令中得到初步的线索3、了解汇编有哪些具体的好处?3.1、在代码中插入汇编代码块,提升代码的执行效率3.2、在分析C++软件异常时
- VMware安装Kali(虚拟机压缩包)&设置Windbg调试符号
wave_sky
linux运维服务器
下载完成后会得到一个.7z的压缩包:kali-linux-2024.2-vmware-amd64.7z,需要对其进行解压自己找个地方创建一个文件夹(虚拟机目录),将kali-linux-2024.2-vmware-amd64.vmwarevm整个文件夹放进去打开VMware虚拟机:文件->打开,找到kali-linux-2024.2-vmware-amd64.vmwarevm文件夹,选择的文件是.
- 如何让C++程序自动生成dump文件?以及如何分析dump文件?
dvlinker
C/C++实战专栏C/C++软件开发从入门到实战c++生成dump文件windbg分析dump文件
目录1、API函数SetUnhandledExceptionFilter介绍2、调用SetUnhandledExceptionFilter设置异常处理函数3、调用MiniDumpWriteDump函数导出包含异常上下文的dump文件4、dump文件的多种生成方式5、使用Windbg分析dump文件6、最后C++软件异常排查从入门到精通系列教程(专栏文章列表,欢迎订阅,持续更新...)https:/
- C/C++运行时库和UCRT系统通用运行时库总结及问题实例分享(程序打包时要带上这些运行时库)
dvlinker
C/C++软件开发从入门到实战C/C++实战专栏VisualStudioC/C++运行时库UCRT通用运行时库ProcessExplorer32位64位
目录1、概述2、不同版本的VisualStudio对应的运行时库说明3、在Windbg10.0安装目录中获取UCRT通用运行时库4、微软官网对UCRT通用运行时库的相关说明5、使用VisualStudio2017开发软件初期遇到的UCRT通用运行时库问题6、如何查看软件依赖了哪些C/C++运行时库?7、将软件从32位升级到64位后,要使用64位UCRT通用运行时库8、发布软件时未打包C/C++运行
- 在MacOS上怎样远程调试PC的内核驱动程序
捕鲸叉
软件调试和诊断macos软件调试诊断调试
在macOS上远程调试Windows或LinuxPC的内核驱动程序是一个复杂的过程,因为macOS并没有直接支持内核调试的工具。通常需要借助交叉调试工具链和虚拟化技术来实现。以下是详细的步骤和方法,分为远程调试Windows内核驱动程序和远程调试Linux内核驱动程序两部分。1.远程调试Windows内核驱动程序(从macOS)由于Windows内核调试工具(如WinDbg)不直接支持macOS,
- C++开发值得推荐的十大高效软件分析工具
dvlinker
C/C++软件开发从入门到实战C/C++实战专栏C++常用分析工具WindbgIDAProcessExplorerProcessMonitorAPIMonitor
目录1、概述2、高效软件工具介绍2.1、窗口查看工具SPY++2.2、DependencyWalker2.3、剪切板查看工具Clipbrd2.4、GDI对象查看工具GDIView2.5、ProcessExplorer2.6、PrcoessMonitor2.7、APIMonitor2.8、调试器Windbg2.9、反汇编工具IDA2.10、抓包工具Wireshark3、总结C++软件异常排查从入门到
- 使用Windbg调试目标程序去分析异常的两实战案例分享
dvlinker
Windbg动态调试附加到进程动态启动进程dump文件pdb文件静态分析
目录1、前言2、案例1:程序退出时弹出报错提示框2.1、问题说明2.2、到系统应用程序日志中看系统有没有自动生成dump文件2.3、将Windbg附加到目标程序上进行动态调试3、案例2:程序在运行过程中弹出ASSERT断言提示框3.1、问题说明3.2、将Windbg附加到进程上调试3.3、Windbg是如何找到pdb文件的?4、使用Windbg静态分析dump文件以及动态调试目标进程的一般步骤5、
- 用windbg调试uefi在hyper-v
王cb
windowswindows
添加环境变量CLANG_BIN=C:\ProgramFiles\NASM\NASM_PREFIX=C:\ProgramFiles\NASM\添加pathC:\ProgramFiles(x86)\WindowsKits\10\Tools\x64\ACPIVerify修改edk2-master\Conf\target.txtTARGET_ARCH=X64编译这两个包#ACTIVE_PLATFORM=E
- 隔壁工程师都馋哭了我的逆向工程IDA,说要给我搓背捏脚
kali_Ma
网络安全信息安全逆向工程渗透测试安全漏洞
逆向工程IDA主要内容涉及到的内容如下:1、内核对象及内核对象管理;2、进程回调;3、内核调试;4、Windbg双击调试;引言1进程回调原理分析1.1安装与卸载逆向分析1.2OS执行回调例程分析1.3触发调用的调用链分析2实验2.1观察系统中已安装的回调例程3结束语主要内容针对进程行为的监控需求,以往很多安全软件都是采用的Hook技术拦截关键的系统调用,来实现对恶意软件进程创建的拦截。但在x64架
- 关于Win7 x64下过TP保护(内核层)(转)
小手冰凉__
逆向逆向
调试对象:DXF调试工具:OD、Windbg调试环境:Win7SP1X64内核层部分:x64下因为有PatchGuard的限制,很多保护都被巨硬给抹掉了。比如SSDTHookInlineHook所以TP无法继续使用这些保护手段了。除非腾Xun冒着被巨硬吊销数字签名的风险来阻止我们调试。我曾经在看雪论坛里看过有个人写的文章,它亲自测试在x64环境下清零调试端口,结果发生了蓝屏,所以在x64下TP是不
- XP上的ReadProcessMemorry读取其他线程导致崩溃
nLif
XP_chkstk
http://voneinem-windbg.blogspot.com/2008/02/shooting-pageguard-flag-with.html转自这篇链接XP上存在BUG,当一个线程ReadProcessMemory到另一个线程的内存时,会导致PAGE_GUARD丢失,另一个线程将失去chkstk的能力,会无法扩展堆栈相关的逻辑制成测试代码如下:PBYTEg_pStart1Thread
- VC++ 崩溃处理以及打印调用堆栈
一叶障目
我们在程序发布后总会面临崩溃的情况,这个时候一般很难重现或者很难定位到程序崩溃的位置,之前有方法在程序崩溃的时候记录dump文件然后通过windbg来分析。那种方法对开发人员的要求较高,它需要程序员理解内存、寄存器等等一系列概念还需要手动加载对应的符号表。Java、Python等等语言在崩溃的时候都会打印一条异常的堆栈信息并告诉用户那块出错了,根据这个信息程序员可以很容易找到对应的代码位置并进行处
- 使用Process Explorer/Process Hacker和Windbg高效排查软件高CPU占用问题
dvlinker
高CPU占用ProcessExplorerProcessHackerWindbg函数调用堆栈
目录1、为什么需要将ProcessExplorer/ProcessHacker与Windbg结合起来分析高CPU占用问题?
- Windows内核面试题(持续更新,目前完成度30%约1.8万字)
虚构之人
c++win内核内核面试c++
WINDOWS内核编程问题与答案1.WDK和SDK的区别是什么2.WDK全称叫做3.如何创建WDK程序4.WinDbg如何连接虚拟机5.Windows内核符号表的作用6.如何设置内核符号表与源文件7.如何设置断点与源码调试8.什么时候共享内核空间9.内核模块与驱动程序的区别是什么10.内核模块运行在什么空间11.PsGetCurrentProcessId函数的作用是什么12.System进程的作用
- 用 WinDbg 诊断CPU占用高
__lhy
C#windows
下载WinDbg,http://msdn.microsoft.com/en-us/windows/hardware/gg463009.aspx我是win10,下载了这个:http://download.microsoft.com/download/6/3/B/63BADCE0-F2E6-44BD-B2F9-60F5F073038E/standalonesdk/SDKSETUP.EXE安装WinDb
- Windows驱动开发之环境搭建,长期Waiting for connecting...思路
port9527
Windowswindows驱动开发
Windows驱动开发之环境搭建1、前期准备Vmware虚拟机软件Windows10iso安装包VisualStudio2022IDE软件SDK安装(一定要勾选上debug选项,windbg在里面)WDK(Windows驱动程序工具包)WDK安装请参考官方文档:下载Windows驱动程序工具包(WDK)-Windowsdrivers|MicrosoftLearn第一步:开发环境搭建注意事项:在安装
- Win7 禁止Ctrl+Alt+Del、Win+L等任意系统热键(利用IDA,windbg等工具分析)
zhoujiaxq
windows
标题:【原创】Win7修改Winlogon.exe进程一个字节禁止Ctrl+Alt+Del、Win+L等任意系统热键作者:heiheiabcd时间:2012-12-01,10:08:55链接:http://bbs.pediy.com/showthread.php?t=159346由于想做个屏幕锁程序,因此想研究了下Win7的Ctrl+Alt+Del,我对win7的安全机制一点都不懂,希望有不对的地
- 记一次 .NET某工控自动化系统 崩溃分析
一线码农
.netwindbgc#多线程
一:背景1.讲故事前些天微信上有位朋友找到我,说他的程序偶发崩溃,分析了个把星期也没找到问题,耗费了不少人力物力,让我能不能帮他看一下,给我申请了经费,哈哈,遇到这样的朋友就是爽快,刚好周二晚上给调试训练营的朋友分享GC标记阶段相关知识,而这个dump所展示的问题是对这块知识的一个很好的巩固,接下来我们开始分析吧。二:WinDbg分析1.为什么会崩溃要想找到崩溃原因,还是用老命令!analyze-
- WinDbg常用指令
next 猫
c语言开发语言后端
1.r:显示寄存器的信息也可用来更改寄存器信息2.a:使用汇编的格式在内存中写入一条机器指令。3.p/t指令:执行内存单元中的指令。p命令执行单个指令或源代码行,并可选地显示所有寄存器和标志的结果值。当子例程调用或中断发生时,它们被视为单个步骤。用户模式:1[~Thread]p[r][=StartAddress][Count]["Command"]内核模式:1p[r][=StartAddress]
- Windbg内核调试之二: 常用命令
weixin_33881140
操作系统数据结构与算法
运用Windbg进行内核调试,熟练的运用命令行是必不可少的技能.但是面对众多繁琐的命令,实在是不可能全部的了解和掌握.而了解Kernel正是需要这些命令的指引,不断深入理解其基本的内容.下面,将介绍最常用的一些指令,使初学Kernel调试的朋友们能有一个大致的了解.至于如何熟练的运用它们,还需要实际的操作过程中进行反复的琢磨.Windbg能够方便的进行远程调试和本地进程调试(只限于User模式),
- Windbg 常用命令
垂钓者1号
Windbgc#windows
博主分析案例:GitHub-ctripxchuang/dotnetfly:关注windbg在.NET领域下的探究,带你一起解读程序的用户态和内核态!1.!analyze-v有些命令需要先执行这个2.!address-summary查看总的进程内存,红色方框MEM_COMMIT为进程总内存,Heap为非托管堆内存3.!eeheap-gc查看托管堆内存4.!heap-s查看非托管堆情况5.!dumph
- Windbg常用命令备忘
buuaKa
Windbg常用命令备忘windbg是一款微软推出的专业实用的源码调试工具软件1、符号表下载方法:使用命令下载对应的符号表symchk/rc:\windows\system32\k*/sSRV*c:\symbols\*https://msdl.microsoft.com/download/symbols,然后就能在c:\symbols目录下得到对应dll的符号表;2、windbg调试windows
- windbg 常用调试命令总结
就是那个党伟
软件调试windbg
引用:windows码农屠龙手册参考官方文档:使用WinDbg进行调试-Windowsdrivers|MicrosoftDocs寄存器含义:寄存器含义windbg下载地址:x64:http://download.microsoft.com/download/A/6/A/A6AC035D-DA3F-4F0C-ADA4-37C8E5D34E3D/setup/WinSDKDebuggingTools_a
- WinDbg常用命令
秋雨雁南飞
c#/Net工具
!analyze–v自动分析kv查看堆栈!pe打印异常!runaway显示所有线程的CPU消耗!handlee00f显示句柄详细详细!cs00bcd034临界对象!teb查看TEB的结构bp下断点,还有条件断点!address显示整个地址空间和使用摘要的信息dd按字节查看dt查看结构
- WinDbg 常用指令与快捷键
PeiFengTuNan_
工具其他
指令说明应用uUnassembleu:显示下一条指令uaddress:显示地址之后的指令uL10:显示10条指令ub:显示上一条指令tTrace(F11)SetpIntopPass(F10)SetpOverggo(Run)g:运行gaddress:运行到地址处dDumpdaddress:显示地址内容dbaddress:byteddaddress:dworddqaddress:qwordrregis
- windbg:常用指令
键盘会跳舞
软件调试windbg常用指令
windbg调试参考文档1、viewing-and-editing-global-variables-in-windbgWinDBG常用调试命令加载符号.sympath//查看当前符号查找路径.sympathc:\symbols//将符号查找路径设为:c:\symbols.sympath+c:\symbols//将c:\symbols添加到符号查找路径集合中.reload//为所有已加载模块载入符
- 教你配置windows上的windbg,linux上的lldb,打入clr内部这一篇就够了
一线码农上海
一:背景1.讲故事前几天公众号里有位兄弟看了几篇文章之后,也准备用windbg试试看,结果这一配就花了好几天,(づ╥﹏╥)づ,我想也有很多跃跃欲试的朋友在配置的时候肯定会遇到这样和那样的问题,所以我觉得有必要整理一下,让大家少走弯路。二:一些基础概念1.在哪下载现在安装windbg越来越麻烦,还要安装Windows10SDK,很多人就栽在这里,其实大家可以直接在网上找一键打包的windbg6.0版
- .NET MES桌面程序卡死分析
softshow1026
.net
一:背景1.讲故事客户端程序卡死是什么原因导致的?dump也拿到了手,既然有了dump就开始正式分析吧。二:WinDbg分析1.什么导致的卡死客户端的程序卡死比较好找原因,入手点就是主线程,看下它此时正在做什么,可以用k命令。0:000>k#ChildEBPRetAddr00003cdf7c74c115centdll!NtWaitForSingleObject+0x1501003cdf7c756e
- 记一次 .NET某MES自动化桌面程序 卡死分析
一线码农
.netc#windbg
一:背景1.讲故事前些天有位朋友在微信上找到我,说他们的客户端程序卡死了,让我帮忙看下是什么原因导致的?dump也拿到了手,既然有了dump就开始正式分析吧。二:WinDbg分析1.什么导致的卡死客户端的程序卡死比较好找原因,入手点就是主线程,看下它此时正在做什么,可以用k命令。0:000>k#ChildEBPRetAddr00003cdf7c74c115centdll!NtWaitForSing
- 记一次 .NET某道闸收费系统 内存溢出分析
一线码农
.netc#windbg
一:背景1.讲故事前些天有位朋友找到我,说他的程序几天内存就要爆一次,不知道咋回事,找不出原因,让我帮忙看一下,这种问题分析dump是最简单粗暴了,拿到dump后接下来就是一顿分析。二:WinDbg分析1.程序为什么会暴程序既然会爆,可能是虚拟地址受限,也可能是系统内存不足,可以用!address-summary观察下。0:037>!address-summary---UsageSummary--
- HQL之投影查询
归来朝歌
HQLHibernate查询语句投影查询
在HQL查询中,常常面临这样一个场景,对于多表查询,是要将一个表的对象查出来还是要只需要每个表中的几个字段,最后放在一起显示?
针对上面的场景,如果需要将一个对象查出来:
HQL语句写“from 对象”即可
Session session = HibernateUtil.openSession();
- Spring整合redis
bylijinnan
redis
pom.xml
<dependencies>
<!-- Spring Data - Redis Library -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redi
- org.hibernate.NonUniqueResultException: query did not return a unique result: 2
0624chenhong
Hibernate
参考:http://blog.csdn.net/qingfeilee/article/details/7052736
org.hibernate.NonUniqueResultException: query did not return a unique result: 2
在项目中出现了org.hiber
- android动画效果
不懂事的小屁孩
android动画
前几天弄alertdialog和popupwindow的时候,用到了android的动画效果,今天专门研究了一下关于android的动画效果,列出来,方便以后使用。
Android 平台提供了两类动画。 一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、放缩和渐变)。
第二类就是 Frame动画,即顺序的播放事先做好的图像,与gif图片原理类似。
- js delete 删除机理以及它的内存泄露问题的解决方案
换个号韩国红果果
JavaScript
delete删除属性时只是解除了属性与对象的绑定,故当属性值为一个对象时,删除时会造成内存泄露 (其实还未删除)
举例:
var person={name:{firstname:'bob'}}
var p=person.name
delete person.name
p.firstname -->'bob'
// 依然可以访问p.firstname,存在内存泄露
- Oracle将零干预分析加入网络即服务计划
蓝儿唯美
oracle
由Oracle通信技术部门主导的演示项目并没有在本月较早前法国南斯举行的行业集团TM论坛大会中获得嘉奖。但是,Oracle通信官员解雇致力于打造一个支持零干预分配和编制功能的网络即服务(NaaS)平台,帮助企业以更灵活和更适合云的方式实现通信服务提供商(CSP)的连接产品。这个Oracle主导的项目属于TM Forum Live!活动上展示的Catalyst计划的19个项目之一。Catalyst计
- spring学习——springmvc(二)
a-john
springMVC
Spring MVC提供了非常方便的文件上传功能。
1,配置Spring支持文件上传:
DispatcherServlet本身并不知道如何处理multipart的表单数据,需要一个multipart解析器把POST请求的multipart数据中抽取出来,这样DispatcherServlet就能将其传递给我们的控制器了。为了在Spring中注册multipart解析器,需要声明一个实现了Mul
- POJ-2828-Buy Tickets
aijuans
ACM_POJ
POJ-2828-Buy Tickets
http://poj.org/problem?id=2828
线段树,逆序插入
#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>using namespace std;#define N 200010struct
- Java Ant build.xml详解
asia007
build.xml
1,什么是antant是构建工具2,什么是构建概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3,ant的好处跨平台 --因为ant是使用java实现的,所以它跨平台使用简单--与ant的兄弟make比起来语法清晰--同样是和make相比功能强大--ant能做的事情很多,可能你用了很久,你仍然不知道它能有
- android按钮监听器的四种技术
百合不是茶
androidxml配置监听器实现接口
android开发中经常会用到各种各样的监听器,android监听器的写法与java又有不同的地方;
1,activity中使用内部类实现接口 ,创建内部类实例 使用add方法 与java类似
创建监听器的实例
myLis lis = new myLis();
使用add方法给按钮添加监听器
- 软件架构师不等同于资深程序员
bijian1013
程序员架构师架构设计
本文的作者Armel Nene是ETAPIX Global公司的首席架构师,他居住在伦敦,他参与过的开源项目包括 Apache Lucene,,Apache Nutch, Liferay 和 Pentaho等。
如今很多的公司
- TeamForge Wiki Syntax & CollabNet User Information Center
sunjing
TeamForgeHow doAttachementAnchorWiki Syntax
the CollabNet user information center http://help.collab.net/
How do I create a new Wiki page?
A CollabNet TeamForge project can have any number of Wiki pages. All Wiki pages are linked, and
- 【Redis四】Redis数据类型
bit1129
redis
概述
Redis是一个高性能的数据结构服务器,称之为数据结构服务器的原因是,它提供了丰富的数据类型以满足不同的应用场景,本文对Redis的数据类型以及对这些类型可能的操作进行总结。
Redis常用的数据类型包括string、set、list、hash以及sorted set.Redis本身是K/V系统,这里的数据类型指的是value的类型,而不是key的类型,key的类型只有一种即string
- SSH2整合-附源码
白糖_
eclipsespringtomcatHibernateGoogle
今天用eclipse终于整合出了struts2+hibernate+spring框架。
我创建的是tomcat项目,需要有tomcat插件。导入项目以后,鼠标右键选择属性,然后再找到“tomcat”项,勾选一下“Is a tomcat project”即可。具体方法见源码里的jsp图片,sql也在源码里。
补充1:项目中部分jar包不是最新版的,可能导
- [转]开源项目代码的学习方法
braveCS
学习方法
转自:
http://blog.sina.com.cn/s/blog_693458530100lk5m.html
http://www.cnblogs.com/west-link/archive/2011/06/07/2074466.html
1)阅读features。以此来搞清楚该项目有哪些特性2)思考。想想如果自己来做有这些features的项目该如何构架3)下载并安装d
- 编程之美-子数组的最大和(二维)
bylijinnan
编程之美
package beautyOfCoding;
import java.util.Arrays;
import java.util.Random;
public class MaxSubArraySum2 {
/**
* 编程之美 子数组之和的最大值(二维)
*/
private static final int ROW = 5;
private stat
- 读书笔记-3
chengxuyuancsdn
jquery笔记resultMap配置ibatis一对多配置
1、resultMap配置
2、ibatis一对多配置
3、jquery笔记
1、resultMap配置
当<select resultMap="topic_data">
<resultMap id="topic_data">必须一一对应。
(1)<resultMap class="tblTopic&q
- [物理与天文]物理学新进展
comsci
如果我们必须获得某种地球上没有的矿石,才能够进行某些能量输出装置的设计和建造,而要获得这种矿石,又必须首先进行深空探测,而要进行深空探测,又必须获得这种能量输出装置,这个矛盾的循环,会导致地球联盟在与宇宙文明建立关系的时候,陷入困境
怎么办呢?
 
- Oracle 11g新特性:Automatic Diagnostic Repository
daizj
oracleADR
Oracle Database 11g的FDI(Fault Diagnosability Infrastructure)是自动化诊断方面的又一增强。
FDI的一个关键组件是自动诊断库(Automatic Diagnostic Repository-ADR)。
在oracle 11g中,alert文件的信息是以xml的文件格式存在的,另外提供了普通文本格式的alert文件。
这两份log文
- 简单排序:选择排序
dieslrae
选择排序
public void selectSort(int[] array){
int select;
for(int i=0;i<array.length;i++){
select = i;
for(int k=i+1;k<array.leng
- C语言学习六指针的经典程序,互换两个数字
dcj3sjt126com
c
示例程序,swap_1和swap_2都是错误的,推理从1开始推到2,2没完成,推到3就完成了
# include <stdio.h>
void swap_1(int, int);
void swap_2(int *, int *);
void swap_3(int *, int *);
int main(void)
{
int a = 3;
int b =
- php 5.4中php-fpm 的重启、终止操作命令
dcj3sjt126com
PHP
php 5.4中php-fpm 的重启、终止操作命令:
查看php运行目录命令:which php/usr/bin/php
查看php-fpm进程数:ps aux | grep -c php-fpm
查看运行内存/usr/bin/php -i|grep mem
重启php-fpm/etc/init.d/php-fpm restart
在phpinfo()输出内容可以看到php
- 线程同步工具类
shuizhaosi888
同步工具类
同步工具类包括信号量(Semaphore)、栅栏(barrier)、闭锁(CountDownLatch)
闭锁(CountDownLatch)
public class RunMain {
public long timeTasks(int nThreads, final Runnable task) throws InterruptedException {
fin
- bleeding edge是什么意思
haojinghua
DI
不止一次,看到很多讲技术的文章里面出现过这个词语。今天终于弄懂了——通过朋友给的浏览软件,上了wiki。
我再一次感到,没有辞典能像WiKi一样,给出这样体贴人心、一清二楚的解释了。为了表达我对WiKi的喜爱,只好在此一一中英对照,给大家上次课。
In computer science, bleeding edge is a term that
- c中实现utf8和gbk的互转
jimmee
ciconvutf8&gbk编码
#include <iconv.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
#include <sys/stat.h>
int code_c
- 大型分布式网站架构设计与实践
lilin530
应用服务器搜索引擎
1.大型网站软件系统的特点?
a.高并发,大流量。
b.高可用。
c.海量数据。
d.用户分布广泛,网络情况复杂。
e.安全环境恶劣。
f.需求快速变更,发布频繁。
g.渐进式发展。
2.大型网站架构演化发展历程?
a.初始阶段的网站架构。
应用程序,数据库,文件等所有的资源都在一台服务器上。
b.应用服务器和数据服务器分离。
c.使用缓存改善网站性能。
d.使用应用
- 在代码中获取Android theme中的attr属性值
OliveExcel
androidtheme
Android的Theme是由各种attr组合而成, 每个attr对应了这个属性的一个引用, 这个引用又可以是各种东西.
在某些情况下, 我们需要获取非自定义的主题下某个属性的内容 (比如拿到系统默认的配色colorAccent), 操作方式举例一则:
int defaultColor = 0xFF000000;
int[] attrsArray = { andorid.r.
- 基于Zookeeper的分布式共享锁
roadrunners
zookeeper分布式共享锁
首先,说说我们的场景,订单服务是做成集群的,当两个以上结点同时收到一个相同订单的创建指令,这时并发就产生了,系统就会重复创建订单。等等......场景。这时,分布式共享锁就闪亮登场了。
共享锁在同一个进程中是很容易实现的,但在跨进程或者在不同Server之间就不好实现了。Zookeeper就很容易实现。具体的实现原理官网和其它网站也有翻译,这里就不在赘述了。
官
- 两个容易被忽略的MySQL知识
tomcat_oracle
mysql
1、varchar(5)可以存储多少个汉字,多少个字母数字? 相信有好多人应该跟我一样,对这个已经很熟悉了,根据经验我们能很快的做出决定,比如说用varchar(200)去存储url等等,但是,即使你用了很多次也很熟悉了,也有可能对上面的问题做出错误的回答。 这个问题我查了好多资料,有的人说是可以存储5个字符,2.5个汉字(每个汉字占用两个字节的话),有的人说这个要区分版本,5.0
- zoj 3827 Information Entropy(水题)
阿尔萨斯
format
题目链接:zoj 3827 Information Entropy
题目大意:三种底,计算和。
解题思路:调用库函数就可以直接算了,不过要注意Pi = 0的时候,不过它题目里居然也讲了。。。limp→0+plogb(p)=0,因为p是logp的高阶。
#include <cstdio>
#include <cstring>
#include <cmath&