自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mac安装homebrew

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

2023-04-02 23:08:10 93

原创 分布式事务 &CAP&BASE

分布式事务概念分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。CAP1、C:一致性(Consistency)指更新操作成功并返回客户端完成后,所有节点在同一时间的数据完全一致2、A:可用性(Availability)

2022-04-19 11:54:21 2424

原创 事务特性ACID与数据库隔离级别

1、原子性 Atomicity事务的原子性是指事务必须是一个院子的操作序列单元。事务中包含的各项操作在一次执行中,只允许出现以下两种状态之一-全部执行成功-全部不执行2、一致性 Consistency事务执行前后,数据库都处于一致性状态3、隔离性 Isolation并发环境下,事务是互相隔离的#隔离级别未授权读 Read Uncommited可以读到别的事务没有提交的数据授权读取 Read Commited大部分默认隔离级别 可以读到别的事务已经提交的同一行的数据可重复读 Repe.

2022-04-13 11:47:46 914

原创 Java 几种线程池——线程池系列(二)

参考http://www.iteye.com/topic/1118660http://jiaguwen123.iteye.com/blog/1017636http://www.cnblogs.com/gsonkeno/p/6607460.htmlThreadPoolExecutor为一些Executor提供了基本实现。是一个灵活的、稳定的线程池,允许各种定制。Executors 中的newCach...

2018-05-23 20:18:55 220

原创 Java 线程池大小估算——线程池系列(一)

一、大小估算首先要分析应用是计算密集型还是I/O密集型还是二者皆可对于计算密集型:有N个CPU,当线程池大小为N+1,通常能实现最优利用率。对于I/O密集型,计算方式:...

2018-05-23 20:14:49 1960

转载 Java变量类型及初始化顺序

一个类可以包含以下类型变量:局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。初始化

2016-02-16 17:16:44 664

转载 Redis生存时间--Redis系列八

1、设置生存时间EXPIRE key seconds  其中seconds参数表示键的生存时间,单位是秒,到期后Redis会自动删除它。PEXPIRE key Milliseconds  生存时间单位是毫秒EXPIREATPEXPIREAT返回值1 设置生存时间成功,0表示键不存在或者设置失败。2、查询剩余时间TTL key返回值为剩余生存时间, -1表示没有键或者

2015-10-22 15:52:02 5695 1

转载 Redis事务--Redis系列七

Redis中的事务(transaction)是一组命令的集合。事务同命令一样都是Redis最小执行单位,一个事务中的命令要么都执行,要么都不执行。1、事务命令将redis命令放在MULTI 和EXEC 之间MULTI 表示事务开始EXEC 表示提交事务1)、命令中有语法错误命令只要有一条错误命令,Redis会全部都不执行2)、命令中有运行错误错误命令不会

2015-10-22 15:42:05 550

转载 Redis数据类型之有序集合类型--Redis系列六

有序集合的时间复杂度是O(log(N))1、增加元素ZADD key score member[score member...]ZADD命令用来向有序集合中加入一个元素和该元素的分数,如果该元素已经存在则会用新的分数替换原来的分数。ZADD返回的是新加入到集合中元素的个数(不包含之前已经存在的元素)。分数支持双精度浮点数。+inf和-inf分别表示正无穷和负值支持两个元素的

2015-10-21 17:03:17 1066

转载 Redis数据类型之集合类型--Redis系列五

集合类型的键可以存储2^32-1个字符串集合类型和列表类型对比 集合类型列表类型存储内容至多2^32-1个字符串至多2^32-1个字符串有序性否是唯一性是否由于集合类型在Redis中使用空的散列表(hash table)实现的,所有这些操作的时间复杂度是O(1)。1、增加/删除元素

2015-10-21 14:19:29 1006

转载 Redis数据类型之列表类型--Redis系列四

三、列表类型可以存储有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的某一个片段。列表类型是使用双向链表实现的,添加元素时间复杂度为O(1),查询代价高常用命令:1、向列表两端增加元素LPUSH key value [value...]  从左端添加RPUSH key value [value...] 从右端添加2、从列表两端弹出元素弹出后数据将从

2015-10-21 13:42:55 547

转载 Redis数据类型之散列类型--Redis系列三

二、散列类型1、赋值与取值HSET key field value       给字段赋值HGET key field                  获取字段值HMSET key field value[field value ...]  集体赋值HMGET key field [field...]    集体取值HGETALL key

2015-10-21 12:04:24 404

转载 Redis数据类型之字符串类型--Redis系列二

Redis支持五种数据类型字符串类型、散列类型(Hash)、列表类型一、字符串类型常用操作命令:1、基本操作SET key value 设置值GET key            获取值DEL key            删除值2、增减操作INCR key         当存储的字符串是整数形式时,INCR可以让当前减值递增,并返回递增后的值,注意 当要操作

2015-10-21 12:02:01 1024

原创 Dubbo使用

Java好多东西的入门直接看开源的官网的用户指南即可Dubbo官网http://dubbo.io/点击用户指南看到例子Dubbo依赖  com.alibaba dubbo 2.5.3 spring org.springframework 需要注意使用zookeep

2015-09-18 18:20:35 2490

原创 Spring事务

一、Spring的xml头配置需要增加tx命名空间<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmln

2015-08-31 17:18:26 1405

原创 Hibernate3使用(三)Spring整合Hibernate自动扫描

1、spring xml文件配置<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="ht

2015-08-27 19:58:20 6004

原创 Hibernate3使用(二)Spring整合Hibernate,使用xml配置

1、spring xml文件配置这个时候hibernate.cfg.xml就可以不要了<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.

2015-08-27 19:51:39 1821

原创 Hibernate3使用(一)不使用Spring时使用Hibernate

1、创建hibernate配置文件hibernate.cfg.xml注意:配置文件名字必须是hibernate.cfg.xml主要配置两方面 dataSource和对应的实现类配置文件<!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://h

2015-08-27 19:43:25 956

转载 Apring中AOP使用

一、在XML中配置参见下图二、声明前置和后置通知其中展示了两种声明方法可以直接声明method="turnOffCellPhones" />也可以先声明切点expression="execution(* SpringStudy.Model.Counter.perform(..))" />然后用pointcut-ref指向该切点 <ao

2015-08-21 17:05:14 861

翻译 Spring的<aop:declare-parents>元素如何使用,有范例

原文地址:http://www.knowledgewalls.com/j2ee/books/spring-30-examples/how-to-use-aopdeclareparents-element-in-spring-framework-with-example提示:如下是一个如何使用Spring框架的元素的例步骤一、1、打开Eclipse2、点击 New -> Othe

2015-08-21 14:49:22 4604

原创 Spring自动检测Bean

一、xml配置Spring使用来自动检测Bean和定义Bean。 <context:include-filter type="assignable" expression="SpringStudy.Model.Counter"/> 二、使用注解标注类@Compoment —— 通用构造型注解,标识该类为Spring组件。@Controller

2015-08-17 17:48:21 704

原创 Spring使用注解装配

一、xml配置在Spring配置xml中增加 元素,表示要基于注解进行自动装配二、自动配置注解及使用支持的自动装配注解有:@Autowired Spring自带的注解@Inject  JSR-330的注解,和@Autowired类似@Resource JSR-250的注解使用1、将自动装配注解标注在需要装配的setter方法或者字段上(还有其他用法),即可进

2015-08-14 19:01:37 1224

原创 Spring中基于Java的配置@Configuration和@Bean用法

Spring中为了减少xml中配置,可以生命一个配置类(例如SpringConfig)来对bean进行配置。一、首先,需要xml中进行少量的配置来启动Java配置:<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc

2015-08-14 14:34:29 138863 10

原创 Spring自定义@Qualifier

Spring可以自定义@Qualifier例子代码如下:import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;im

2015-08-11 17:44:32 1976

原创 Mybatis Collection查询集合只出现一条数据

大坑如果两表联查,主表和明细表的主键都是id的话,明细表的多条只能查询出来第一条。

2015-07-31 18:13:17 5410 4

原创 Mybaits中Association元素使用

一、适用场景Association元素适用于处理一对一类型关系,如下结构 OrderFlow和custInfo是一对一的,OrderFlow和OrderFlowInvoice也是一对一的这种一对一的关系可以在一个表中也可以在多个表中例子中的OrderFlow和custInfo在一个表中,OrderFlow和OrderFlowInvoice在两个表中1、OrderFlow表的SQL如

2015-07-29 17:06:22 1575

原创 maven使用

maven使用

2015-07-13 18:19:13 487

转载 Java中SortedSet

SortedSet是个接口,它里面的(只有TreeSet这一个实现可用)中的元素一定是有序的。声明的主要接口Public Methodsabstract Comparatorcomparator()Returns the comparator used to compare elements in this SortedSet.返

2015-06-26 11:30:43 3520 1

原创 Java中ArrayList 的remove&removeall

从 ArrayList 中移除特定对象的第一个匹配项。removeall删除匹配的所有项目

2015-06-24 20:20:17 936 1

转载 Java代理与动态代理

一、简单代理代理类和被代理类实现相同的接口,具体代码如下:因为consumer()接收的是Inerface,所以无法知道正常获得的是RealObject还是SimpleProxy,因为它们都实现了Interface。SimpleProxy内部会调用RealObject,所以它会执行和RealObject上相同的方法。接口类package Resource.Proxy

2015-06-12 11:42:22 391

转载 Java中Split函数的用法技巧

在java.lang包中也有String.split()方法,与.net的类似,都是返回是一个字符型数组,但使用过程中还有一些小技巧。如执行:"2|33|4".split("|")出来的结果是:""2|33|4奇怪吧,不过注意看一下API说明还是知道原因的. java.lang.string.split

2015-05-26 17:11:59 745

原创 java中反向循环

方法一用迭代器hasPrevious方法,缺点需要循环两次注意,迭代器的游标开始指向第一个元素,必须先将迭代器运行到最后一个元素,再往前才能反向输出。否则将没有任何输出 ArrayList ar = new ArrayList(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8)); ar.trimToSize(); Iterator ite

2015-05-20 18:35:38 4449

转载 Iterable接口和foreach循环

1、java中大量的类都是Iterable类型,主要包括Collection类(但不包括各种Map)2、foreach语法主要用于数组,也可以应用于任何Collection对象(因为Collection实现了Iterable),          实际上能够应用于任何实现Iterable接口的类型。3、对于Map怎么循环呢?可以循环Map的key的集合Entry[](实现了Iterab

2015-05-20 10:19:31 5279

转载 java获取操作系统的环境变量

下面代码是获取操作系统的环境变量public static void main(String[] args) throws IOException {for(Map.Entry entry:System.getenv().entrySet()){ System.out.println(entry.getKey()+":"+entry.getValue()); }}

2015-05-20 10:00:05 530

转载 java容器类类库的关系

见图

2015-05-15 16:39:47 871

转载 Java内部类的作用

推荐一、 定义放在一个类的内部的类我们就叫内部类。二、 作用1.内部类可以很好的实现隐藏 一般的非内部类,是不允许有 private 与protected权限的,但内部类可以2.内部类拥有外围类的所有元素的访问权限3.可是实现多重继承4.可以避免修改接口而实现同一个类中两种同名方法的调用。三、   例子1.实现隐藏

2015-05-15 15:56:48 449

转载 java抽象类

1、如果一个类包含一个或者多个抽象方法,该类必须被限定为抽象的。(否则,编译器就会报错。)反之,抽象类可以包含非抽象方法。可以创建一个没有抽象方法的抽象类。2、创建抽象类和抽象方法可以使类的抽象性明确。抽象类还是很有用的重构工具,可以将公共方法沿着继承层次结构向上移动。

2015-05-13 10:13:25 515

转载 java协变函数

Java 5.0添加了对协变返回类型的支持,即子类覆盖(即重写)基类方法时,返回的类型可以是基类方法返回类型的子类。协变返回类型允许返回更为具体的类型class Grain{ public String toString(){ return "Grain"; }}class Wheat extends Grain{ public String t

2015-05-12 17:43:19 1079 1

转载 重载和重写的区别

http://www.cnblogs.com/bluestorm/archive/2012/03/01/2376236.html重再 相同的方法名有不同的参数(1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。(2) Java的方法重载,就是在类中可以创建

2015-05-11 10:20:49 526

原创 Java中枚举及其构造函数

一、最简单的枚举public enum Season{ Spring,Summer,Fall,Winter};二、带构造器的枚举注意:1、需要在枚举实例后面加上分号,然后再写构造函数等            2、枚举实例必须在前面            3、定义枚举的构造器方法带参,只能为private public enum EOrderTyper { /**

2015-04-30 14:40:58 18684

高性能mysql第三版

高性能mysql第三版《高性能MySQL》是分享MySQL实用经验的图书。它不但可以帮助MySQL初学者提高使用技巧,更为有经验的MySQL DBA指出了开发高性能MySQL应用的途径。 《高性能MySQL》包含14章和4个附录,内容覆盖MySQL系统架构、设计应用技巧、SQL语句优化、服务器性能调优、系统配置管理和安全设置、监控分析,以及复制、扩展和备份/还原等主题,每一章的内容自成体系,适合各领域技术人员作选择性的阅读。

2018-08-21

空空如也

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

TA关注的人

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