自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 博客搬家通知

由于家里网络上不去CSDN,打算搬家到博客园

2016-12-10 14:00:03 210

原创 Linux Shell脚本编写——构建基本脚本(一)

在创建shell脚本文件,必须在文件的第一行指定要使用的shell,其格式为:#!/bin/bash创建、执行sh脚本代码1-1root@lejian:/data# cat demo1 #/bin/bashdatewhoroot@lejian:/data# ls -ltotal 4-rw-r--r-- 1 root root 21 Dec  1 13:5

2016-12-02 09:25:21 523 1

原创 Java多线程(一)

进程和线程进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。如下图,eclipse.exe是一个进程、谷歌浏览器是一个进程,QQ也是一个进程,进程是受操作系统管理的基本运行单元。线程可以理解成是在进程中独立运行的子任务,比如在使用谷歌浏览器时,一边浏览网站,一边用浏览器下载文件同时还一边用浏览器播

2016-12-01 09:23:50 305

原创 Java多线程(二)

synchronized同步方法多线程中经常需要和“线程安全”与“非线程安全”打交道,“非线程安全”会在多个线程对同一个对象中的实例变量进行并发的读写,产生的后果就是可能会出现“脏读”,也就是当一个线程对一个实例变量经过一系列计算后得出一个结果,正要使用时线程暂停,另一个线程同样对该变量进行一系列计算后得出另一个不同的结果,最后,前一个线程只能取到错误的数据。“线程安全”就是以获得的实例变

2016-11-30 05:20:52 346

原创 Java多线程(三)

等待/通知机制思考一个问题,在一家餐馆,有一位厨师和若干位服务员,厨师不断做菜,服务员不断询问厨师目前是否有菜,如果有菜则取走菜,没有的话就等待厨师做菜,厨师类和服务员类都要用到while(true)循环,然而循环检查厨师是否出菜,太过浪费CPU资源,可以使用多线程的通知/等待机制,当服务员得知厨师没有出菜时,挂起自己的线程,不再循环得知厨师是否出菜,而当厨师出菜后,随机唤醒一个服务员线程来取菜

2016-11-27 09:00:35 309

原创 Java多线程(四)

java多线程中,可以使用synchronized关键字来实现线程之间的同步互斥,而ReentrantLock也能达到同样的效果,并且比synchronized更加的灵活

2016-11-24 09:52:47 431

原创 Java多线程(五)

定时器Timer使用JDK库中Timer类主要负责计划任务的功能,由Timer安排为一次执行或重复执行的任务。

2016-11-19 16:39:56 207

原创 Java多线程(六)

线程的状态NEW至(至今尚未启动的线程)RUNNABLE(JVM正在执行的线程)BLOCKED(受阻塞并等待某个监视器锁的线程)WAITING(等待唤醒的线程)TIMED_WAITING(线程等待状态,等待CPU时间)TERMINATED(已退出的线程)

2016-11-17 13:34:33 261

原创 Redis进阶

事物Redis中的事物是一组命令的集合。事物同命令一样都是Redis的执行最小单元,一个事物的命令要么都执行,要么都不执行。事物的原理是先将属于一个事物的命令发送给Redis,然后Redis依次执行这些命令

2016-11-12 20:27:04 474

原创 Redis入门(五)有序集合Sorted SetSet

有序集合Sorted Set在集合类型的基础上每个有序集合类型为集合中的每个元素都关联一个分数,使得集合除了插入、删除、判断是否存在等操作,还支持获得分数最高或最低的前N个元素,虽然集合中每个元素都是不同的,但分数可以相同有序集合和列表的相似处:二者都是有序的二者都可以获取某一范围内的元素有序集合和列表的不同点:列表是通过链表实现的,获取靠近两端的数据极快,

2016-11-12 15:55:18 308

原创 Redis入门(四)散列Hash

散列HashRedis的散列类型的键值也是一种字典结构,其存储了字段(field)和字段值的映射,但字段值只能是字符串,不支持其他数据类型,一个散列类型键可以包含至多2^32 -1个字段hset 在散列里面关联起给定的键值对hget 获取指定散列键的值hgetall 获取散列包含的所有键值对hdel 如果给定键存在于散列里面,那么移出这个键127.0.0

2016-11-12 15:45:26 313

原创 Redis入门(三)集合Set

集合Setsadd 将给定元素添加到集合smembers 返回集合包含的所有元素sismember 检查给定元素是否存在于集合中srem 如果给定的元素存在于集合中,那么移出这个元素127.0.0.1:6379> sadd set-key item(integer) 1127.0.0.1:6379> sadd set-key item2(integer) 1

2016-11-12 15:41:36 223

原创 Redis入门(二)列表List

列表List列表类型(list)可以存储一个有序的字符串列表,常用的操作是向两端添加元素,或者获得列表上的一个片段。列表类型内部是使用双向 链表实现的,所以向链表两端添加数据时间复杂度为O(1),获取越是接近两端的数据越快。不过其代价是通过索引访问元素比较慢rpush 将给定值推入列表的右端lpush 将给定值推入列表的左端lrange 获取列表在给定范围上的所有值lindex

2016-11-12 15:38:10 207

原创 Redis入门(一)字符串String

Redis简介Redis是一个字典结构的存储服务器,Redis实例提供多个用来存储数据的字典,客户端可以指定数据存储在哪个字典中,与关系型数据库创建数据库有点类似,可以把每个字典理解为一个数据库。每个数据库名称都是从0开始递增的数字,Redis默认支持16个数据库,可以通过配置参数databases来修改这一数字,Redis默认连接0号数据库,但可以通过select命令切换数据库编号,且R

2016-11-12 15:29:01 207

原创 Redis安装

Redis安装

2016-11-11 20:15:30 325

原创 Java并发(三)

终结任务cancel()和isCancel()方法被放到一个所有任务都可以看到的类中,这些任务通过检查sCancel()来确定何时终止自己。

2016-11-08 04:38:23 319

原创 Java并发(二)

使用多线程的一个基本问题:永远无法确定一个线程何时运行。比如:A坐在桌边拿起叉子要去吃盘子的最后一片食物,叉子快够着时A被挂起,然后B进入并吃掉最后一片食物。对于并发工作,需要某种方式来防止两个任务访问相同的资源。

2016-11-06 16:22:30 294

原创 Java并发(一)

使用Runnable接口编写run()方法,在run()中静态方法Thread.yield()的调用时对线程调度器的一种建议,可以将CPU从一个线程转义给另一线程。Runnable对象把自己提交给Thread构造器,调用Thread对象的start()方法为该线程执行初始化操作,然后调用Runnable的run()方法,以便在新线程中启动该任务。

2016-11-05 16:30:58 178

空空如也

空空如也

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

TA关注的人

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