红橙Darren 红橙Darren
4年前
C进阶 - 内存四驱模型
一.内存四驱模型不知我们是否有读过《深入理解java虚拟机》这本书,强烈推荐读一下。在java中我们将运行时数据,分为五个区域分别是:程序计数器,java虚拟机栈,本地方法栈,java堆,方法区。在c/c中我们将运行时数据,分为四个区域分别是:栈区,堆区,数据区,代码区。我们详细来介绍下:1.栈区:由编译器自动分配释放,存放函数的
HCl4y HCl4y
4年前
XCTF when_did_you_born
使用file查看文件是多少位可以看出是Linux系统下的64位ELF文件用checksec检查文件保护有金丝雀(canary)还有堆的保护运行程序当输入数据过长时,显示程序段错误,直接崩溃了,说明是可能存在栈溢出的,但是存在canary保护,可能不是直接溢出IDA中汇编出伪C代码输入v5如果是1926直接退出,如果不是再用ge
Peter20 Peter20
4年前
MySQL(一)MySQL基础介绍
最近的学习内容是数据库相关的一些知识,主要以MySQL为主,参考书籍——《MySQL必知必会》MySQL学习及下载地址:https://dev.mysql.com/MySQL学习使用注意事项:1、必须访问一个已有的MySQL服务器,需要一个服务器账号(一个登录名和一个口令)2、MySQL运行在所有主要平台上,包括Windows、Linux、Solaris、M
Wesley13 Wesley13
4年前
Java中对于位运算的优化以及运用与思考
引言随着JDK的发展以及JIT的不断优化,我们很多时候都可以写读起来易读但是看上去性能不高的代码了,编译器会帮我们优化代码。之前大学里面学单片机的时候,由于内存以及处理器性能都极其有限(可能很多时候考虑内存的限制优先于处理器),所以很多时候,利用位运算来节约空间或者提高性能,那么这些优秀的思想,放到目前的Java中,是否还有必要这么做呢?我们逐一思
Wesley13 Wesley13
4年前
ARM与X86架构的对决
CISC(复杂指令集计算机)和RISC(精简指令集计算机)是当前CPU的两种架构。它们的区别在于不同的CPU设计理念和方法。早期的CPU全部是CISC架构,它的设计目的是 CISC要用最少的机器语言指令来完成所需的计算任务。RISC和CISC是设计制造微处理器的两种典型技术,虽然它们都是试图在体系结构、操作运行、软件硬件、编译时间和运行时间等诸多因素中做出
Wesley13 Wesley13
4年前
MySQL数据库(一)编译安装、安装后优化操作及超户忘记数据库密码的解决方法
MySQL的下载地址:http://www.dev.mysql.com/downloads准备工作:卸载rpm方式安装的mysqlserver、mysql      rpmqa|grepmysql若存在,用rpmemysqlservermysqlnodeps命令卸载安装ncursesdevel与cmake包
Stella981 Stella981
4年前
MEAN架构实战:基于MongoDB、Express、Angular、Node.js构建企业级应用
曾几何时,业界流行使用LAMP架构(Linux、Apache、MySQL和PHP)来快速开发中小网站。LAMP是开放源代码的,而且使用简单、价格廉价,因此LAMP这个组合成为了当时开发中小网站的首选,号称“平民英雄”。而今,随着Node.js的流行,这使得JavaScript终于能够在服务器端拥有了一席之地。JavaScript成为了从前端到后端再到数据库层
Stella981 Stella981
4年前
OpenCV开发笔记(七十):红胖子带你傻瓜式编译VS2017x64版本的openCV4
若该文为原创文章,未经允许不得转载,经允许后转载请注明原文地址本文章博客地址:https://blog.csdn.net/qq21497936/article/details/107837715(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fblog.csdn.net%2Fqq214
Wesley13 Wesley13
4年前
Java 中 final 内存语义
对于final域,编译器和处理器要遵守两个重排序规则。1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序。2)初次读一个包含final域的对象的引用,与随后初次读这个final域,这两个操作之间不能重排序。下面通过一些示例性的代码来分别说明这两个规则。 !(ht
Wesley13 Wesley13
4年前
Ubuntu12.04下建立快捷方式到侧栏或桌面
前段时间刚开始学习linux下的开发,各种不适应,各种错误,各种崩溃……不过也算是熬过来了,现在会在命令行下干很多东西了,文件/文件夹基本操作,软件卸载安装,ROR的程序生成,GIT的操作,Heroku的操作,都可以了,但是vim实在用不习惯,为了赶进度,就装了rubymine,但是,每次进rubymine都要cd然后启动rubymine.sh才行,还是建立