- 编译链接过程
YancyKahn
编译链接编译链接GCC
编译链接过程C/C++程序从文本到可执行文件之间是一个复杂的过程.对于源代码(.c/.cpp)文件我们是不能直接运行的,必须经过一系列的处理才能转化为机器语言,再通过链接相应的文件转化为可执行程序.这个过程称为编译链接过程.本文篇幅较长,想直接看分析过程点击这里下面是从源代码到可执行文件的整个编译链接的过程:整个编译链接过程无非就分为编译过程和链接过程1.编译过程C文件编译过程又可分为:编译和汇编
- CPP编译与链接过程
阿斯顿的风格
c++开发语言ubuntulinuxbash编译汇编
1.概述在C++中,从源代码(.cpp文件)到最终可执行程序,需要经历以下四个主要阶段:预处理(Preprocessing)编译(Compilation)汇编(Assembly)链接(Linking)2.预处理预处理阶段是编译流程的第一步,主要处理以#开头的指令,包括宏定义、文件包含以及条件编译等。2.1文件包含(#include)工作原理:当预处理器遇到#include指令时,会在文件系统中查找
- 汇编 - 基础知识
雨过濯缨
汇编语言汇编
文章目录前言1.组成2.指令和数据3.存储器读写4.地址总线5.数据总线6.控制总线7.计算机组成7.1存储器芯片8.内存地址空间总结前言 汇编语言是直接在硬件之上工作的编程语言,首先了解硬件系统的结构,才能有效地应用汇编语言对其编程;值得注意的是,汇编指令是机器指令便于记忆的书写格式.此处的汇编语言版本为8086CPU的MASM宏汇编版本1.组成编译器:将汇编指令转换为机器指令的翻译程序编写编
- 『 C++ 』线程与原子操作:高效并发编程的利器
锐策
C++多线程c++开发语言
文章目录为什么使用C++线程一、`C++11`std::thread`类的简单介绍1.1函数名与功能1.2`std::thread`类的简单介绍1.3线程函数参数二、线程同步与锁2.1线程同步与锁2.2死锁演示三、原子操作3.1原子操作与线程安全3.2原子操作的优势3.3CAS操作与自旋锁3.4原子操作与普通操作的汇编对比四、共享资源的线程安全问题4.1`std::shared_ptr`的线程安全
- MDK(Keil μVision 5)的编译过程及文件类型全解
froxy
工具armstm32
MDK(KeilμVision5)的编译过程及文件类型全解一、编译过程MDK的编译过程主要分为预处理、编译、汇编、链接、生成可执行文件、格式转换六个阶段。以下是详细流程:预处理(Preprocessing)工具:armcc(ARMC/C++编译器)输入文件:.c(C源文件)、.h(头文件)输出文件:.i(预处理后的临时文件,默认不保存)作用:展开宏、处理条件编译指令(如#ifdef)、合并头文件到
- 【工具】gdb使用详细介绍
努力努力再努力~~
linux疑难问题排查实战gdblinux问题调试
linux问题排查实战专栏,分享了作为公司专家,在解决内存、性能、各类死机等疑难问题的排查经验,认真学习可以让你在日后工作中大放光彩。前言在工作中,无论是学习代码流程还是问题的定位,GDB都显得尤为重要,多掌握一些命令可以提升我们的效率和解决问题的能力;按照我的理解,对GDB的掌握程度可以分为三种人:基础命令,大家都知道相对高阶一点的,少数人了解,掌握之后可以提升调试解决问题的效率需要结合反汇编、
- 汇编常用指令速查
爱吃饼干的熊猫
汇编使用总结汇编dosnullbasiccommand测试
一、汇编速查MOVAA,BB将BB放到AA里CALL调用子程序(相当于BASIC的GOSUB)RET与RETF返回程序(相当于BASIC的RETURN)CMPXX,YY比较XX与YYJZ若相等则转移JNZ若不相等则转移JB若小于则转移JG若大于则转移JMP无条件转移J???(各种转移指令)LOOP循环直到CX为0INTXX类似CALL的中断涵数PUSH推入栈(STACK)ESP:PUSHAXPOP
- C语言历史
李鲶鱼
学习c++c语言
从程序语言的发展过程可以看到,以前的操作系统等系统软件主要是用汇编语言编写的。但由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都不是很好,为了提高可读性和可移植性,人们开始寻找一种语言,这种语言应该既具有高级语言的特性,又不失低级语言的优点。于是,C语言产生了。C语言是在由UNIX的研制者丹尼斯·里奇(DennisRitchie)和肯•汤普逊(KenThompson)于1970年研制出的BC
- 一段注释。
dont__cry
c语言
以下是添加了详细注释后的代码解析,方便你更好地理解这段ARM宏汇编代码的功能和逻辑:;********************(C)COPYRIGHT2011STMicroelectronics********************;*FileName:startup_stm32f10x_hd.s;*Author:MCDApplicationTeam;*Version:V3.5.0;*Date:
- riscv linux 汇编,RISC-V汇编快速入门
勤小墨
riscvlinux汇编
当今,强大的编译器将C或者更高级的语言编译成机器码后,其效能损失已经很小了,再加上芯片的性能越来越强,让汇编语言显得可有可无。但对于嵌入式来说至少在下面两种情况还需要汇编:1是启动代码,2是OS的上下文切换。另外在极端情况下使用汇编提高效率也是有必要的,例如芯片内核非常新编译器优化不够好可以在非常清楚CPU的微结构下进行指令集编码提高性能。因此学习一种新的体系结构,了解其汇编语言是非常有必要的。实
- 详解c++的编译过程,如何从源文件到可执行文件到
飞鼠_
C++c++开发语言
本节详细介绍c++的编译过程,c++从代码到可执行文件有四个阶段:预处理运行以#好开头的代码,引入头文件,做预处理定义常量等编译对代码进行优化,进行词法与语法的分析,生成与平台无关的中间表示,再将中间代码转换为目标平台的汇编代码。汇编将汇编代码转换为机器码(二进制格式)。链接将目标文件中的未定义符号(如printf)与库文件中的定义匹配。预处理我们可以使用g++-Emain.cpp-omain.i
- ARM:使用F103纯汇编点灯
一枝小雨
ARM内核arm开发汇编
0上节ARM体系结构解析:PC寄存器机制、三级流水线与C/汇编交互全揭秘-CSDN博客1纯汇编点灯主要是通过汇编代码实现下图逻辑:汇编代码实现:PRESERVE8THUMB;VevtorTableMappedtoAddress0atResetAREARESET,DATA,READONLYEXPORT__Vectors__VectorsDCD0DCDReset_Handler;ResetHandle
- 使用Windbg分析dump文件定位软件异常的方法与操作步骤
dvlinker
C++软件调试异常排查WindbgWindbg命令dump文件pdb符号文件函数调用堆栈
目录1、Windbg简介2、Windbg版本与安装3、Windbg常用命令4、静态分析dump文件的一般步骤4.1、查看异常类型4.2、使用.ecxr命令切换到发生异常的线程上下文,查看发生异常的那条汇编指令4.3、使用kn/kv/kp命令查看异常发生时的函数调用堆栈4.4、使用lm命令查看模块的时间戳,找到对应的pdb文件,设置到Windbg中5、实战问题分析实例说明6、使用Windbg详细分析
- Linux Binutils 基本使用教程
linux
简介GNUBinutils(二进制实用程序)是用于在Unix/Linux系统中操作二进制文件的工具集合。这些工具有助于汇编、链接、反汇编和检查二进制可执行文件、目标文件、库和汇编代码。安装Debian/Ubuntusudoaptupdate&&sudoaptinstallbinutilsRHEL/CentOSsudoyuminstallbinutilsmacOSbrewinstallbinutil
- Java学习总结归纳
eyes______
java学习开发语言
202402150625卢芊涵一、第一章:初始java与面向对象程序设计1.1java概述1.1.1计算机编程语言发展史:编程语言从早期的机器语言,逐步发展到汇编语言,再到高级语言。机器语言是二进制代码,直接由计算机硬件执行,但可读性和可维护性极差;汇编语言使用助记符代替二进制指令,一定程度上提高了可读性;高级语言如Java则更接近人类语言,提高了开发效率。例如,机器语言可能是一串010101,而
- Python 基础知识整理笔记
chuanauc
笔记
闹麻了,因为各种原因,现在需要重新回顾一下Python,话不多说,开始吧1.Python是解释型语言&&Python与C++代码执行过程的区别:(1)C++源码(Source):C++的源码文件是.cpp文件预处理(PreProcess):生成.i文件预处理的操作有处理#include、#define等宏指令,编译(Compile):将.cpp文件编译为.s文件,此时的.s文件是汇编文件,无法被C
- 51 单片机指令系统入门
二年级程序员
51单片机单片机嵌入式硬件
目录基本概念讲解一、机器指令二、汇编指令(一)汇编指令的一般格式(二)按字节数分类的指令三、高级指令总结基本概念讲解指令是计算机(或单片机)中CPU能够识别并执行的基本操作命令。指令系统是一台计算机(或单片机)能够执行的全部指令的集合。指令系统的强弱,决定了计算机智能的高低。对于51单片机而言,其指令系统涵盖了数据传送、算术运算、逻辑操作、控制转移、位操作等多种类型的指令。这些指令有机组合,赋予了
- 计算机组成原理(知识点+易错点,超详细)|第四章 指令系统
sailing_c
计算机组成原理计算机组成原理学习笔记
目录4.1指令系统4.1.1指令集体系结构4.1.2指令的基本格式4.1.3定长操作码指令格式4.1.4扩展操作码指令格式4.1.5指令的操作类型4.2指令的寻址方式4.2.1指令寻址和数据寻址4.2.2常见的数据寻址方式4.3程序的机器级代码表示4.3.1常用汇编指令介绍4.3.2选择语句的机器级表示4.3.3循环语句的机器级表示4.3.4过程调用的机器级表示4.4CISC和RISC的基本概念4
- 【ASMbits--常用算术运算指令】
中古传奇
ISAASM
ASMbits--常用算术运算指令1基本运算算术指令--最基础1.1加法和减法1.2移位操作1.3乘法2practice2.1编写invert(intn)2.2编写judge_odd(intn)2.3计算绝对值abs(intn)2.4add(intn1,intn2)函数2.4shift寄存器2.5sihftathright2.6shiftleft在ARMv7汇编中,代码片段:1:b1b//Done
- FASM源代码分析01
VOgai
全汇编操作系统Kolibri0.7.7基于MenuetOS使用fasm汇编编译器第2个光盘安装的,肯定不用下的第1个软盘镜像是我们需要的第3个是源代码第4个是APP开发包在其官网http://kolibrios.org/可以下到的文件有kolibri_0.7.7.0_img_en.7z------------软盘镜像文件kolibri_0.7.7.0_sdk.7z-----------------
- ARMv7 汇编在线调试工具
qiuzen
nodenpmlinux前端
推荐一个可以调试armv7汇编的在线IDE:CPUlatorARMv7SystemSimulator(01xz.net)https://cpulator.01xz.net/?sys=arm在editor中填入:.text.global_start_start:ldrr1,=srcldrr0,=dstldrr3,=lenmove:cmpr3,#1bccendldrbr2,[r1]strbr2,[r0
- Assembly语言的物联网协议
易静妍
包罗万象golang开发语言后端
以Assembly语言的物联网协议引言随着互联网技术的不断发展,物联网(IoT)作为一个新兴的热门领域,正逐渐改变着我们的生活、工作与交流方式。物联网设备的种类繁多,包括智能家居、工业控制、医疗监测等,而这些设备之间的通信则依赖于各种网络协议。而在这些协议的背后,底层的实现往往需要使用低级的编程语言,如Assembly(汇编语言)进行优化。本文将从物联网协议的基本概念入手,探讨汇编语言在这些协议实
- 黑客攻防从入门到精通(第一篇:认识黑客)
晓生夜梦
#黑客攻防书籍学习笔记信息安全
1.黑客:白帽,灰帽,黑帽(骇客)2.黑客术语:肉鸡(可以随意被黑客控制的计算机),木马(伪装成正常程序),网页木马(有人访问时,利用对方系统或者浏览器的漏洞自动将配置好木马的服务下载到访问者的计算机上自动执行),挂马,后门(重新控制计算机)IPC$,shell,webshell,溢出,注入,注入点免杀(用一些技术修改程序,让它逃过杀毒软件查杀),加壳花指令(让汇编语言进行一些跳转——就比如杀毒软
- RISC-V与ARM
IT_Beijing_BIT
ARM系列小知识嵌入式
RISC-V与ARMRISC-V架构RISC-V架构特点ARM架构RISC-V与ARM指令集架构(ISA)基本上是汇编级程序员,或编译器编写者可见的机器部分。ISA是软件与硬件相遇的地方。ISA定义了机器及其微架构本身可以理解的命令/指令,它还定义了如何存储、访问和实施指令。我们使用计算机可以理解的语言向计算机的硬件发出指令。计算机语言由称为指令的词组成,词汇表称为指令集。指令集告诉我们每条指令的
- ARM SVC指令
小米人er
我的博客arm开发
在ARM汇编中,SVC(SupervisorCall)指令用于从用户模式切换到特权模式(如Supervisor模式),以便执行操作系统内核提供的服务。它通常用于系统调用。具体作用触发异常:执行SVC指令时,处理器会进入Supervisor模式,并跳转到异常向量表中的SVC异常处理程序。传递参数:SVC指令后的立即数可作为参数传递给异常处理程序,帮助识别具体的系统调用。语法SVC#是一个24位的立即
- 【ARM系列】ARM常用汇编指令
阿兹尔猫
ARM系列arm开发汇编
本文目录前言数据传送指令MOV算数运算指令ADD(不带进位加法指令)SUB(不带进位减法指令)MUL(32位乘法指令)比较和跳转指令CMP(直接比较指令)BEQBNQBBL加载-存储指令LDRSTR移位指令LSLLSR系统寄存器访问指令MSRMRS逻辑运算指令AND(逻辑与指令)ORR(逻辑或指令)BIC(位清除指令)UBFXBFI前言在调试芯片启动代码或者分析ARMcore运行流程的过程中,尝尝
- RISC-V汇编学习(二)—— 汇编语法
禾仔仔
RISC-Vrisc-v汇编
在具体汇编指令和汇编实战之前,还是有必要对RISC-V汇编进行下介绍,我一般称之为RISC-V汇编的“语法”,可能“语法”较少,也相对比较简单的原因,大部分的博主都是一笔带过,但本着循序渐进的原则,还是简单概述下,以便加深认识。RISCV汇编学习系列:RISC-V汇编学习(一)——基础认识RISC-V汇编学习(二)——汇编语法RISC-V汇编学习(三)——RV指令集RISC-V汇编学习(四)——R
- 8051汇编--条件转移指令
wperseverance
51单片机51单片机
在8051汇编语言中,控制转移指令用于改变程序的执行顺序,主要包括无条件转移、条件转移和调用/返回指令。以下是对这些指令的总结:一、无条件转移指令LJMP(LongJump)•功能:长转移,可以跳转到同一程序空间中的任何地址。•指令格式:LJMPaddr16,其中addr16是16位的目标地址。•特点:跳转范围大,适用于跨段跳转。•使用场景:当需要跳转到较远的地址时使用。SJMP(ShortJum
- C语言编译与链接详解
夜晟洛
c语言开发语言
C语言是一种强大且广泛使用的编程语言。理解其编译和链接过程对于编写高效和可靠的代码至关重要。本文将详细探讨C语言的编译和链接过程,帮助你更好地理解代码从源文件到可执行文件的转变过程。目录一、编译过程概述1.预处理2.编译3.汇编4.链接二、编译与链接示例三、常见问题与最佳实践1.头文件保护2.模块化编程3.静态库和动态库静态库动态库四、总结一、编译过程概述编译过程将C语言源代码转换为机器码,可以分
- Python二级考试试题汇总(史上最全)
m0_67265464
面试学习路线阿里巴巴前端intellij-idea经验分享
Python二级考试试题(一)以下关于程序设计语言的描述,错误的选项是:APython语言是一种脚本编程语言B汇编语言是直接操作计算机硬件的编程语言C程序设计语言经历了机器语言、汇编语言、脚本语言三个阶段D编译和解释的区别是一次性翻译程序还是每次执行时都要翻译程序正确答案:C表达式1001==0x3e7的结果是:AfalseBFalseCtrueDTrue正确答案:B以下选项,不是Python保留
- Java开发中,spring mvc 的线程怎么调用?
小麦麦子
springmvc
今天逛知乎,看到最近很多人都在问spring mvc 的线程http://www.maiziedu.com/course/java/ 的启动问题,觉得挺有意思的,那哥们儿问的也听仔细,下面的回答也很详尽,分享出来,希望遇对遇到类似问题的Java开发程序猿有所帮助。
问题:
在用spring mvc架构的网站上,设一线程在虚拟机启动时运行,线程里有一全局
- maven依赖范围
bitcarter
maven
1.test 测试的时候才会依赖,编译和打包不依赖,如junit不被打包
2.compile 只有编译和打包时才会依赖
3.provided 编译和测试的时候依赖,打包不依赖,如:tomcat的一些公用jar包
4.runtime 运行时依赖,编译不依赖
5.默认compile
依赖范围compile是支持传递的,test不支持传递
1.传递的意思是项目A,引用
- Jaxb org.xml.sax.saxparseexception : premature end of file
darrenzhu
xmlprematureJAXB
如果在使用JAXB把xml文件unmarshal成vo(XSD自动生成的vo)时碰到如下错误:
org.xml.sax.saxparseexception : premature end of file
很有可能时你直接读取文件为inputstream,然后将inputstream作为构建unmarshal需要的source参数。InputSource inputSource = new In
- CSS Specificity
周凡杨
html权重Specificitycss
有时候对于页面元素设置了样式,可为什么页面的显示没有匹配上呢? because specificity
CSS 的选择符是有权重的,当不同的选择符的样式设置有冲突时,浏览器会采用权重高的选择符设置的样式。
规则:
HTML标签的权重是1
Class 的权重是10
Id 的权重是100
- java与servlet
g21121
servlet
servlet 搞java web开发的人一定不会陌生,而且大家还会时常用到它。
下面是java官方网站上对servlet的介绍: java官网对于servlet的解释 写道
Java Servlet Technology Overview Servlets are the Java platform technology of choice for extending and enha
- eclipse中安装maven插件
510888780
eclipsemaven
1.首先去官网下载 Maven:
http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.2.3-bin.tar.gz
下载完成之后将其解压,
我将解压后的文件夹:apache-maven-3.2.3,
并将它放在 D:\tools目录下,
即 maven 最终的路径是:D:\tools\apache-mave
- jpa@OneToOne关联关系
布衣凌宇
jpa
Nruser里的pruserid关联到Pruser的主键id,实现对一个表的增删改,另一个表的数据随之增删改。
Nruser实体类
//*****************************************************************
@Entity
@Table(name="nruser")
@DynamicInsert @Dynam
- 我的spring学习笔记11-Spring中关于声明式事务的配置
aijuans
spring事务配置
这两天学到事务管理这一块,结合到之前的terasoluna框架,觉得书本上讲的还是简单阿。我就把我从书本上学到的再结合实际的项目以及网上看到的一些内容,对声明式事务管理做个整理吧。我看得Spring in Action第二版中只提到了用TransactionProxyFactoryBean和<tx:advice/>,定义注释驱动这三种,我承认后两种的内容很好,很强大。但是实际的项目当中
- java 动态代理简单实现
antlove
javahandlerproxydynamicservice
dynamicproxy.service.HelloService
package dynamicproxy.service;
public interface HelloService {
public void sayHello();
}
dynamicproxy.service.impl.HelloServiceImpl
package dynamicp
- JDBC连接数据库
百合不是茶
JDBC编程JAVA操作oracle数据库
如果我们要想连接oracle公司的数据库,就要首先下载oralce公司的驱动程序,将这个驱动程序的jar包导入到我们工程中;
JDBC链接数据库的代码和固定写法;
1,加载oracle数据库的驱动;
&nb
- 单例模式中的多线程分析
bijian1013
javathread多线程java多线程
谈到单例模式,我们立马会想到饿汉式和懒汉式加载,所谓饿汉式就是在创建类时就创建好了实例,懒汉式在获取实例时才去创建实例,即延迟加载。
饿汉式:
package com.bijian.study;
public class Singleton {
private Singleton() {
}
// 注意这是private 只供内部调用
private static
- javascript读取和修改原型特别需要注意原型的读写不具有对等性
bijian1013
JavaScriptprototype
对于从原型对象继承而来的成员,其读和写具有内在的不对等性。比如有一个对象A,假设它的原型对象是B,B的原型对象是null。如果我们需要读取A对象的name属性值,那么JS会优先在A中查找,如果找到了name属性那么就返回;如果A中没有name属性,那么就到原型B中查找name,如果找到了就返回;如果原型B中也没有
- 【持久化框架MyBatis3六】MyBatis3集成第三方DataSource
bit1129
dataSource
MyBatis内置了数据源的支持,如:
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<data
- 我程序中用到的urldecode和base64decode,MD5
bitcarter
cMD5base64decodeurldecode
这里是base64decode和urldecode,Md5在附件中。因为我是在后台所以需要解码:
string Base64Decode(const char* Data,int DataByte,int& OutByte)
{
//解码表
const char DecodeTable[] =
{
0, 0, 0, 0, 0, 0
- 腾讯资深运维专家周小军:QQ与微信架构的惊天秘密
ronin47
社交领域一直是互联网创业的大热门,从PC到移动端,从OICQ、MSN到QQ。到了移动互联网时代,社交领域应用开始彻底爆发,直奔黄金期。腾讯在过去几年里,社交平台更是火到爆,QQ和微信坐拥几亿的粉丝,QQ空间和朋友圈各种刷屏,写心得,晒照片,秀视频,那么谁来为企鹅保驾护航呢?支撑QQ和微信海量数据背后的架构又有哪些惊天内幕呢?本期大讲堂的内容来自今年2月份ChinaUnix对腾讯社交网络运营服务中心
- java-69-旋转数组的最小元素。把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素
bylijinnan
java
public class MinOfShiftedArray {
/**
* Q69 旋转数组的最小元素
* 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。
* 例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1。
*/
publ
- 看博客,应该是有方向的
Cb123456
反省看博客
看博客,应该是有方向的:
我现在就复习以前的,在补补以前不会的,现在还不会的,同时完善完善项目,也看看别人的博客.
我刚突然想到的:
1.应该看计算机组成原理,数据结构,一些算法,还有关于android,java的。
2.对于我,也快大四了,看一些职业规划的,以及一些学习的经验,看看别人的工作总结的.
为什么要写
- [开源与商业]做开源项目的人生活上一定要朴素,尽量减少对官方和商业体系的依赖
comsci
开源项目
为什么这样说呢? 因为科学和技术的发展有时候需要一个平缓和长期的积累过程,但是行政和商业体系本身充满各种不稳定性和不确定性,如果你希望长期从事某个科研项目,但是却又必须依赖于某种行政和商业体系,那其中的过程必定充满各种风险。。。
所以,为避免这种不确定性风险,我
- 一个 sql优化 ([精华] 一个查询优化的分析调整全过程!很值得一看 )
cwqcwqmax9
sql
见 http://www.itpub.net/forum.php?mod=viewthread&tid=239011
Web翻页优化实例
提交时间: 2004-6-18 15:37:49 回复 发消息
环境:
Linux ve
- Hibernat and Ibatis
dashuaifu
Hibernateibatis
Hibernate VS iBATIS 简介 Hibernate 是当前最流行的O/R mapping框架,当前版本是3.05。它出身于sf.net,现在已经成为Jboss的一部分了 iBATIS 是另外一种优秀的O/R mapping框架,当前版本是2.0。目前属于apache的一个子项目了。 相对Hibernate“O/R”而言,iBATIS 是一种“Sql Mappi
- 备份MYSQL脚本
dcj3sjt126com
mysql
#!/bin/sh
# this shell to backup mysql
#
[email protected] (QQ:1413161683 DuChengJiu)
_dbDir=/var/lib/mysql/
_today=`date +%w`
_bakDir=/usr/backup/$_today
[ ! -d $_bakDir ] && mkdir -p
- iOS第三方开源库的吐槽和备忘
dcj3sjt126com
ios
转自
ibireme的博客 做iOS开发总会接触到一些第三方库,这里整理一下,做一些吐槽。 目前比较活跃的社区仍旧是Github,除此以外也有一些不错的库散落在Google Code、SourceForge等地方。由于Github社区太过主流,这里主要介绍一下Github里面流行的iOS库。 首先整理了一份
Github上排名靠
- html wlwmanifest.xml
eoems
htmlxml
所谓优化wp_head()就是把从wp_head中移除不需要元素,同时也可以加快速度。
步骤:
加入到function.php
remove_action('wp_head', 'wp_generator');
//wp-generator移除wordpress的版本号,本身blog的版本号没什么意义,但是如果让恶意玩家看到,可能会用官网公布的漏洞攻击blog
remov
- 浅谈Java定时器发展
hacksin
java并发timer定时器
java在jdk1.3中推出了定时器类Timer,而后在jdk1.5后由Dou Lea从新开发出了支持多线程的ScheduleThreadPoolExecutor,从后者的表现来看,可以考虑完全替代Timer了。
Timer与ScheduleThreadPoolExecutor对比:
1.
Timer始于jdk1.3,其原理是利用一个TimerTask数组当作队列
- 移动端页面侧边导航滑入效果
ini
jqueryWebhtml5cssjavascirpt
效果体验:http://hovertree.com/texiao/mobile/2.htm可以使用移动设备浏览器查看效果。效果使用到jquery-2.1.4.min.js,该版本的jQuery库是用于支持HTML5的浏览器上,不再兼容IE8以前的浏览器,现在移动端浏览器一般都支持HTML5,所以使用该jQuery没问题。HTML文件代码:
<!DOCTYPE html>
<h
- AspectJ+Javasist记录日志
kane_xie
aspectjjavasist
在项目中碰到这样一个需求,对一个服务类的每一个方法,在方法开始和结束的时候分别记录一条日志,内容包括方法名,参数名+参数值以及方法执行的时间。
@Override
public String get(String key) {
// long start = System.currentTimeMillis();
// System.out.println("Be
- redis学习笔记
MJC410621
redisNoSQL
1)nosql数据库主要由以下特点:非关系型的、分布式的、开源的、水平可扩展的。
1,处理超大量的数据
2,运行在便宜的PC服务器集群上,
3,击碎了性能瓶颈。
1)对数据高并发读写。
2)对海量数据的高效率存储和访问。
3)对数据的高扩展性和高可用性。
redis支持的类型:
Sring 类型
set name lijie
get name lijie
set na
- 使用redis实现分布式锁
qifeifei
在多节点的系统中,如何实现分布式锁机制,其中用redis来实现是很好的方法之一,我们先来看一下jedis包中,有个类名BinaryJedis,它有个方法如下:
public Long setnx(final byte[] key, final byte[] value) {
checkIsInMulti();
client.setnx(key, value);
ret
- BI并非万能,中层业务管理报表要另辟蹊径
张老师的菜
大数据BI商业智能信息化
BI是商业智能的缩写,是可以帮助企业做出明智的业务经营决策的工具,其数据来源于各个业务系统,如ERP、CRM、SCM、进销存、HER、OA等。
BI系统不同于传统的管理信息系统,他号称是一个整体应用的解决方案,是融入管理思想的强大系统:有着系统整体的设计思想,支持对所有
- 安装rvm后出现rvm not a function 或者ruby -v后提示没安装ruby的问题
wudixiaotie
function
1.在~/.bashrc最后加入
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
2.重新启动terminal输入:
rvm use ruby-2.2.1 --default
把当前安装的ruby版本设为默