自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (6)
  • 问答 (1)
  • 收藏
  • 关注

原创 Redis缓存数据一致性

综上,针对cache处理方式和操作顺序进行分析,最终最靠谱的方案就是先更新DB,后删除Cache。但是如果业务场景要求为弱一致性或者最终一致性。先删除Cache后更新DB的方式也是可以接受的,同时安全起见,可以引入延时双删的策略。在写请求更新完DB后休眠一会儿,再次将缓存删除,可以达到最终一致性的要求。

2023-12-23 17:25:16 85

原创 Redis持久化

Redis是内存数据库,它将所有数据存储在内存。其优点是可以高速的读写,但是缺点是如果机器一旦宕机,数据也会消失。为了数据安全,Redis需要将内存的数据持久化到磁盘上。持久化方式有和。

2023-12-19 10:52:07 57

原创 Redis数据库

redisServer的参数比较多,主要的是**redisDb *db;**里面是每个数据库的存储信息,dbnum代表数据库的个数。

2023-12-03 18:53:44 193

原创 Redis对象

Redis根据基本数据结构构建了自己的一套对象系统。主要包括和同时不同的对象都有属于自己的一些特定的redis指令集,而且每种对象也包括多种编码类型,和实现方式。

2023-12-03 11:14:59 164

原创 Redis数据结构之压缩列表

每个节点的previous_entry_length保存着前一个节点的长度信息,如果前置节点发生变更时,previous_entry_length也会有可能变更。如果previous_entry_length长度发生变更,那么该节点的内存占用空间也会变更。如果本节点长度的变更,正好是后置节点的长度也在临界点(本节点长度更新后,节点长度大于254,且后置节点previous_entry_length发生变更,占用空间也由小于254变成了大于了254)发生空间占用变更。又再次引起其后置节点长度发生变化。

2023-12-02 16:17:29 77

原创 Redis数据结构之跳表

跳表是一种有序的数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。其核心思想就是通过建立多级索引来实现空间换时间。在Redis中,使用跳表作为Zset的一种底层实现之一,这也是跳表在Redis中的唯一使用场景。

2023-12-02 11:43:17 83

原创 Redis数据结构之字典

哈希的过程就是给定一个输入,然后经过指定的哈希函数,计算出一个输出。输入的值范围大于输出的值范围,所以一定存在某多个输入,经过哈希函数计算的输出是相等的。那么这些不同的输入就是发生了哈希碰撞。

2023-11-16 10:01:43 275

原创 Redis数据结构之SDS

redis构建了一种简单动态字符串(Simple Dynamic String, SDS),作为Redis的默认字符串表示。SDS除了被用于保存数据中的字符串值之外,还可以用作缓冲区。

2023-11-09 10:47:19 52

原创 Redis文件事件模型

Redis文件事件模型

2023-10-27 11:05:14 285

原创 Web服务器虚拟目录

刚开始接触Java Web开发。在进行Web应用执行时,可以把应用直接放到Tomcat服务器安装目录下面的webapps文件夹中,就可以直接被外界访问。但是如果将所有的应用如果都这样操作,难免会有很多的不便。入股Tomcat安装在C盘更是容易在C盘产生垃圾。针对这个问题,使用虚拟目录是一个不错的选择。

2015-07-24 16:13:07 5819

原创 dom、dom 4j解析xml文件

Dom解析Dom解析是将xml文件全部载入,组装成一颗dom树,然后通过节点以及节点之间的关系来解析xml文件。本文将先建立xml文件,然后通过dom解析器对xml文件进行解析,最后通过JUnit进行代码测试。

2015-07-24 15:11:58 648

原创 字符串

String类String类使用private final char value[]来实现字符串的存储,也就是说,String对象创建够,就不能再改变此对象中存储的字符串内容。

2015-07-12 15:38:34 400

转载 数组、链表、堆栈和队列

数据存储结构它是计算机的一个概念,简单讲,就是描述数据在计算机中存储方式的学科;常用的数据存储方式就两种:顺序存储,非顺序存储!顺序存储就是把数据存储在一块连续的存储介质(比如硬盘或内存)上

2015-07-10 14:50:29 2360

原创 抽象类

抽象类抽象方法和抽象类必须使用abstract修饰符来修饰,有抽象方法的类只能被定义为抽象类,抽象类里可以没有抽象方法。利用抽象类和抽象方法,我们可以更好地发挥多态的优势,让我们的程序更加灵活。

2015-07-09 19:33:16 653

原创 集合

集合类集合时用来只能存储其他对象的对象,代表了一种底层结构,用于扩展数组的功能。集合框架有一些列的接口和实现类组成,包括:列表(List)、集合(Set)、映射(Map)等,它们大多具有可迭代性和可比较性。Java容器类库一共有两种主要类型:Collection和Map

2015-07-09 17:23:50 410

原创 构造器

构造器(构造函数)构造器是一个特殊的方法,这个特殊方法用于创建类的实例。Java类必须包含一个或一个以上的构造器。构造器主要用于被其他方法来调用,用以返回该类的实例。构造器必须与类名相同。

2015-07-08 20:40:52 403

原创 this&super

this&superthis和super在java中是比较重要而且有点可比性的两个关键字。现在将this和super关键字的相关用法进行总结thisthis关键字使用在一个成员函数的内部,指向当前对象,当前对象指的是调用当前正在执行方法的那个对象。

2015-07-08 17:49:37 381

原创 多线程

一、线程概述线程和进程进程:正在运行的程序。线程:线程依赖于进程,CPU运行进程,其实就是在运行这个进程的线程。Java语言无法直接操作系统,比如IO和我们的线程都要依赖于第三方语言,java语言又把这些内容封装成类,多线程封装成一个类Thread。Java语言如果要实现多线程,必须依赖于Thread这个类。线程工作机理线程的随机原理:多个程序其实是CPU的在做着高效切换执行的二、创建线程方法一:继

2015-07-07 17:14:58 323

原创 异常

异常参考:http://www.cnblogs.com/xiohao/p/3547443.html在java程序运行时,常常会出现一些非正常的现象,这种情况被称为运行错误。根据其性质分为“错误”和“异常”。所有抛出(throw)的异常都必须被从Throwable派生而来。类Throwable有两个直接子类。Error类和Exception类。什么是错误Java对应的错误类为Error类。Error类

2015-04-21 17:50:09 421

原创 子线程实现UI更新

参考:http://www.cnblogs.com/lyroge/p/3837905.html 参考:http://www.cnblogs.com/codingmyworld/archive/2011/09/14/2174255.html#!comments概述我们开发应用程序的时候,处于线程安全的原因子线程通常是不能直接更新主线程(UI线程)中的UI元素的。但是一般网络编程中,业务实现是不提倡在

2015-04-20 14:56:47 559

原创 AlertDialog三种对话框的实现

参考:http://blog.csdn.net/woaieillen/article/details/7378324AlertDialog 概述对话框在程序中不是必备的,但是用好对话框能对我们编写的应用增色不少。采用对话框可以大大增加应用的友好性。一般的对话框有三种形式。分别为三种。分别为“确定、取消”对话框、“单选”对话框和“多选”对话框。分别如下图所示。 什么是DialogDialog

2015-04-19 17:41:24 1394

原创 使用SQLite创建数据库并显示于用户界面

菜鸟刚接触SQLite,敲了一个小Demo。用于测试SQLite。具体的SQLite的相关简介在此不再赘述。业务描述: 使用SQLite创建数据库,并插入相关数据。最终可以在avd用户界面读取并显示数据库内容。实现分析及步骤。 首先创建一个数据库,通过SQLiteOpenHelper进行数据库的创建,数据库创建的具体过程见后面代码。然后对创建的数据库,进行通过ContentValues来创建数据

2015-04-17 16:59:36 1667

原创 自动装箱,拆箱

自动装箱,拆箱参考:http://www.cnblogs.com/danne823/archive/2011/04/22/2025332.htmlJava包装类,Wrapper~~由于在java中,数据类型总共分为两大类,基本数据类型(值类型)和类类型(引用数据类型)。基本数据类型的数据不是对象,所以对于要将数据类型作为对象来使用的情况,java提供了相对应的包装类。所谓自动装箱,自动拆箱基本数据类

2015-04-14 17:05:39 376

原创 Java集合<二>List

使用接口List的get(int index)方法可以实现对列表的遍历。示例:创建Student对象,包含Name和Age两个属性。然后创建一个集合用于存储Student的对象。然后遍历集合,输出集合对象。/*创建Student类*/public class Student {     private String name ;     private 

2015-01-28 22:14:59 465

原创 Java集合<一>

Java的集合大致可分为:Set、List和Map三种体系。从JDK1.5以后,Java又增加了Queue体系集合。     为了保存数量不确定的数据,以及保存具有映射关系的数据,Java提供集合类。集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。所有集合类都位于java.util包下。     Set集合类似一个罐子,把一个对象添加到Set集合时,Set集合无法记住添加这个元

2015-01-27 20:48:45 413

原创 String&StringBuffer&StringBuilder

String、StringBuffer、StringBuilder被称为字符串三姐妹。在不考虑多线程的情况下,字符串效率为StringBuilder类>StringBuffer类>StringBuilder类String字符串在开发出是最常用的。为了方便我们对字符串的操作,Java把字符串进行了封装,这个封装类就是String类,属于java.lang包。常用构

2015-01-21 19:44:26 460

原创 Object(三)toString方法

toString方法:Java中的对象无法直接通过System.out.print()进行输出,因此Object类提供了toString()方法。Object 类中的 toString()方法默认返回一个字符串,该字符串由类名、@和此对象哈希码组成,这是没有实际用处的。因此可以通过重写toString方法可以实现有效字符串的输出。Java推荐自定义类时重写toString()方法。

2015-01-20 21:30:50 603

原创 Object类(二)equals方法

equals方法:          Java中的“==”比较的是引用的地址是否相同,而不是内存空间的内容是否相同     基本数据类型可以使用“==”进行判断,但是引用数据类型要想比较内容是否相同就不能使用“==”。int a=1; int b=1;内存图如下所示。示例演示equals方法     分析:首先定义一个Address类,定义add函数

2015-01-20 20:59:37 482

原创 Object类(一)Clone方法

Clone方法:     示例:Dog d1=new Dog();Dog d2=d1;此时赋值表示值传递。此时并不是将d1的值赋值于d2,而是将和d1共享一个地址。换句话说如果更改d2的值,则d1的值也会跟着做相应的改变。内存分配图如下。Object类的clone()方法创建并返回此对象的一个副本,是复制而非共享。克隆的过程是:在堆中新开辟一

2015-01-20 18:35:41 751

原创 Java之接口

接口定义的是多个类共同的公共行为规范,这些行为是外部交流的通道,这就意味着接口里通常是定义一组公用方法。定义接口不再使用class关键字,而是使用interface关键字。【修饰符】 interface 接口名 extends 父接口1 , 父接口2...{     零个到多个常量定义....     零个多多个抽象方法定义....}     语法说明:   

2015-01-20 12:56:53 498

原创 栈内存和堆内存

当一个方法执行时,每个方法都会建立自己的内存栈,在这个方法内定义的变量将会逐个放入这栈内存中。随着方法的执行结束,这个方法的内存栈也将自然销毁。因此,所有在方法中定义的变量都会放在栈内存中。当我们在程序中创建一个对象时,这个对象将被保存在【运行时数据区】,以便反复利用(因为对象的创建成本通常比较大),这个“运行时数据区”就是堆内存。对内存中的对象不会随方法的结束而销毁,即使方法结束后,这个对象还可

2015-01-19 20:41:45 407

PHP和MySQL Web开发(原书第4版)源码(包含Chapter02 和 Chapter03)

PHP和MySQL Web开发(原书第4版)源码 包含Chapter02 和 Chapter03!完整版!

2018-09-14

gradle-2.4-bin

在Android Studio开发时经常遇到Gradle的问题,因为科学上网,导致Gradle无法下载。

2016-03-05

gradle-2.10-bin

Android Studio开发时,总会遇见的Gradle无法更新下载的问题。下载该文件可以实现离线安装

2016-03-05

gradle-2.11-bin

在进行Android Studio开发时,遇到很多关于Gradle的问题。Gradle巍峨的长城,阻止了很多下载的路子。那么久向这看吧。

2016-03-05

液压经典试题

帮助液压学习,喜欢学习学习机械,学习机电,大家可以共享一些资料。

2013-04-21

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

TA关注的人

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