自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(103)
  • 资源 (4)
  • 收藏
  • 关注

原创 Java虚拟机学习笔记2—HotSpot虚拟机对象探秘

一. 对象的创建 1.1 创建过程: 1) 首先在常量池中查找类符号引用是否存在、并检查符号引用代表的类是否已被加载、解析和初始化过。不存在则执行类加载过程。 2)虚拟机为新生对象分配内存,内存大小在类加载完成便确定。 3)堆初始化的内存空间初始化为零值(不包括对象头) 4)对象信息设置,包括对象时哪个类的实例、怎样找类的元数据信息、对象哈希值、对象的GC分代年龄等信息。这些信息在对象的对象头之中。 5)执行<...

2022-01-08 22:32:22 571

原创 Java虚拟机学习笔记1-运行时数据区域

一. 程序计数器(Program Counter Register) 作用:当前线程执行的字节码的行号指示器。 1. 程序计数器帮助线程运行切换后能恢复到正确的执行位置,每个线程都有自己独立的程序计数器,各线程之间计数器互不影响、独立存储,属于“线程私有”的内存。 2. 执行Java方法时,记录的是正在执行的虚拟机字节码指令的地址;执行Native方法时,计数器值为空(Undefined) 3. 程序计数器是唯一一个Java虚拟机规范中未规定任何OutOfMe...

2022-01-08 02:30:01 664

原创 常见公钥密钥体系

基于大整数银子分解问题的公钥密码基于有限域乘法群上的离散对数问题的公钥密码基于椭圆曲线上的离散对数问题的公钥密码基于背包问题的公钥密码基于概率的平方剩余问题的公钥密码基于格的短向量问题的公钥密码基于余代数编码中的线性解码问题的公钥密码...

2021-09-17 23:15:04 209

转载 对加密的了解(DES/3DES/AES区别 )

DES1977年1月,美国政府颁布:采纳IBM公司设计的方案作为非机密数据的正式数据加密标准(DES Data Encryption Standard) 。目前在国内,随着三金工程尤其是金卡工程的启动,DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,如信用卡持卡人的PIN的加密传输,IC卡与POS间的双向认证、金融交易数...

2018-12-15 23:54:34 595

原创 Mac 系统安装与配置Redius

目录下载安装包编译安装启动Redis服务客户端连接redis-cli停止客户端下载安装包          从redis官网下载安装包, https://redis.io/download  选择稳定版本, 截止2018.10, 稳定版本为5.0                  编译安装    解压 tar  zxvf redis-5.1.3   ...

2018-12-14 00:35:25 573

原创 代理模式和装饰器模式的区别

代理模式和装饰器模式, 包装和实现都继承自同一接口,形式比较像,但是其实它们的用途是各不相同的。代理模式,隐藏了真实的处理者,装饰模式需要客户制定具体的处理者。使用代理模式,代理和真实对象之间的的关系通常在编译时就已经确定了,而装饰者能够在运行时递归地被构造。//代理的客户public class Client{ public static void main(S

2017-10-22 20:37:44 385

翻译 STL算法——accumulate

如果有一个算法可以让你做各种事, 那这个算法一定是 std:accumulate.        知道怎样使用它,以及怎样不使用它非常重要。        基本用法           Numeric 类型           第一件需要知道的事情就是std::accumulate 的所在位置: 它在头文件中,而不是像其他兄弟算法一样在头文件中。            正如

2017-10-18 00:25:20 1040

原创 Effective C++ 摘要(一)

1. 当你看到赋值符号“=”时,一定要小心, 因为赋值操作也可以调用copy构造函数:     Widget w1;     Widget w2 = w1;        //调用copy构造函数。     Widget w3, w4;     w3 = w4                //调用赋值操作符。     copy 构造函数和copy赋值函数的区别是, 如果一个新

2017-08-29 21:16:09 331

原创 fluent c++ blog

http://www.fluentcpp.com/

2017-08-25 00:17:59 873

原创 一句话说清 const pointer const data

const 语法虽然变化多端, 但并不是莫测高深, 如果关键字const 出现在星号左侧, 表示被指物是常量;如果出现在星号右侧, 表示指针自身是常量; 如果出现在星号两侧,表示被指物和指针都是常量。如果被指物是常量,有的人会把const写在类型之前, 有的人会写在类型之后, 星号之前, 这两种写法是等价的。  const char * T          char const * T

2017-08-14 17:25:16 1587

原创 explicit c++

c++ 中关键字 explicit 通过一个简单例子就可以class Stringer{ Stringer(int n); Stringer(const char* T);};     假如有上面的一个类, 其中有个参数为整型的构造器, n表示Stringer分配n个char长度的字符。下面如果有下面的语句:      Stringer str = 10

2017-07-31 23:15:00 422

原创 (一)数据库事务-事务的特性

在移动互联网时代,有事没事给朋友发个红包很正常吧。假设今天是情人节,你为了讨女朋友欢心,打算给她发个520元的小红包。你激动的发完红包,放佛看到了女朋友满脸的喜悦和对你的爱慕。但是过了好久,你女朋友好久没有任何回复,你期盼的“么么达”没有出现。心急的你看了下自己的手机钱包,发现520元确实已经从账户扣除。这时你会不会担心,这520元从自己的账户上扣除了,但是没有到达女朋友的账户。可能你的担心不

2017-07-22 18:36:17 259

转载 开放源码 C/C++ 单元测试工具,第 2 部分: 了解 CppUnit

本文是讨论开放源码单元测试工具的 系列文章 的第 2 篇,介绍非常受欢迎的 CppUnit — 最初由 Eric Gamma 和 Kent Beck 开发的 JUnit 测试框架的 C++ 版本。C++ 版本由 Michael Feathers 创建,它包含许多类,有助于进行白盒测试和创建自己的回归测试套件。本文介绍一些比较有用的 CppUnit 特性,比如 TestCase、TestSu

2017-07-12 00:01:15 427

转载 C++11 标准新特性:Defaulted 和 Deleted 函数

https://www.ibm.com/developerworks/cn/aix/library/1212_lufang_c11new/index.html本文将介绍 C++11 标准的两个新特性:defaulted 和 deleted 函数。对于 defaulted 函数,编译器会为其自动生成默认的函数定义体,从而获得更高的代码执行效率,也可免除程序员手动定义该函数的工作量。对

2017-07-11 23:59:57 300

转载 C++11 标准新特性: 右值引用与转移语义

https://www.ibm.com/developerworks/cn/aix/library/1307_lisl_c11/特性的目的右值引用 (Rvalue Referene) 是 C++ 新标准 (C++11, 11 代表 2011 年 ) 中引入的新特性 , 它实现了转移语义 (Move Sementics) 和精确传递 (Perfect Forwarding)。它的主要

2017-07-10 23:45:41 325

原创 linux 下 c++ 连接mysql

系统: ubuntu14数据库:mysql5.5步骤:g++/ mysql 数据库安装略1. 首先安装mysql对 C/C++的API, 可以通过下面命令安装:sudo apt-get install mysql-server libmysql++-dev如果在安装过程中报错, 可以根据命令提示, 通过sudo apt-get update 修复下。2. 将lib文件拷贝到

2016-09-24 23:02:21 3507

转载 Vim 神器NERDTree 插件简介

无意中看到实验室的朋友使用的vim竟然能在左边显示树形目录,感觉很方便,这样子文件夹有什么文件一目了然。她说是一个插件叫NERDTree,安装执行后的效果如下,不是你想要的效果就别安了。我的系统是Ubuntu12.04,版本不同可能 .vim 所在的目录不同。本节用到的压缩包已经上传到网站,如有需要,请自行下载。免费下载地址在 http://linux.linuxidc.com/

2016-09-17 23:08:59 441

转载 vim插件管理利器:pathogen

来源:http://www.cnblogs.com/taskiller/archive/2012/08/14/2637689.html一、pathogen简介通常情况下安装vim插件,通常是将所有的插件和相关的doc文件都安装在中一文件夹中,如将插件全部安装在/usr/share/vim/vim73/plugin/目录下,将帮助文档全部安装在/usr/share/vim/vim73

2016-09-17 23:06:22 384

转载 如何将 Vim 打造成一个成熟的 IDE

英文: xmodulo译文:LCTT - love_daisy_love链接:http://linux.cn/article-3314-1.html如果你稍微写过一点代码,就能知道“集成开发环境”(IDE)是多么的便利。不管是Java、C还是Python,当IDE会帮你检查语法、后台编译,或者自动导入你需要的库时,写代码就变得容易许多。另外,如果你工作在Li

2016-09-17 23:02:57 371

转载 你应该知道的 RPC 原理(好文,忍不住转到自己空间。)

本文作者: 伯乐在线 - 占利军 。未经作者许可,禁止转载!欢迎加入伯乐在线 专栏作者。在校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示。这些程序的特点是服务消费方和服务提供方是本地调用关系。而一旦踏入公司尤其是大型互联网公司就会发现,公司的系统都由成千上万大大小小的服务组成,各服务部署在不同的机器上,由不同的团队负责。这时就会遇到两个

2016-08-04 11:59:33 767

原创 Markdown 基本语法总结

标题Markdown总共有六级标题, 使用多个‘#“来表示标题级数,比如一级标题为“#”,二级标题为“##“。#引言##接口API###实例无序列表使用*、+、-作为无序列表的标记*早晨*中午有序列表使用数字加英文句号和空格表示1. vector的用法2. list的用法3. dequeue的用法表格使用---

2016-07-29 08:52:48 447

原创 虚函数系列(一)使用角度差异

纯虚函数在父类只定义接口,必须由子类实现,是一种运行时动态。包含纯虚函数的类为抽象类,不能通过new来创建对象。抽象类中包含三种函数:纯虚函数、虚函数、普通函数。#include 2 using namespace std; 3 4 class VirtualTest{ 5 public: 6 virtual void abstractFunc()=0

2016-07-26 09:08:16 256

原创 bug定位经验日志

【个人日志,通用性较小,如果理论性学习,可以跳过此篇文章】今天写了一个报表查询语句,结果开发站和测试站正确性不一致。测试站中查询结果有重复数据,开发站中数据结果是正确的,但是查询结果数据特别多,无法逐条核对,因此只能通过其他方法定位问题。刚开始以为自己sql语句写错了,但看了下其实查询sql很简单的,应该不会出现问题: SELECT XXXX,YYYY,....FROM `withh

2016-07-25 16:05:57 3628

原创 本周作业

研究内容:嵌套事务的回滚处理方案;研究成果:blog一篇时效:7.10之前

2016-07-08 11:24:02 348

转载 php将json格式的数据直接存入mysql数据库

直接使用php函数 json_encode ,数据存入mysql时会报错:Php代码  $imgs_str = json_encode($imgs_array);  $imgs_str = addslashes($imgs_str);  $update_query = "updatearticleset imageList = $imgs_str where

2016-06-30 12:25:53 16793

转载 MySQL索引和查询优化

对于任何DBMS,索引都是进行优化的最主要的因素。对于少量的数据,没有合适的索引影响不是很大,但是,当随着数据量的增加,性能会急剧下降。如果对多列进行索引(组合索引),列的顺序非常重要,MySQL仅能对索引最左边的前缀进行有效的查找。例如:假 设存在组合索引it1c1c2(c1,c2),查询语句select * from t1 where c1=1 and c2=2能够使用该索引。

2016-06-22 12:12:05 338

翻译 show profile 分析性能

SHOW PROFILE [type [, type] ... ] [FOR QUERY n] [LIMIT row_count [OFFSET offset]]type: ALL | BLOCK IO | CONTEXT SWITCHES | CPU | IPC | MEMORY | PAGE FAULTS | SOURCE | SWA

2016-06-22 11:56:12 1007

原创 boolalpha

boolalpha 把bool值显示为 true/false头文件#includeusing namespace std;示例#includeusing namespace std;int main(){ bool a=true; cout<<"a="<<a<<endl; cout <<"a=" << boolalpha << a

2016-05-18 11:23:37 408

原创 不同套接字结构示意图

2016-04-09 12:07:33 383

原创 网络编程POSIX规范要求数据类型

数据类型 说明来源int8_t 带符号8位整数uint8_t 无符号8位整数int16_t 带符号16位整数uint16_t 无符号16位整数int32_t 带符号32未整数uint32_t 无符号32位整数sa_family_t 套接字地址结构的协议簇 socklen_t 套接字地址结构的长度in_addr_t IPV4地址

2016-04-08 21:39:28 1071

原创 sed 基本使用

sed 命令的格式sed [-nefri] [action]-n 安静模式,只输出-f filename sed命令写在文件-i 直接修改原文件,而不是输出到终端-e 直接在命令行模式上进行sed命令编辑-r 支持延伸型正则表达式action 的格式为: 2-5c '参数'2-5表示行, 其中$表示最后一行c表示动作function,类似funcit

2016-04-07 21:52:19 299

原创 tail -f -F是个好东西

tail -f -F是个好东西, 动态检测日志。tail -f log.txttail -F log.txt

2016-04-02 18:32:33 480

转载 常用的文件和目录操作命令(转)

cdpwdmkdirrmdirlscprmmvcattacnl morelessheadtailtouch cd (变换目录)我们知道vbird这个使用者的家目录是/home/vbird/,而root家目录则是/root/,假设我以root身份在 Linux系统中,那么简单的说明一下这几个特殊的目录的意义是:

2016-04-02 17:56:55 823

原创 linux 命令行输入错乱

)

2016-03-27 21:43:08 2603

转载 LINUX的SOCKET 编程详解

Linux的SOCKET编程详解1. 网络中进程之间如何通信进 程通信的概念最初来源于单机系统。由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如UNIX BSD有:管道(pipe)、命名管道(named pipe)软中断信号(signal)UNIX system V有

2016-03-27 00:29:52 545 1

原创 extern "C"什么意思

缘由C语言不支持函数重载,编译之后的函数名依然是原函数名。在c++中,支持了函数重载,重载之后的函数名 为 原函数名+参数名。比如函数 bool max(int a, int b),编译之后,c中为 max,  而c++中函数名变成了  max_int_int。使用c++头文件中调用c语言代码c语言不支持 extern "C", 要让其他语言按c格式编译,必须在c++头文件中调用c

2016-03-17 22:19:11 3400

原创 c++基础要点整理(二)之——友元

友元的定义一般在c++中, 类都私有成员是不允许其他类访问的,但是c++中可以通过友元来访问类的私有成员。c++中, 可以把全局函数或者类定义为类的友元void Print(int& a);class FriendClassTest{          // 将全局函数申明为友元;         Friend void Print(int& a);         

2015-11-16 22:28:46 445

原创 c++基础要点整理(一)之——内部类

包含在一个类里面都类称为内部类,其定义形式为:       class A{ public: class InClass { void funcB(){} }; void funcA();};InClass 就是A的内部类;

2015-11-16 21:17:22 3658 3

原创 编译时报错“ undefined reference to”

报错写了一段小程序,报错“exception.cpp:(.text+0x28): undefined reference to `Sales_item::setPrice(double)“程序就算c++ prime中得测试程序:程序代码//*********Sales_Item.h#ifndef SALES_H#define SALES_H#include usin

2015-11-08 22:50:02 3694

转载 系统管理员必学的30个命令(加批注)

我们在本文中将介绍一些实用又常用的Linux或Unix命令,这些是Linux系统管理员们平常使用的命令。本文不是什么完整列表,而是简要地列出了需要时派得上用场的命令。不妨开始逐一介绍如何使用这些命令,附有示例。1.uptime命令在Linux中,uptime命令显示了你的系统运行了多久以及目前登录的用户有多少,另外还显示了间隔1分钟、5分钟和15分钟的负载平均值。 # uptime 0

2015-11-02 23:30:47 1250

eclipse 中午教程开发

本文从详细具体的介绍了在Eclipse上开发软件的过程。主要包括以下七个部分: eclipse 简介 eclipse平台 喜好设定 java程序开发 除错 重构 要诀和技巧

2011-11-02

病毒编写教程

这是一篇关于病毒基础知识的教程,作者Billy Belceb,西班牙人,在16 岁时写的这篇教程,曾创建了病毒组织DDT。翻译这篇教程的目的是想揭开病毒的神秘面纱,从编写病毒的角度来学习病毒,希望对大家有用。

2011-10-31

Android开发全教程

深入浅出Google+Android, 文档从软件的安装到具体的配置,再到开发举例,以及应用的发布,怎样网上盈利,一条龙式的详细讲解了Android开发。适合于初学者。对从未接触过移动开发的程序员帮助作用尤为明显。

2011-10-31

Android 开发教程

Android开发教程, 是pdf格式,总共有955kb,适合初学者。

2011-10-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除