自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学海无涯

Stay hungry, stay foolish ! Direction is more important than perspiration.

  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java并发编程实战3-可见性与volatile关键字

1. 缓存一致性问题在计算机中,每条指令都是在CPU执行的,而CPU又不具备存储数据的功能,因此数据都是存储在主存(即内存)和外存(硬盘)中。但是,主存中数据的存取速度高于外存中数据的存取速度(这也就是为什么内存条的价格会高),于是计算机就将需要的数据先读取到主存中,计算机运算完成后再将数据写入到外存中。但是,CPU的计算能力太强了,CPU从主存中读取写入数据的速度还是太慢了,严重影响了计算机的性能

2017-05-26 14:35:00 531

原创 Java并发编程实战2-线程安全

1. 定义一个类是线程安全的,是指在被多个线程访问时,类可以持续进行正确的行为。2. WHY我们想要的是线程安全的程序,为什么在线程安全的开始讲线程安全的类呢?编写线程安全的代码,本质上就是管理对状态的访问,而且通常是共享的、可变的状态。我们讨论的的线程安全性,看起来好像是关于代码的,但是我们真正要做的,是在不可控制的并发访问中保护数据。当多个线程访问一个类时,如果不用考虑这些线程在运行时环境下的调

2017-05-24 13:59:08 489

原创 Java内存模型

1.内存模型Java内存模型,往往是指Java程序在运行时内存的模型。Java代码是运行在Java虚拟机之上,由Java虚拟机通过解释执行(解释器)或编译执行(编译器)来完成,故Java内存模型,也是指Java虚拟机的运行时内存模型。(1)线程私有区程序计数器:记录当前线程所执行的字节码的行号Java虚拟机栈:方法执行的内存区(每个方法执行时会在虚拟机栈中创建一个栈帧;每个方法从调用至执行完成的

2017-05-24 13:58:08 358

原创 Eclipse通过maven构建SpringMVC项目

使用Eclipse新建SpringMVC项目的文章不少,按照文章一步一步操作,总会发现有不一样的地方,因此决定详细记录一次自己在eclipse中通过maven构建SpringMVC项目的过程。一、前提条件jdk的安装与配置eclipsetomcat下载与在eclipse中的配置maven的下载与在eclipse中的配置上面4个条件很简单,而且网上的配置教程很多且大同小异不容易引起歧义,这里

2017-03-17 16:33:09 667

原创 哈希表(hash table)的基本知识

1、哈希表的定义哈希表又叫散列表,英文全称为hash table,是将关键字(key)映射到一个固定大小的数组的数据结构。它主要是通过散列函数(hash function)实现key->value的映射,并将key存放到适当的单元中。哈希表可以实现O(1)时间内的插入、删除、查找,是一种非常有用的数据结构。2、散列函数(hash function)理论上,散列函数应该运算简

2015-06-11 08:19:17 1140

原创 LeetCode:Climbing Stairs解法

题目:         You are climbing a stair case. It takesn steps to reach to the top.         Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?代码:

2015-05-15 16:01:04 549

原创 推荐系统挖掘长尾了吗?

很方便的将字符串类型抓换成数

2014-11-17 12:41:25 3756

转载 C++中string类的常用函数

a) =,assign()     //赋以新值b) swap()     //交换两个字符串的内容c) +=,append(),push_back() //在尾部添加字符d) insert() //插入字符e) erase() //删除字符f) clear() //删除全部字符g) replace() //替换字符h) + //串联字符串i) ==,!=,,>=,

2014-08-06 15:48:06 558

原创 Python字符串与数值转换

Python可以很方便的将字符串

2014-08-05 14:41:06 19918 1

原创 Python获取网页状态码

在网页爬取的时候,有时候需要判断下要爬取网页的网页HTTP状态码,然后再进行相关的工作。1.网页HTTP状态码       HTTP状态码表示HTTP协议所返回的响应状态。具体参考:http://baike.baidu.com/view/1790469.htm?fr=aladdin       HTTP状态码有5种,所有状态码的第一个数字代表了响应的5种状态之一:(1)1XX;(2)2

2014-08-05 09:41:40 19914

转载 学习编程之前你应该了解的5件事

1.组织性我希望我已经意思到了应该有一个有组织性的学习编程的方法,并且知道学习编程并不是孤立的去学,而是要在技术上构建技术。我不应该在学习web的基础技术——HTML/CSS之前就去学习更复杂的语言,比如Python.你应该知道像Codeacademy这样的网站,它以一种结构性、富有乐趣的方式来组织编程学习。你应该知道Bentobox这类东西来为你提供一个有组织的编程学习计划。

2014-08-05 08:29:44 1124

原创 MySQL学习笔记

MySQL学习笔记

2014-08-04 09:18:01 785

转载 当爬虫被拒绝时(Access Denied)

由于要准备测试数据,不得不大量爬取某个网站的内容。为了防止被封,特意将爬虫设计为单线程同步的爬虫。结果在爬了大约3万个页面的时候,对方发回Access Denied。等一段时间后再启动爬虫,结果还是Access Denied。这时才明白这样的想法太天真了,当初就应该找其它方法来避免才对。而本文则记述了这些其它方法。

2014-08-03 10:45:39 2558

原创 线性表的操作

线性表的初始化、查找、插入、删除操作的C语言版

2014-07-16 16:38:27 664

转载 自学编程的技术大牛是如何进谷歌的

即将于下个月上映的电影《The Internship》吸引了不少人的眼球,其中最重要的原因就是在这个落魄大叔们在Google奋斗的励志故事中,观众们可以近距离接触Google的企业文化,而“为Google工作”也是无数IT从业者的梦想之一。不过实际上,故事不仅仅发生在电影当中——David Byttow曾是Google+中某些项目的技术leader,而在此之前他并没有获得过大学学位,最近他就写了一

2014-06-24 09:10:12 1394

原创 插入排序

插入排序的基本思想:每一步将一个待排序元素按其关键字值得大小插入到已排序的序列的适当位置上,直到待排序元素插入完为止。插入排序的思想很简单,但是却有几个小地方容易被忽略,从而在“阴沟里翻船”。先上个教材里的直接插入排序的程序:void InsertionSort(int *a,int n){ //直接插入排序算法,结果为升序 //参数说明:a为数组名; //

2014-03-18 16:09:27 768

翻译 Bipartite graph/network学习

Bipartite graph/network翻译过来就是:二分图。维基百科中对二分图的介绍为:二分图是一类图(G,E),其中G是顶点的集合,E为边的集合,并且G可以分成两个不相交的集合U和V,E中的任意一条边的一个顶点属于集合U,另一顶点属于集合V。一个简单的形象表示如下图:因此,二分图的表示为:G=(U,V,E)。如果|U|=|V|,即集合U和集合V的元素个数相等,该二分图

2014-02-21 15:49:30 9017 2

SPSS实用教程

SPSS使用教程,感觉还不错,推荐给大家!

2013-03-02

空空如也

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

TA关注的人

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